diff options
author | brianluau <brianluau@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2011-12-11 19:24:13 +0000 |
---|---|---|
committer | brianluau <brianluau@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2011-12-11 19:24:13 +0000 |
commit | fdbec1d35364a6d4fa3ac9d5942e14f5fdf47541 (patch) | |
tree | 5a35b6bc4108d8cb23fa75e0e32b97f22eb1ba12 /npc/jobs | |
parent | 338d99ce33637c33d20ceb636aebe0e25ab91665 (diff) | |
parent | 53453425e64412f22734ae9a783c853a3f17027e (diff) | |
download | hercules-fdbec1d35364a6d4fa3ac9d5942e14f5fdf47541.tar.gz hercules-fdbec1d35364a6d4fa3ac9d5942e14f5fdf47541.tar.bz2 hercules-fdbec1d35364a6d4fa3ac9d5942e14f5fdf47541.tar.xz hercules-fdbec1d35364a6d4fa3ac9d5942e14f5fdf47541.zip |
- Merged /branches/renewal/conf (partial)
- Merged /branches/renewal/db (only mob_db.txt and mob_skill_db.txt)
- Merged /branches/renewal/npc (full)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15060 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'npc/jobs')
-rw-r--r-- | npc/jobs/1-1/acolyte.txt | 202 | ||||
-rw-r--r-- | npc/jobs/1-1/archer.txt | 207 | ||||
-rw-r--r-- | npc/jobs/1-1/mage.txt | 723 | ||||
-rw-r--r-- | npc/jobs/1-1/merchant.txt | 1163 | ||||
-rw-r--r-- | npc/jobs/1-1/swordman.txt | 643 | ||||
-rw-r--r-- | npc/jobs/1-1/thief.txt | 614 | ||||
-rw-r--r-- | npc/jobs/3-1/archbishop.txt | 2290 | ||||
-rw-r--r-- | npc/jobs/3-1/rune_knight.txt | 3931 |
8 files changed, 6618 insertions, 3155 deletions
diff --git a/npc/jobs/1-1/acolyte.txt b/npc/jobs/1-1/acolyte.txt index a5342a2d3..611d99242 100644 --- a/npc/jobs/1-1/acolyte.txt +++ b/npc/jobs/1-1/acolyte.txt @@ -1,35 +1,17 @@ //===== eAthena Script ======================================= -//= Acolyte Job Quest +//= Renewal Acolyte Job Change //===== By: ================================================== -//= kobra_k88; L0ne_W0lf +//= Kisuka //===== Current Version: ===================================== -//= 2.2 +//= 1.1 //===== Compatible With: ===================================== //= eAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] -//= Job quest for Acolyte classes +//= Job Change to Acolyte Class //===== Additional Comments: ================================= -//= v1.0 Fully working. -//= v1.1 Added function calls for Priest Quest. -//= v1.2 Fixed Marthilda, Yosuke bugs. [Lupus] -//= v1.2a Added instant job change for High Novice [Lupus] -//= v1.3 Added Baby Class support [Lupus] -//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] -//= 1.5 Now saves/restores all quest skills [Lupus] -//= 1.6 Merged back JFunc [Lupus] -//= 1.7 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] -//= No longer uses function "F_ToHigh" -//= Proper dialog for Priest job quest is unused (for now.) -//= 1.7a Functions now make use of proper priest quest dialog [L0ne_W0lf] -//= 1.8 Removed an Unnecessary "set job_acolyte_q,0;" [Samuray22] -//= 1.8a More bug fixes care of Crashy. [L0ne_W0lf] -//= 1.9 Changed Marthilda to Mathilda. [L0ne_W0llf] -//= 2.0 Fixed High Acolytesnot being given holy light. [L0ne_W0lf] -//= 2.1 Added Quest Log commands. [L0ne_W0lf] -//= 2.2 Fixed an issue with completequest by adding checkquest. [Kisuka] +//= 1.0 First Version. [Kisuka] +//= 1.1 Added back the npcs used for the priest quest. //============================================================ - prt_church,184,41,4 script Cleric#aco 60,{ if (Upper == 1) { if (ADVJOB == Job_High_Priest || ADVJOB == Job_Champion) { @@ -62,14 +44,12 @@ prt_church,184,41,4 script Cleric#aco 60,{ mes "[Father Mareusis]"; mes "Now, venture forth and seek those who need your help. May God light your path."; close; - } - else { + }else{ mes "[Father Mareusis]"; mes "Now, venture forth to seek people who need your help. May God enlighten your way."; close; } - } - else { + }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; @@ -81,166 +61,50 @@ prt_church,184,41,4 script Cleric#aco 60,{ mes "[Father Mareusis]"; mes "What is it that you seek?"; next; - switch(select("Father, I want to be a Acolyte.:Acolyte Requirements.:Just looking around.")) { + switch(select("Change your job to acolyte.:Ask the requirements to be an acolyte.:Quit it.")) { case 1: - mes "[Father Mareusis]"; - if (BaseJob == Job_Acolyte) { - mes "Are you feeling okay today? I can tell by your attire that you are already an Acolyte. You're not joking around, are you?"; - close; - } - else if (BaseJob != Job_Novice) { - mes "I'm sorry, but we can only accept Novices as applicants for the job change to Acolyte."; + if(Class != Job_Novice) { + mes "[Father Mareusis]"; + if(Class == Job_Acolyte) { + mes "Are you feeling okay today? I can tell by your attire that you are already an Acolyte. You're not joking around, are you?"; + }else{ + mes "I'm sorry but it seems you already have your own job, aren't you?"; + } close; - } - if (job_acolyte_q == 0) { - mes "Do you truly"; - mes "wish to become"; - mes "a servant of God?"; + }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 (select("Yes Father, I do.:Nope, I lied.") == 1) { + if (getskilllv("NV_BASIC") < 9) { mes "[Father Mareusis]"; - mes "Good. I accept " + strcharinfo(0) + "'s will to become an Acolyte. You understand that you must do penance before you can become a servant of God, right?"; - next; - mes "[Father Mareusis]"; - mes "Well, I will"; - mes "give you a mission..."; - switch(rand(3)) { - default: - set job_acolyte_q,2; - mes "Please visit ^000077Father Rubalkabara^000000, a member of the Prontera Parish, and return here. He has been practicing asceticism in the ^000077Relics NorthEast of Prontera City^000000."; - setquest 1001; - break; - case 1: - set job_acolyte_q,3; - mes "Please visit ^000077Mother Mathilda^000000 and then return to me. She has been practicing asceticism near ^000077Morroc Town, SouthWest of Prontera City^000000."; - setquest 1002; - break; - case 2: - set job_acolyte_q,4; - mes "Please visit ^000077Father Yosuke^000000 and return here. He has been practicing asceticism around ^000077a bridge somewhere NorthWest of Prontera^000000."; - setquest 1003; - break; - } - next; - mes "[Father Mareusis]"; - mes "May the grace of God light your path and guide you during your journey of penance."; + mes "Oh my?! You haven't accomplished the basic practice yet?! You have a long way to go! Come again after increasing your job level!"; close; } mes "[Father Mareusis]"; - mes "You lied?"; - mes "It is good that you"; - mes "have confessed your"; - mes "wrongdoing. Go in"; - mes "peace, my son."; - close; - } - mes "Oh, you've come back. Let me check and see if you are ready to serve God. Let's see..."; - next; - mes "[Father Mareusis]"; - if (getskilllv("NV_BASIC") < 9) { - mes "Good Lord! Haven't you accomplished the Basic Training yet?! It's important that you finish that!"; + mes "Hmm... your job level is enough..."; + mes "Good. Now I will give you the qualification to become an Acolyte."; next; mes "[Father Mareusis]"; - mes "You should have trained more! Go back and make sure you reach Novice Job Level 9 and learn all of the Basic Skills!"; - close; - } - if (job_acolyte_q < 5) { - mes "Oh? I can't find your name on the Registration List."; - next; - switch(job_acolyte_q) { - case 2: - mes "[Father Mareusis]"; - mes "Please visit ^000077Father Rubalkabara^000000, a member of the Prontera Parish, and return here."; - next; - mes "[Father Mareusis]"; - mes "He has been practicing asceticism in the ^000077Relics at the NorthEast of Prontera City^000000."; - break; - case 3: - mes "[Father Mareusis]"; - mes "Please Visit ^000077Mother Mathilda^000000 and return here to me."; - next; - mes "[Father Mareusis]"; - mes "She has been practicing asceticism near ^000077Morroc Town, located SouthWest of Prontera City^000000."; - break; - case 4: - mes "[Father Mareusis]"; - mes "Please visit ^000077 Father Yosuke ^000000 and return here to me."; - next; - mes "[Father Mareusis]"; - mes "He has been practicing asceticism near a ^000077bridge somewhere to the NorthWest of Prontera^000000."; - break; - } + mes "Always remember to be thankful to God, who takes care of us all the time. In chaos and times of difficulty, face your hardships with unwavering faith."; + jobchange Job_Acolyte; + getitem 1545,1; // N_Mace next; mes "[Father Mareusis]"; - mes "May the grace of God brighten your path and guide you on your journey of penance."; + mes "Lastly, I want to sincerely congratulate you on persevering through your trial of penance."; close; } - mes "Hmm..."; - mes "Your name is on the list and you've proven your qualification."; - next; - mes "[Father Mareusis]"; - mes "I am proud to say that you are now ready to become an Acolyte!"; - next; - skill 143,0,0; - callfunc "Job_Change",Job_Acolyte; - callfunc "F_ClearJobVar"; - if(checkquest(1001) != -1) { - completequest 1001; - } - else if(checkquest(1002) != -1) { - completequest 1002; - } - else { - completequest 1003; - } - 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? You must fulfill two requirements."; + mes "Do you wish to become an Acolyte?"; + mes "Then, you must fulfill the following requirements thinking those are the practices given by God."; next; mes "[Father Mareusis]"; - mes "First, you have to reach at least Novice Job Level 9 and learn all of the Basic Skills. Second, you will be given a trial of penance to overcome."; - next; - mes "[Father Mareusis]"; - if (job_acolyte_q != 0) { - switch(job_acolyte_q) { - case 2: - mes "For your trial, please visit ^000077Father Rubalkabara ^000000 and then return here to me."; - next; - mes "[Father Mareusis]"; - mes "He is practicing asceticism in the ^000077Relics at the NorthEast of Prontera City^000000."; - break; - case 3: - mes "For your trial, please visit ^000077Mother Mathilda^000000 and return here to me."; - next; - mes "[Father Mareusis]"; - mes "She has been practicing asceticism near ^000077Morroc, located to the SouthWest of Prontera City^000000."; - break; - default: - mes "For your trial, please visit ^000077Father Yosuke^000000 and return here to me."; - next; - mes "[Father Mareusis]"; - mes "He has been practicing asceticism around a bridge somewhere ^000077NorthWest of Prontera^000000."; - break; - } - next; - mes "[Father Mareusis]"; - mes "May the grace of God light your path and guide you on your journey of penance."; - } - else { - mes "The destination for this trial will be decided once you fill the application form."; - } + mes "First, you have to reach at least Novice Job Level 9 and learn all of the Basic Skills."; + mes "This is the most basic thing to do, so you need to regard it as the way of training yourself."; next; mes "[Father Mareusis]"; - mes "Please come back after fulfilling the two requirements I've asked of you. As long as your desire to serve God and others is sincere, you will be able to make it."; + mes "When you think you fulfilled this requirement, then come back to me again. Then you will have a holy job in which you can spread God's will."; close; case 3: close; diff --git a/npc/jobs/1-1/archer.txt b/npc/jobs/1-1/archer.txt index e42860334..21577a88a 100644 --- a/npc/jobs/1-1/archer.txt +++ b/npc/jobs/1-1/archer.txt @@ -1,29 +1,16 @@ //===== eAthena Script ======================================= -//= Archer Job Quest +//= Renewal Archer Job Change //===== By: ================================================== -//= kobra_k88; L0ne_W0lf +//= Kisuka //===== Current Version: ===================================== -//= 1.9 +//= 1.0 //===== Compatible With: ===================================== //= eAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] -//= Job quest for Archer classes +//= Job Change to Archer Class //===== Additional Comments: ================================= -//= Fully working -//= v1.1 Added instant job change for High Novice [Lupus] -//= v1.3 Added Baby Class support [Lupus] -//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] -//= 1.5 Now saves/restores all quest skills [Lupus] -//= 1.6 Merged back JFunc [Lupus] -//= 1.7 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] -//= Arrow reward is now equal to the type sof trunks brought. -//= No longer uses function "F_ToHigh" -//= 1.7a Fixed minor dialogue bug at Grade==25 [Lupus] -//= 1.8 Fixed mistake in condition check. [L0ne_W0lf] -//= 1.9 Added Quest Log commands. [L0ne_W0lf] +//= 1.0 First Version. [Kisuka] //============================================================ - payon_in02,64,71,4 script Archer Guildsman#archer 85,{ if (Upper == 1) { if (Class == Job_Novice_High && (ADVJOB == Job_Sniper || ADVJOB == Job_Clown || ADVJOB == Job_Gypsy)) { @@ -59,8 +46,7 @@ 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 { + }else{ mes "[Archer Guildsman]"; mes "Oh...?"; mes "Hey, what are"; @@ -73,174 +59,71 @@ payon_in02,64,71,4 script Archer Guildsman#archer 85,{ } } mes "[Archer Guildsman]"; - mes "Good day. How may I help you?"; + mes "Nice to meet you. How may I help you?"; next; switch(select("I want to be an Archer.:I need the requirements, please.:Nothing, thanks.")) { case 1: - if (BaseJob == Job_Archer) { - mes "[Archer Guildsman]"; - mes "You've already become an Archer..."; - close; - } - else if (BaseJob != Job_Archer && BaseJob != Job_Novice) { + if(Class != Job_Novice) { mes "[Archer Guildsman]"; - mes "Hmm..."; - mes "You don't look much like a Novice at all..."; - next; - mes "[Archer Guildsman]"; - mes "Anyway, whatever you are, you can't choose a job as an Archer because you have a job already."; + 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; - } - if (job_archer_q == 0) { + }else{ mes "[Archer Guildsman]"; - mes "Do you want to be an Archer?"; - mes "If so, you need to fill out this application form."; + mes "You are... "+strcharinfo(0)+". right?"; next; - if (select("Apply.:Cancel") == 1) { - set job_archer_q,1; - setquest 1004; + if (getskilllv("NV_BASIC") < 9) { mes "[Archer Guildsman]"; - mes "Okay, sign here. Alright, um, I'll promote you once you meet the requirements."; + mes "Well, you're not at the right skill level."; + mes "Your job level must be at least ^4A4AFF10^000000 and your Basic Skill level should reach ^4A4AFFlevel 9"; next; mes "[Archer Guildsman]"; - mes "If you think you've met them already, we can check that now."; - mes "Are you ready?"; - next; - if (select("Yes, I am.:No, not yet.") == 1) { - mes "[Archer Guildsman]"; - mes "Alright, let me check."; - next; - } - else { - mes "[Archer Guildsman]"; - mes "I understand. Be my guest if you want to look at the requirements."; - close; - } + mes "Because an Archer needs extremely high concentration, so we do not accept those who have little patience."; + close; } mes "[Archer Guildsman]"; - mes "Well, alright."; - mes "See you next time."; - close; - } - mes "[Archer Guildsman]"; - mes "Are you..." + strcharinfo(0) + "?"; - next; - if (getskilllv("NV_BASIC") < 9) { - mes "[Archer Guildsman]"; - mes "Well, you're not at the right job level. Please check the requirements again."; + mes "Your Basic Skill is now enough.."; + mes "....Hm~~ so you are now ready to be an Archer. I will take the step right away."; next; mes "[Archer Guildsman]"; - mes "Your job level must be at least 10, and don't forget you should learn all of the Basic Skills. Once you've done that, come back."; - close; - } - if (job_archer_q == 1) { - set .@archer_item1,countitem(1066) * 5; - set .@archer_item2,countitem(1067) * 3; - set .@archer_item3,countitem(1068) * 2; - set .@archer_item4,countitem(1019); - set .@total_archer,.@archer_item1 + .@archer_item2 + .@archer_item3 + .@archer_item4; - set .@total_archer2,(((.@archer_item2 + .@archer_item3) * 2) + .@archer_item4); - mes "[Archer Guildsman]"; - mes "Excellent!"; - mes "Now then,"; - mes "let's see..."; + mes "Congratulations! You are now an Archer! Also, we hope that you actively participate in many programs for the revival of the Archer Guild."; + mes "Ah, items have arrived from the Production Department. Here, take these! These are all yours!"; + jobchange Job_Archer; + getitem 1742,1; // N_Composite_Bow + getitem 12004,1; // Arrow_Container + getitem 12009,1; // Silver_Arrow_Container + getitem 12008,1; // Fire_Arrow_Container next; mes "[Archer Guildsman]"; - mes "I will appraise the value of the various types of Trunks, needed to produce a Bow, that you've brought."; - next; - if (countitem(1066) == 0 && countitem(1067) == 0 && countitem(1068) == 0 && countitem(1019) == 0) { - mes "[Archer Guildsman]"; - mes "Um..."; - mes "Unfortunately you didn't bring any of the required items. There's nothing for me to appraise."; - close; - } - mes "[Archer Guildsman]"; - if (countitem(1066) != 0) mes " Grade S : " + countitem(1066) + " ea, Grade: " + .@archer_item1 + " . "; - if (countitem(1067) != 0) mes " Grade A : " + countitem(1067) + " ea, Grade : " + .@archer_item2 + " . "; - if (countitem(1068) != 0) mes " Grade B : " + countitem(1068) + " ea, Grade : " + .@archer_item3 + " . "; - if (countitem(1019) != 0) mes " Grade C : " + countitem(1019) + " ea, Grade : " + .@archer_item4 + " . "; - if (.@total_archer < 25) { - mes "Total Grades: ^FF0000" + .@total_archer + "^000000 / 40"; - next; - mes "[Archer Guildsman]"; - mes "Less than 25!? You have to get a grade of at least 25! Come on, try harder!"; - close; - } - else { - mes "Total Grades: ^0000FF" + .@total_archer + "^000000 / 40"; - next; - mes "[Archer Guildsman]"; - if (.@total_archer > 40) { - mes "Wow! More than 40!"; - mes "Excellent! Congratulations!"; - } - else if (.@total_archer > 30) { - mes "More than 30! Nice job!"; - mes "Congratulations!"; - } - else { - mes "*Sigh* Well, you just barely passed... Anyway, well done."; - } - } - next; - mes "[Archer Guildsman]"; - mes "I'll transfer these Trunks to our Bow Production Department. Now that you've met the requirements, let me promote you right away!"; - if (countitem(1066) != 0) delitem 1066,countitem(1066); //Tree_Of_Archer_1 - if (countitem(1067) != 0) delitem 1067,countitem(1067); //Tree_Of_Archer_2 - if (countitem(1068) != 0) delitem 1068,countitem(1068); //Tree_Of_Archer_3 - if (countitem(1019) != 0) delitem 1019,countitem(1019); //Wooden_Block + mes "Having a bow and arrows, now you became a real Archer."; + mes "If you open the arrow container, there are arrows in it and then you can equip them."; + mes "Well, I expect to hear better news from you. It's time to say goodbye."; + mes "Bye."; + close; } - next; - callfunc "Job_Change",Job_Archer; - callfunc "F_ClearJobVar"; - completequest 1004; - mes "[Archer Guildsman]"; - mes "Congratulations!"; - mes "You are now an Archer!"; - next; - mes "[Archer Guildsman]"; - mes "Of course, we expect that you will help contribute towards the future of the Archer Guild with your efforts."; - next; - mes "[Archer Guildsman]"; - mes "Ah, your bow has arrived from the Bow Production Department. Here, take it! It's yours~"; - getitem 1702,1; //Bow_ - getitem 1750,.@total_archer2; //Arrow - next; - mes "[Archer Guildsman]"; - mes "Now, off you go. Hunt with pride, knowing you were trained by one of the best!"; - close; case 2: mes "[Archer Guildsman]"; - mes "I will explain the requirements for being an Archer."; - if (BaseJob != Job_Novice) { - if (BaseJob == Job_Archer) { - next; - mes "[Archer Guildsman]"; - mes "But..."; - mes "You're already an Archer. You should know these already..."; - } - else { - next; - mes "[Archer Guildsman]"; - mes "Wait a second. You've chosen a different job already. You don't need to know this~"; - } - mes "So...Yeah...no real reason to tell you the requirements..."; - } + 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 "First of all, you have to the Job Level 9 as a Novice, and know all of the Basic Skills."; + mes "Although an Archer has weaker HP, he or she can shoot enemies at a long range,"; + mes "so an Archer is safer in a real battle."; next; mes "[Archer Guildsman]"; - mes "An Archer needs extremely high concentration and reflexes, so we do not accept those who have little patience."; + mes "Although an Archer in Ragnarok has lower HP, he or she has high accuracy and attack rate so that the archer can kill monsters before they get close to an Archer."; next; mes "[Archer Guildsman]"; - mes "You also have to gather ^FF0000Trunks^000000. There are 4 different types of Trunks, each of differing quality. You'll be given different grades for your Trunks, depending on their quality."; - next; - mes "[Archer Guildsman]"; - mes "In order to become an Archer, you must receive a grade of at least ^0000FF25^000000 points out of 40. You can get Trunks from 'Willow,' the tree. Be careful, though. They can be tough monsters."; + mes "^8C2121An Archer can change jobs to a Hunter.^000000"; + mes "^8C2121Other than Hunter, if you are a man, you can change your job to Bard and if you are a woman, you can change your job to Dancer.^000000"; close; case 3: + mes "[Archer Guildsman]"; + mes "If you have any questions, feel free to come and ask me."; close; } -} - +}
\ No newline at end of file diff --git a/npc/jobs/1-1/mage.txt b/npc/jobs/1-1/mage.txt index ff4624e99..2899d407c 100644 --- a/npc/jobs/1-1/mage.txt +++ b/npc/jobs/1-1/mage.txt @@ -1,30 +1,17 @@ //===== eAthena Script ======================================= -//= Mage Job Quest +//= Renewal Mage Job Change //===== By: ================================================== -//= kobra_k88; L0ne_W0lf +//= Kisuka //===== Current Version: ===================================== -//= 1.9 +//= 1.0 //===== Compatible With: ===================================== //= eAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] -//= Job quest for Mage classes +//= Job Change to Mage Class //===== Additional Comments: ================================= -//= Fully working -//= 1.1 Fixed input ingridients bug [Lupus] -//= v1.2 Added instant job change for High Novice [Lupus] -//= 1.3 Added Baby Class support [Lupus] -//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] -//= 1.5 Now saves/restores all quest skills [Lupus] -//= 1.6 Merged back JFunc, CHANGED NUMBERS TO CONSTANTS [Lupus] -//= 1.7 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] -//= No longer uses function "F_ToHigh" -//= 1.7a Fixed a "If" in the quest. (bugreport:489) [Samuray22] -//= 1.8 Added Quest Log commands. [L0ne_W0lf] -//= 1.9 Fixed an issue with completequest by adding checkquest. [Kisuka] +//= 1.0 First Version. [Kisuka] //============================================================ - -geffen_in,164,124,4 script Mage Guildsman 123,{ +geffen_in,164,124,4 script Mage Guildsman#mage 123,{ if (Upper == 1) { if (ADVJOB == Job_High_Wizard || ADVJOB == Job_Professor) { if (Class == Job_Novice_High) { @@ -51,14 +38,12 @@ geffen_in,164,124,4 script Mage Guildsman 123,{ mes "[Mage Guildsman]"; mes "Wow, for some reason, you look way better than you did before. Anyway, I believe you will do a better job being a Mage as well."; close; - } - else { + }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 { + }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; @@ -67,670 +52,80 @@ geffen_in,164,124,4 script Mage Guildsman 123,{ close; } } - mes "[Mage Guildsman]"; - mes "Yo. What's up?"; - next; - switch(select("I want to be a Mage.:Tell me the Requirements.:Pretty much nothing.")) { - case 1: + if(Class != Job_Novice) { mes "[Mage Guildsman]"; - if (BaseJob == Job_Mage) { - mes "Hey, haven't you realized? You're aleady a Mage, silly!"; - next; - 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!"; - close; + }else{ + mes "Hey~ C'mon. Quit playing games. You can't be a Mage because you already have another Job."; } - if (BaseJob != Job_Novice) { - mes "Hey~ C'mon. Quit playing games. You can't be a Mage because you already have another Job."; - close; - } - if (job_magician_q == 0) { - mes "Wanna be a Mage, eh...?"; - if (sex) + close; + }else{ + mes "[Mage Guildsman]"; + mes "Hey?"; + next; + switch(select("I want to be a Mage:What are the requirements to be a Mage?:Nothing, thanks.")) { + case 1: + mes "[Mage Guildsman]"; + mes "Wanna be a Mage? Eh..."; + next; + mes "[Mage Guildsman]"; + if (Sex) { mes "Hey, look at you! You're kinda cute~! Not my type though..."; - else { + }else{ mes "Oooh, you're such a hot babe~!"; mes "I like girls like you~"; } + mes "Right, you said that you wanna be a Mage?"; next; - mes "[Mage Guildsman]"; - mes "Right, you said that you wanna be a Mage? Alright then, please sign the Mage Application."; - next; - if (select("Sign Up.:Quit.") == 1) { - mes "[Mage Guildsman]"; - mes "Okay. Sign right there. Oh, you're very good at spelling. Alright. So your name is... " + strcharinfo(0) + "."; - next; - mes "[Mage Guildsman]"; - mes "Now it's time for"; - mes "me to give you the test."; - switch(rand(3)) { - case 1: - mes "Make me a ^3355FFMixed Solution No. 1^000000"; - mes "and bring it back to me."; - set job_magician_q,1; - break; - case 2: - mes "Make me a ^3355FFMixed Solution No. 2^000000"; - mes "and bring it back to me."; - set job_magician_q,2; - break; - case 3: - mes "Make me a ^3355FFMixed Solution No. 3^000000"; - mes "and bring it back to me."; - set job_magician_q,3; - break; - default: - mes "Make me a ^3355FFMixed Solution No. 4^000000"; - mes "and bring it back to me."; - set job_magician_q,4; - } - next; - getitem 1092,1; //Empty_Cylinder + if(select("I want to be a Mage.:Nothing, thanks.") == 2) { mes "[Mage Guildsman]"; - mes "You can find the neccessary ingredients inside the Guide Book in this Guild. So you better look up what you need before you go."; - next; - mes "[Mage Guildsman]"; - mes "Once you collect all the ingredients you, use the machine in the center of the room to mix the solution. Good luck!"; + mes "Whaaaaat~?! Right after you tell me that you wanna become a Mage, you change your mind?! Be a bit more decisive!"; close; } mes "[Mage Guildsman]"; - mes "Whaaaaat~?! Right after you tell me that you wanna become a Mage, you change your mind?! Be a bit more decisive!"; - close; - } - mes "Yeah? Ready...?"; - if (getskilllv("NV_BASIC") < 9) { - mes "Oh, what a bummer. You haven't met the requirements yet."; - next; - mes "[Mage Guildsman]"; - mes "Go back and reach Novice Job level 9 first. Don't forget that you also have to learn all of the Basic Skills before you come back."; - close; - } - mes "" + strcharinfo(0) + "'s test was..."; - if (job_magician_q == 1) - mes "Making Mixed Solution No. 1."; - else if (job_magician_q == 2) - mes "Making Mixed Solution No. 2."; - else if (job_magician_q == 3) - mes "Making Mixed Solution No. 3."; - else - mes "Making Mixed Solution No. 4."; - next; - mes "[Mage Guildsman]"; - mes "Okay, let me"; - mes "check if you made your"; - mes "solution accurately..."; - next; - mes "[Mage Guildsman]"; - if (countitem(1071) == 0 && countitem(1085) == 0 && countitem(1086) == 0 && countitem(1087) == 0 && countitem(1090) == 0) { - mes "Hey, where's the Solution"; - mes "I asked for...? I can't check it if you don't show it to me, right?"; - close; - } - else { - if ((job_magician_q == 1 && countitem(1071) == 0) || (job_magician_q == 2 && countitem(1085) == 0) || (job_magician_q == 3 && countitem(1086) == 0) || (job_magician_q == 4 && countitem(1087) == 0)) { - mes "Wait."; - mes "This isn't the"; - mes "Solution I asked for!"; - next; - mes "[Mage Guildsman]"; - if (job_magician_q == 1) - mes "You're supposed to make Mixed Solution No. 1 and bring it back to me. Now go and try it again."; - else if (job_magician_q == 2) - mes "You're supposed to make Mixed Solution No. 2 and bring it back to me. Now go and try it again."; - else if (job_magician_q == 3) - mes "You're supposed to make Mixed Solution No. 3 and bring it back to me. Now go and try it again."; - else - mes "You're supposed to make Mixed Solution No. 4 and bring it back to me. Now go and try it again."; - - if (countitem(1071) != 0) delitem 1071,1; //Mage_Test_1 - else if (countitem(1085) != 0) delitem 1085,1; //Mage_Test_2 - else if (countitem(1086) != 0) delitem 1086,1; //Mage_Test_3 - else if (countitem(1087) != 0) delitem 1087,1; //Mage_Test_4 - else delitem 1090,1; //Mage_Test_Etc + if (getskilllv("NV_BASIC") < 9) { + mes "Oh, man your Basic Skill Level doesn't reach enough to be a Mage."; + mes "Go back and level up your Basic Skill."; close; } - } - if (countitem(1071) != 0) delitem 1071,1; //Mage_Test_1 - else if (countitem(1085) != 0) delitem 1085,1; //Mage_Test_2 - else if (countitem(1086) != 0) delitem 1086,1; //Mage_Test_3 - else if (countitem(1087) != 0) delitem 1087,1; //Mage_Test_4 - else delitem 1090,1; //Mage_Test_Etc - mes "Hmm. I can see that you tried really hard. For a beginner's attempt, this is really good."; - mes "Great work!"; - next; - mes "[Mage Guildsman]"; - mes "Alright! I'm pleased to say that you've passed the Mage Test. I will transform you right away!"; - next; - mes "[Mage Guildsman]"; - mes "*Ahem*"; - mes "Congratulations!"; - mes "You are now a Mage!"; - next; - callfunc "Job_Change",Job_Mage; - callfunc "F_ClearJobVar"; - set Zeny,Zeny+50; - if(checkquest(1005) != -1) { - completequest 1005; - } - else if(checkquest(1006) != -1) { - completequest 1006; - } - else if(checkquest(1007) != -1) { - completequest 1007; - } - else { - completequest 1008; - } - mes "[Mage Guildsman]"; - mes "'Welcome to My World~'"; - mes "Heh heh, I just wanted to say that. You know, it's a quote from a well-known movie~"; - next; - mes "[Mage Guildsman]"; - mes "Now that you're a Mage just like us, let's be friends, okay?"; - close; - case 2: - mes "[Mage Guildsman]"; - mes "Wanna be a Mage, eh?"; - if (sex) - mes "For a cutie like you, I'd be happy to explain the requirements!"; - else - mes "I'd be happy to explain the requirements for a pretty girl like you!"; - next; - mes "[Mage Guildsman]"; - mes "First of all, you have to reach Novice Job Level 10 and learn all of the Basic Skills. Then, you'll have to pass the Mage Test."; - next; - if (job_magician_q != 0) { + mes "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 "Your test is to"; - switch(job_magician_q) { - case 1: - mes "make me a"; - mes "^3355FFMixed Solution No. 1^000000"; - mes "and bring it back to me."; - setquest 1005; - break; - case 2: - mes "make me a"; - mes "^3355FFMixed Solution No. 2^000000"; - mes "and bring it back to me."; - setquest 1006; - break; - case 3: - mes "make me a"; - mes "^3355FFMixed Solution No. 3^000000"; - mes "and bring it back to me."; - setquest 1007; - break; - default: - mes "make me a"; - mes "^3355FFMixed Solution No. 4^000000"; - mes "and bring it back to me."; - setquest 1008; - } + 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 "You can look up the ingredients you'll need to make the Solution inside the Guide Book in this Guild."; - } - else { + 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 "You will be informed as to which Mixed Solution you will need to create after signing the application form."; - } - next; - mes "[Mage Guildsman]"; - mes "Let me know when you are ready to become a Mage, alright?"; - close; - case 3: - mes "[Mage Guildsman]"; - mes "Nothing...?"; - close; - } -} - -geffen_in,164,112,4 script Mixing Machine 111,{ - mes "[Mixing Machine]"; - mes "This machine is the property of the Geffen Mage Guild and is used only for mixing solutions for magic purposes."; - next; - if (select("Use Machine.:Cancel.") == 1) { - mes "[Mixing Machine]"; - mes "Choose the"; - mes "Solvent for"; - mes "the Solution."; - next; - switch(select("Payon Solution.:Morroc Solution.:No Solvent.")) { - case 1: - if (countitem(1089) == 0) { - mes "[Mixing Machine]"; - mes "Error."; - mes "Cannot find the item."; - mes "Please check again."; - mes "Process Halting."; - close; - } - set .@mixitem2,1; - break; - case 2: - if (countitem(1088) == 0) { - mes "[Mixing Machine]"; - mes "Error."; - mes "Cannot find the item."; - mes "Please check again."; - mes "Process Halting."; - close; - } - set .@mixitem2,2; - break; - case 3: - set .@mixitem2,0; - break; - } - while (1) { - if (.@progress == 2) { - mes "[Mixing Machine]"; - if (.@mixitem1_1 != 0) mes "Jellopy: " + .@mixitem1_1 + " ea."; - if (.@mixitem1_2 != 0) mes "Fluff: " + .@mixitem1_2 + " ea."; - if (.@mixitem1_3 != 0) mes "Milk: " + .@mixitem1_3 + " ea."; - if (.@mixitem2 == 0) mes "Solvent: None."; - if (.@mixitem2 == 1) mes "Solvent: Payon Solution."; - if (.@mixitem2 == 2) mes "Solvent: Morroc Solution."; - next; - mes "[Mixing Machine]"; - mes "Please choose if you wish to begin mixing, or to re-enter the number of items to be mixed."; - next; - switch(select("Begin Mixing.:Re-Enter Number of Items.:Reset.")) { - case 1: - mes "[Mixing Machine]"; - mes "Please place the items into the Mixing Receptacle. Make sure the item amounts are correct."; - next; - mes "[Mixing Machine]"; - mes "You cannot adjust or restore items once they are placed into the Mixing Receptacle."; - next; - mes "[Mixing Machine]"; - mes "If everything is correct, press the 'Mix' button when you are ready. Otherwise, press the 'Cancel' button."; - next; - if (select("Press 'Mix' Button.:Press 'Cancel' Button.") == 1) { - mes "[Mixing Machine]"; - mes "Place items into the Mixing Receptacle now. Please wait."; - next; - mes "[Mixing Machine]"; - if (countitem(909) < .@mixitem1_1) { - mes "Insufficient Jellopy."; - mes "Please Check again."; - mes "Process Halted."; - close; - } - else if (countitem(914) < .@mixitem1_2) { - mes "Insufficient Fluff."; - mes "Please Check again."; - mes "Process Halted."; - close; - } - else if (countitem(519) < .@mixitem1_3) { - mes "Insufficient Milk."; - mes "Please Check again."; - mes "Process Halted."; - close; - } - else if (.@mixitem2 == 1 || .@mixitem2 == 2) { - if (countitem(1089) == 0 && countitem(1088) == 0) { - mes "Solution not found."; - mes "Please Check again."; - mes "Process Halted."; - close; - } - } - if (.@mixitem1_1 != 0) delitem 909,.@mixitem1_1; //Jellopy - if (.@mixitem1_2 != 0) delitem 914,.@mixitem1_2; //Fluff - if (.@mixitem1_3 != 0) delitem 519,.@mixitem1_3; //Milk - if (.@mixitem2 == 1) delitem 1089,1; //Payon_Potion - if (.@mixitem2 == 2) delitem 1088,1; //Morocc_Potion - mes "Items are Ready."; - mes "Close the Lid."; - set .@progress,3; - next; - } - break; - case 2: - set .@continue,0; - next; - break; - case 3: - set .@mixitem1_1,0; - set .@mixitem1_2,0; - set .@mixitem1_3,0; - set .@progress,0; - set .@continue,0; - mes "[Mixing Machine]"; - mes "Reset Complete."; - mes "Initiate again?"; - next; - if (select("Yes.:No.") == 1) - break; - mes "[Mixing Machine]"; - mes "Process Halted."; - mes "Thank you."; - close; - } - if (.@progress == 3) break; - } - else if (.@progress == 1) { - mes "[Mixing Machine]"; - mes "Nothing found."; - next; - } - mes "[Mixing Machine]"; - mes "Select items to mix."; - while(1) { - switch(select("Jellopy.:Fluff.:Milk.:Ready to Mix.")) { - case 1: - while(1) { - input .@input; - if (.@input > 10000) { - next; - mes "[Mixing Machine]"; - mes "Error: Item limit exceeded. Please enter values less than 10,000 try again."; - next; - } - else { - if (countitem(909) > 0) set .@mixitem1_1,.@mixitem1_1 + .@input; - set .@progress,2; - break; - } - } - break; - case 2: - while(1) { - input .@input; - if (.@input > 10000) { - next; - mes "[Mixing Machine]"; - mes "Error: Item limit exceeded. Please enter values less than 10,000 try again."; - next; - } - else { - if (countitem(914) > 0) set .@mixitem1_2,.@mixitem1_2 + .@input; - set .@progress,2; - break; - } - } - break; - case 3: - while(1) { - input .@input; - if (.@input > 10000) { - next; - mes "[Mixing Machine]"; - mes "Error: Item limit exceeded. Please enter values less than 10,000 try again."; - next; - } - else { - if (countitem(519) > 0) set .@mixitem1_3,.@mixitem1_3 + .@input; - set .@progress,2; - break; - } - } - break; - - case 4: - if (.@progress != 2) - set .@progress,1; - set .@continue,1; - next; - } - if (.@continue) break; - } - } - mes "[Mixing Machine]"; - mes "Please enter the "; - mes "Serial Number of"; - mes "the Magic Powder."; - next; - while(1) { - input .@input; - if (.@input < 1000 || .@input > 9999) { - mes "[Mixing Machine]"; - if (.@input == 0) { - mes "Do you want to skip this Menu?"; - next; - if (select("Yes.:No.") == 1) { - break; - } - } - else { - mes "Invalid Serial Number."; - mes "Please try again."; - next; - } - } - else { - mes "[Mixing Machine]"; - mes "The Serial Number is #" + .@input + ", correct?"; - next; - if (select("Confirm.:Cancel.") == 1) { - if (.@input == 8472) - set .@magic_powder,1; - else if (.@input == 3735) - set .@magic_powder,2; - else if (.@input == 2750) - set .@magic_powder,3; - else if (.@input == 5429) - set .@magic_powder,4; - else - set .@magic_powder,5; - } - break; - } - } - mes "[Mixing Machine]"; - mes "Choose a"; - mes "Catalyst Stone."; - next; - switch(select("Yellow Gemstone.:Red Gemstone.:Blue Gemstone.:1carat Diamond.:Skip.")) { - case 1: set .@mixitem3,1; break; - case 2: set .@mixitem3,2; break; - case 3: set .@mixitem3,3; break; - case 4: set .@mixitem3,4; break; - case 5: break; - } - mes "[Mixing Machine]"; - mes "All Set."; - mes "Initiating"; - mes "Mixing process."; - mes "Please Wait."; - next; - mes "[Mixing Machine]"; - mes "- Proverb of the Day -"; - switch(rand(1,5)) { - case 1: - mes "An Eye for an Eye: When you take from a person, you must replace or repay in some way."; - break; + 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 "Credibility is a Man's Currency: There's a value in genuine trust that cannot be measured."; - break; - case 3: - mes "What Goes Around Comes Around: Ultimately, you will be treated in the way you treat others."; - mes "It means 'When you harm Another you will be harmed by him in an unavoidable situation'."; - break; - case 4: - mes "A good neighbor is better than a distant brother: When you need help, you can count on those close to you."; - break; - default: - mes "Birds of a Feather Flock Together: You can look at a person's friends as an indicator of their character."; - } - next; - if (.@mixitem1_1 == 2 && .@mixitem1_2 == 3 && .@mixitem1_3 == 1 && .@mixitem2 == 1 && .@mixitem3 == 1 && .@magic_powder == 1) { - mes "[Mixing Machine]"; - mes "Mage Test Solution No. 1."; - getitem 1071,1; //Mage_Test_1 - next; - } - else if (.@mixitem1_1 == 3 && .@mixitem1_2 == 1 && .@mixitem1_3 == 1 && .@mixitem2 == 0 && .@mixitem3 == 2 && .@magic_powder == 2) { - mes "[Mixing Machine]"; - mes "Mage Test Solution No. 2."; - getitem 1085,1; //Mage_Test_2 - next; - } - else if (.@mixitem1_1 == 6 && .@mixitem1_2 == 1 && .@mixitem1_3 == 0 && .@mixitem2 == 1 && .@mixitem3 == 3 && .@magic_powder == 3) { - mes "[Mixing Machine]"; - mes "Mage Test Solution No. 3."; - getitem 1086,1; //Mage_Test_3 + mes "[Mage Guildsman]"; + mes "Wanna be a Mage, eh?"; + mes "I'd be happy to explain the requirements for a pretty girl like you!"; next; - } - else if (.@mixitem1_1 == 2 && .@mixitem1_2 == 3 && .@mixitem1_3 == 0 && .@mixitem2 == 2 && .@mixitem3 == 4 && .@magic_powder == 4) { - mes "[Mixing Machine]"; - mes "Mage Test Solution No. 4."; - getitem 1087,1; //Mage_Test_4 + mes "[Mage Guildsman]"; + mes "First of all, you have to reach Novice Job Level 10 and learn all of the Basic Skills."; next; - } - else { - mes "[Mixing Machine]"; - mes "Unexpected"; - mes "Error Occurred."; - getitem 1090,1; //Mage_Test_Etc + mes "[Mage Guildsman]"; + mes "In the past, there was a complicated potion making test. Because of that, we'd lost an aplicant slowly."; + mes "So, we decided to accept all aplicants who meet the basic requirements."; next; - } - mes "[Mixing Machine]"; - mes "Mixing Complete."; - mes "Thank you."; - close; - } - close; -} - -pay_arche,122,100,0 script Dollshoi 88,{ - mes "[Mage Guildsman]"; - mes "You want a Solution? Hmm, give me 50 Zeny and at least 1 Empty Test Tube."; - next; - if (select("Alright, Deal.:Nah, forget it.") == 1) { - mes "[Mage Guildsman]"; - if (Zeny < 50) { - mes "Hey! You don't have enough money to cover my 50 Zeny charge."; - close; - } - if (countitem(1092) == 0) { - mes "You can't carry solutions without a bottle! Bring me an Empty Test Tube."; - close; - } - delitem 1092,1; //Empty_Cylinder - set zeny,zeny-50; - getitem 1089,1; //Payon_Potion - } - close; -} - -moc_ruins,91,150,0 script Ponka-Hontas 93,{ - mes "[Mage Guildsman]"; - mes "Would you like a Solution? Then please give me 50 Zeny and at least 1 Empty Testtube."; - next; - if (select("Alright, Deal.:Nah, forget it.") == 1) { - mes "[Mage Guildsman]"; - if (zeny < 50) { - mes "I'm sorry, but you don't have enough money to cover the 50 Zeny fee."; + mes "[Mage Guildsman]"; + mes "Don't hesitate. Just be a magician!"; 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."; + case 3: + mes "[Mage Guildsman]"; + mes "Nothing...?"; close; } - delitem 1092,1; //Empty_Cylinder - set zeny,zeny-50; - getitem 1088,1; //Morocc_Potion - } - 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; } - close; -} +}
\ No newline at end of file diff --git a/npc/jobs/1-1/merchant.txt b/npc/jobs/1-1/merchant.txt index d1294fde1..5b49c9ea3 100644 --- a/npc/jobs/1-1/merchant.txt +++ b/npc/jobs/1-1/merchant.txt @@ -1,35 +1,16 @@ //===== eAthena Script ======================================= -//= Merchant Job Quest +//= Renewal Merchant Job Change //===== By: ================================================== -//= kobra_k88; L0ne_W0lf +//= Kisuka //===== Current Version: ===================================== -//= 2.3 +//= 1.0 //===== Compatible With: ===================================== //= eAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] -//= Job quest for Merchant classes +//= Job Change to Merchant Class //===== Additional Comments: ================================= -//= Fully working -//= v1.1 Added instant job change for High Novice [Lupus] -//= v1.3 Added Baby Class support [Lupus] -//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] -//= 1.5 Changed Prontera->Izlude teleport price to 600 [Lupus] -//= 1.5.1 Removed Duplicates [Silent] -//= 1.5.2 Now saves/restores all quest skills [Lupus] -//= 1.6 Merged back JFunc, CHANGED NUMBERS TO CONSTANTS [Lupus] -//= 1.7 Updated to use Free Ticket for Kafra [Lupus] -//= 1.8 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] -//= No longer uses function "F_ToHigh" -//= 1.9 Bugfixes, thanks to Barron-Monster. [L0ne_W0lf] -//= 1.9a Added a missing next; (Barron-Monster) [L0ne_W0lf] -//= 1.9b Typo. "nextl" -> "next;" (Barron-Monster) [L0ne_W0lf] -//= 2.0 Should "fix" the problem with the Biliban Kafra. [L0ne_W0lf] -//= 2.1 Fixed mistake in condition check. [L0ne_W0lf] -//= 2.2 Added Quest Log commands. [L0ne_W0lf] -//= 2.3 Fixed an issue with completequest by adding checkquest. [Kisuka] +//= 1.0 First Version. [Kisuka] //============================================================ - alberta_in,53,43,6 script Merchant#mer 86,{ if (Upper == 1) { if (Class == Job_Novice_High && (ADVJOB == Job_Whitesmith || ADVJOB == Job_Creator)) { @@ -63,8 +44,7 @@ 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 { + }else{ mes "[Chief Mahnsoo]"; mes "^333333*Sigh*^000000"; mes "I'm so bored..."; @@ -72,1101 +52,74 @@ alberta_in,53,43,6 script Merchant#mer 86,{ close; } } - if (BaseJob == Job_Merchant) { - mes "[Chief Mahnsoo]"; - mes "Hello there!"; - mes "How do you like"; - mes "being a Merchant?"; - next; - mes "[Chief Mahnsoo]"; - mes "Having a way with"; - mes "money certainly"; - mes "has its perks,"; - mes "does it not?"; - close; - } - else if (BaseJob != Job_Merchant && BaseJob != Job_Novice) { - mes "[Chief Mahnsoo]"; - mes "We Merchants hate people who are two faced. It's bad for business."; - next; - mes "[Chief Mahnsoo]"; - mes "People who always try to take advantage of other people by selling things at a ridiculous price just so they can make money that they'll waste are the worst."; - next; - mes "[Chief Mahnsoo]"; - mes "Well, in any case, we only accept Novices for job changes to the Merchant class. But I appreciate your interest in what we do."; - close; - } - else if (job_merchant_q == 9) { - mes "[Chief Mahnsoo]"; - mes "Hello there,"; - mes ""+ strcharinfo(0) +"."; - set job_merchant_q,0; - set job_merchant_q2,0; - set quest_alb_01,0; - mes "Unfortunately, you failed to earn your Merchant License this time."; - next; - mes "[Chief Mahnsoo]"; - mes "I'll erase your records, so come back anytime when you want to reapply."; - close; - } - else if (job_merchant_q == 8 || job_merchant_q == 7) { - mes "[Chief Mahnsoo]"; - mes "Hello there,"; - mes ""+ strcharinfo(0) +"."; - mes "I'm pleased to tell you"; - mes "that I have good news!"; - next; - mes "[Chief Mahnsoo]"; - mes "The Merchant Guild accepted your application. You've proven that you are fully qualified to become a Merchant."; - if (job_merchant_q == 7) { - next; - mes "[Chief Mahnsoo]"; - mes "The only thing to take care of is your Membership Fee."; - mes "Are you ready?"; - next; - switch(select("Pay the rest of the 500 Zeny:Quit")) { - case 1: - mes "[Chief Mahnsoo]"; - if (Zeny < 500) { - mes "Hmmm..."; - mes "I suppose you currently don't have enough zeny to pay the rest of your Membership fee right now."; - next; - mes "[Chief Mahnsoo]"; - mes "Please return when you have earned the 500 zeny that you need to become a Merchant."; - close; - } - set zeny,zeny-500; - mes "Ah yes...!"; - mes "Now your"; - mes "membership"; - mes "is paid in full."; - break; - case 2: - mes "[Chief Mahnsoo]"; - mes "I suppose you need some time to gather some zeny to pay your membership fee. Please come"; - mes "back as soon as you're ready."; - close; - } - } - next; - mes "[Chief Mahnsoo]"; - mes "Congratulations!"; - callfunc "Job_Change",Job_Merchant; - callfunc "F_ClearJobVar"; - if(checkquest(1009) != -1) { - completequest 1009; - } - else if(checkquest(1010) != -1) { - completequest 1010; - } - else if(checkquest(1011) != -1) { - completequest 1011; - } - else { - completequest 1012; - } - mes "I'm very pleased that you are joining the Merchant Guild and hope that you will play an active part in Rune-Midgarts' economy."; - next; - if (quest_alb_01 == 1) { - mes "[Chief Mahnsoo]"; - mes "*Ahem* Aaaaand let me give you a little bit of money for delivering that message to Blossom for me."; - mes "I hope you'll help me again next time~"; - set zeny,zeny+200; - set quest_alb_01,2; - } - else { - mes "[Chief Mahnsoo]"; - mes "The message you were supposed to deliver as per my request? You've forgotten about that? Oh well. Good work!"; - } - next; - mes "[Chief Mahnsoo]"; - mes "Our goal is to control 20 % of the world's income! We're going to need young, eager people like you!"; - next; - mes "[Chief Mahnsoo]"; - mes "But overall, we'll also be happy just to make loads of money."; - mes "But we all know that~"; - close; - } - else if (job_merchant_q <= 6 && job_merchant_q != 0) { - mes "[Chief Mahnsoo]"; - if (job_merchant_q2 == 1 || job_merchant_q2 == 2) { - mes "First, get the delivery package from the storehouse, and then take it to the former Swordman's Association in Prontera."; - next; - mes "[Chief Mahnsoo]"; - mes "When you get there, give the package to the Kafra Employee stationed near there. Her name is Blossom. Did you get all that?"; - next; - if (job_merchant_q2 == 1) { - mes "[Chief Mahnsoo]"; - mes "Remember, the Serial Number of the package is ^3355FF2485741^000000."; - setquest 1009; - } - else { - mes "[Chief Mahnsoo]"; - mes "Remember, the Serial Number of the package is ^3355FF2328137^000000."; - setquest 1009; - } - } - else if (job_merchant_q2 == 3 || job_merchant_q2 == 4) { - mes "First, get the delivery package from the storehouse, and then take it to the Mage Guild in Geffen."; - next; - if (job_merchant_q2 == 3) { - mes "[Chief Mahnsoo]"; - mes "When you get there, give the package to the Mage Guildsman in charge. Remember, the packages Serial Number is ^3355FF2989396^000000."; - setquest 1010; - } - else { - mes "[Chief Mahnsoo]"; - mes "When you get there, give the package to the Mage Guildsman in charge. Remember, the packages Serial Number is ^3355FF2191737^000000."; - setquest 1010; - } - } - else if (job_merchant_q2 == 5 || job_merchant_q2 == 6) { - mes "First, get the delivery package from the storehouse, and then take it to Morroc."; - next; - mes "[Chief Mahnsoo]"; - mes "You'll have to find Java Dullihan, the Dyemaker, so that you can deliver the product he ordered."; - next; - if (job_merchant_q2 == 5) { - mes "[Chief Mahnsoo]"; - mes "But he's a little forgetful, so give it to one of his students. Remember, the package's Serial Number is ^3355FF3012685^000000."; - setquest 1011; - } - else { - mes "[Chief Mahnsoo]"; - mes "But he's a little forgetful, give it to one of his students. Remember, the package's Serial Number is ^3355FF3487372^000000."; - setquest 1011; - } - } - else if (job_merchant_q2 == 7 || job_merchant_q2 == 8) { - mes "First, get the package from the storehouse, and then give it to the Kafra Employee stationed on Byalan Island. Her name is Blossom."; - next; - if (job_merchant_q2 == 7) { - mes "[Chief Mahnsoo]"; - mes "Remember, the package's Serial Number is ^3355FF3318702^000000."; - setquest 1012; - } - else { - mes "[Chief Mahnsoo]"; - mes "Remember, the package's Serial Number is ^3355FF3543625^000000."; - setquest 1012; - } - } - if (job_merchant_q2 == 7 || job_merchant_q2 == 8) { - next; - mes "[Chief Mahnsoo]"; - mes "Aaaannnnd..."; - mes "Don't forget to deliver that message for me~"; - } - next; - mes "[Chief Mahnsoo]"; - mes "Don't forget your destination and the package's Serial Number."; - mes "You'll need to tell them"; - mes "to the storekeeper."; - next; - mes "[Chief Mahnsoo]"; - mes "The storehouse is in the room"; - mes "to my right. There, you can talk"; - mes "to the storekeeper, and he'll"; - mes "help you out."; - next; - mes "[Chief Mahnsoo]"; - mes "After you make the delivery, return to the storehouse and give the receipt to the storekeeper."; - mes "Then, come back"; - mes "and see me."; - next; - mes "[Chief Mahnsoo]"; - mes "Is that clear?"; - mes "Alright, that's"; - mes "the spirit."; - mes "Take care!"; - close; - } - else if (job_merchant_q == 0) { - mes "[Chief Mahnsoo]"; - mes "So, what brings you to"; - mes "the Merchant Association?"; - mes "Is there anything"; - mes "I can help you with?"; - next; - switch(select("I want to be a Merchant.:Tell me about Merchants.:Tell me the requirements.:Nope.")) { - case 1: - mes "[Chief Mahnsoo]"; - mes "Do you want to"; - mes "be a Merchant?"; - mes "Well..."; - next; - if (getskilllv("NV_BASIC") < 9) { - mes "[Chief Mahnsoo]"; - mes "First, you have to be a Novice with Job Level 10. Once you do that, make sure you learn all of the Basic Skills."; - next; - mes "[Chief Mahnsoo]"; - mes "We're not just"; - mes "simple money makers!"; - mes "We pride ourselves on having standards and only accepting qualified applicants!"; - close; - } - mes "[Chief Mahnsoo]"; - mes "Alright, you'll need to fill out this application and prepare 1,000 Zeny for your Membership Fee."; - next; - mes "[Chief Mahnsoo]"; - mes "Oh...!"; - mes "If you don't have all the money,"; - mes "I can just take 500 Zeny now."; - mes "You can pay the rest after you"; - mes "pass the test and earn your"; - mes "Merchant Guild License."; - next; - mes "[Chief Mahnsoo]"; - mes "So what do you think?"; - mes "Are you ready to join now?"; - next; - if (select("Yes, I will.:Ummm, maybe later...") ==1 ) { - mes "[Chief Mahnsoo]"; - mes "Let me check if you"; - mes "filled out everything"; - mes "on your application form..."; - next; - mes "[Chief Mahnsoo]"; - mes "Hmm... "; - mes "" + strcharinfo(0) + "..."; - mes "That's a nice name."; - next; - mes "[Chief Mahnsoo]"; - mes "This application will"; - mes "only be registered once"; - mes "the Membership Fee is paid."; - mes "How do you wish to"; - mes "handle the fee?"; - next; - switch(select("Pay all 1,000 Zeny now!:Two payments of 500 Zeny.:Quit")) { - case 1: - mes "[Chief Mahnsoo]"; - if (Zeny >= 1000) { - set job_merchant_q,2; - set zeny,zeny-1000; - mes "Alright~"; - mes "That's 1,000 zeny."; - mes "Excellent, excellent."; - } - else { - mes "It seems don't have enough zeny to pay all of the fee right now. Why don't you just pay 500 zeny now? Think about it."; - close; - } - break; - case 2: - mes "[Chief Mahnsoo]"; - if (Zeny >= 500) { - set job_merchant_q,1; - set zeny,zeny-500; - mes "Let's see..."; - mes "That's 500 Zeny. Although I don't think splitting payment is a good idea for any Merchant, it's alright since you're still learning."; - } - else { - mes "Hmm..."; - mes "It seems you don't have the funds to pay half of the membership fee. Please come back once you collect the zeny that you need."; - close; - } - break; - case 3: - mes "[Chief Mahnsoo]"; - mes "Feel free to return anytime"; - mes "when you are ready, alright?"; - close; - } - } - else { - mes "[Chief Mahnsoo]"; - mes "You don't have enough zeny now? That's no problem. Take your time and come back when you're"; - mes "ready, okay?"; - close; - } - next; - mes "[Chief Mahnsoo]"; - mes "Alright, you're now on the list of applicants. Ah, before I get started let me say just one thing."; - next; - mes "[Chief Mahnsoo]"; - mes "There are some dumb and greedy people out there who do not know what it means to be a Merchant."; - mes "I hope you won't turn out to be like them, will you?"; - next; - mes "[Chief Mahnsoo]"; - mes "Now, let me"; - mes "explain what you"; - mes "need to do for the"; - mes "Merchant License Test."; - next; - mes "[Chief Mahnsoo]"; - switch(rand(1,4)) { - case 1: - mes "First, get the delivery package from the storehouse, then go to the former Swordman's Association in Prontera."; - next; - mes "[Chief Mahnsoo]"; - mes "When you get there, visit the Kafra Employee stationed there. Her name is Blossom. Did you get"; - mes "all of that?"; - callsub S_GiveSerial,2485741,1,2328137,2; - break; - case 2: - mes "First, get the delivery package from the storehouse, and then go to the Mage Guild in Geffen. When you get there, visit the Mage Guildsman in charge."; - callsub S_GiveSerial,2989396,3,2191737,4; - break; - case 3: - mes "First, get the delivery package from the storehouse, and then go to Morroc. There you must find Java Dullihan, the dyemaker."; - next; - mes "[Chief Mahnsoo]"; - mes "He's a bit forgetful, so you should probably give the package to one of his students."; - callsub S_GiveSerial,3012685,5,3487372,6; - break; - case 4: - mes "First, get the delivery package from the storehouse, and then give it to the Kafra Employee stationed on Byalan Island."; - callsub S_GiveSerial,3318702,7,3543625,8; - next; - mes "[Chief Mahnsoo]"; - mes "Ummmm..."; - mes "And I also have"; - mes "a bit of a personal"; - mes "request for you."; - next; - mes "[Chief Mahnsoo]"; - mes "Would you please give her this message when you deliver the package? Please~"; - getitem 1072,1; //Delivery_Message - break; - } - next; - mes "[Chief Mahnsoo]"; - mes "Don't forget your destination and the package's Serial Number. You will need to tell those to the storekeeper in the storehouse to the right of me."; - next; - mes "[Chief Mahnsoo]"; - mes "After the delivery, give the receipt to the storekeeper, and then come back and see me."; - next; - mes "[Chief Mahnsoo]"; - mes "Is that clear?"; - mes "Alright, that's"; - mes "the spirit."; - mes "Take care!"; - close; - case 2: - mes "[Chief Mahnsoo]"; - mes "Merchant?"; - mes "Well, we basically sell goods to make money. That is the way"; - mes "of the Merchant."; - next; - mes "[Chief Mahnsoo]"; - mes "I guess we may not be the best at fighting, and we don't have many special attacks. We've got no healing skills..."; - next; - mes "[Chief Mahnsoo]"; - mes "But we can buy goods at lower prices from NPC shops and sell them at a higher price to other people~"; - next; - mes "[Chief Mahnsoo]"; - mes "Our ultimate attack skill is 'Mammonite.' The strength of Mammonite comes from the anger"; - mes "when we're forced to throw away perfectly good zeny."; - next; - mes "[Chief Mahnsoo]"; - mes "Throwing away zeny like that"; - mes "causes a deadly rage to well up in the heart of any Merchant!"; - mes "Just thinking about it"; - mes "makes my blood boil!"; - next; - mes "[Chief Mahnsoo]"; - mes "Anyway, we can use most"; - mes "weapons except Bows, Rods, and Two-Handed Swords. But we can always sell those."; - next; - mes "[Chief Mahnsoo]"; - mes "Yes..."; - mes "We Merchants generally"; - mes "have money on our minds..."; - close; - case 3: - mes "[Chief Mahnsoo]"; - mes "There are three conditions that must be fulfilled before you can become a Merchant."; - next; - mes "[Chief Mahnsoo]"; - mes "First, You have to be a Novice with Job Level 10, and have learned all of the Basic Skills."; - next; - mes "[Chief Mahnsoo]"; - mes "Second, You have to pay a 1,000 Zeny Membership Fee. I believe any Merchant candidate should be able to earn 1,000 Zeny with ease."; - next; - mes "[Chief Mahnsoo]"; - mes "Third, there is a License Test to test your physical strength and sense of direction. You will deliver a package to a specific person in a specific location."; - close; - case 4: - close; - } - } - -S_GiveSerial: + mes "[Guildsman Mahnsoo]"; + mes "Hey, why are you here?"; next; - mes "[Chief Mahnsoo]"; - mes "Remember..."; - if (rand(1)) { - mes "The package's"; - mes "Serial Number is"; - mes "^3355FF"+getarg(0)+"^000000."; - set job_merchant_q2,getarg(1); - } - else { - mes "The package's"; - mes "Serial Number is"; - mes "^3355FF"+getarg(2)+"^000000."; - set job_merchant_q2,getarg(3); - } - return; -} - -alberta_in,28,29,2 script Merchant Guildsman#mer 83,{ - if (BaseJob == Job_Merchant) { - mes "[Union Staff Kay]"; - mes "Heya pal."; - mes "How ya doin'?"; - close; - } - else if (BaseJob != Job_Merchant && BaseJob != Job_Novice) { - mes "[Union Staff Kay]"; - mes "Hey you. We don't have any open positions for part time work. If you wanna earn some zeny, you'll hafta look elsewhere."; - close; - } - else if (job_merchant_q == 9) { - mes "[Union Staff Kay]"; - mes "Hey you. Yeah, you."; - mes "If you wanna restart the test, go visit Mahnsoo in the other room. Then we can talk."; - close; - } - else if (job_merchant_q == 8 || job_merchant_q == 7) { - mes "[Union Staff Kay]"; - mes "Alright! Everything looks perfect! I'll report your success to the guildmaster. Now go talk to Chief Mahnsoo, yeah?"; - close; - } - else if (job_merchant_q == 6 || job_merchant_q == 5) { - mes " [Union Staff Kay] "; - mes "Oh, yeah? Okay, lemme check. Your name is " + strcharinfo(0) + "? Alright, your destination was..."; - next; - mes "[Union Staff Kay]"; - if (job_merchant_q2 == 1 || job_merchant_q2 == 2) - mes "Wow! You met the Kafra babe in Prontera?! Lucky you~ ...Receipt?"; - else if (job_merchant_q2 == 3 || job_merchant_q2 == 4) - mes "Geffen Magic Academy. Okay, receipt?"; - else if (job_merchant_q2 == 5 || job_merchant_q2 == 6) - mes "The dyemaker in Morroc. Not bad. Receipt?"; - else if (job_merchant_q2 == 7 || job_merchant_q2 == 8) - mes "Oh hohohoho~! The Kafra Babe on Byalan Island?! Awesome! Anyway, did you bring the receipt?"; - - if (job_merchant_q2 == 1 && countitem(1073) != 0) - delitem 1073,1; //Merchant_Voucher_1 - else if (job_merchant_q2 == 2 && countitem(1074) != 0) - delitem 1074,1; //Merchant_Voucher_2 - else if (job_merchant_q2 == 3 && countitem(1075) != 0) - delitem 1075,1; //Merchant_Voucher_3 - else if (job_merchant_q2 == 4 && countitem(1076) != 0) - delitem 1076,1; //Merchant_Voucher_4 - else if (job_merchant_q2 == 5 && countitem(1077) != 0) - delitem 1077,1; //Merchant_Voucher_5 - else if (job_merchant_q2 == 6 && countitem(1078) != 0) - delitem 1078,1; //Merchant_Voucher_6 - else if (job_merchant_q2 == 7 && countitem(1079) != 0) - delitem 1079,1; //Merchant_Voucher_7 - else if (job_merchant_q2 == 8 && countitem(1080) != 0) - delitem 1080,1; //Merchant_Voucher_8 - else { - next; - set job_merchant_q,9; - mes " [Union Staff Kay] "; - mes "Wait a sec."; - mes "Where's the receipt?"; - mes "What happened?"; - next; - mes " [Union Staff Kay] "; - mes "If you don't have the receipt, you fail the test! You better talk to Mahnsoo if you wanna retake it, alright? Pay attention next time!"; - close; - } - next; - mes " [Union Staff Kay] "; - mes "...Great! Everything's perfect! I'll report your success to the Guildmaster. You should talk to Chief Mahnsoo now, alright?"; - close2; - if (job_merchant_q == 6) - set job_merchant_q,8; - else if (job_merchant_q == 5) - set job_merchant_q,7; - end; - } - else if (job_merchant_q == 4 || job_merchant_q == 3 && countitem(1081) == 0 && countitem(1082) == 0 && countitem(1091) == 0) { - mes " [Union Staff Kay] "; - mes "Huh?"; - mes "You're back?"; - mes "So how did"; - mes "the delivery go?"; - next; - if (select("*Sob* I lost the package.:Fine.") == 1) { - set job_merchant_q,9; - mes "[Union Staff Kay]"; - mes "Are you kidding me? You'll fail the test if you lose the package!"; - next; - mes "[Union Staff Kay]"; - mes "Awwww man. Well, if you wanna restart the test, talk to Mahnsoo, okay? You're lucky you're getting another chance!"; - close; - } - mes "[Union Staff Kay]"; - mes "Huh..."; - mes "Okay..."; - close; - } - else if (job_merchant_q == 4 || job_merchant_q == 3 && countitem(1081) != 0 || countitem(1082) != 0 || countitem(1091) != 0) { - mes "[Union Staff Kay]"; - mes "Hey, what are you still doing here? Shouldn't you be on your way already?"; - next; - if (select("I need a new package.:Oh, yeah. You're right!") == 1) { - if (countitem(1081) == 0 && countitem(1082) == 0 && countitem(1083) == 0 && countitem(1091) == 0) { - mes "[Union Staff Kay]"; - mes "Wha--?"; - mes "So where did"; - mes "the package go?"; - mes "Where is it?!"; + switch(select("I want to be a merchant.:I want to know more about merchants.:Ask him the requirements to be a merchant.:Nothing.")) { + case 1: + if(Class != Job_Novice) { + mes "[Guildsman Mahnsoo]"; + if(Class == Job_Merchant) { + mes ".....? Sorry? What are you saying?"; + mes "You are already a merchant. Oh my.."; + mes "Huh?! ...Do I need to laugh right now?!"; + }else{ + mes "Ahh? Are you trying to have both ways?"; + mes "How about just giving yourself over to your original job?"; next; - if (select("*Sob* I lost it!:I have it right here.") == 1) { - set job_merchant_q,9; - mes "[Union Staff Kay]"; - mes "You..."; - mes "Lost it?!"; - mes "You failed the test!"; - next; - mes "[Union Staff Kay]"; - mes "*Sigh* If you want to restart the test, go visit Mahnsoo in the other room, alright?"; - close; - } - mes "[Union Staff Kay]"; - mes "Huh."; - mes "I thought"; - mes "you lost it."; - mes "You don't"; - mes "need a new one."; - close; + mes "[Guildsman Mahnsoo]"; + mes "We have business ethics you know."; } - mes "[Union Staff Kay]"; - mes "*Sigh* Man, you're starting to become a pain in the ass. Hold on, lemme cancel your record..."; - if (countitem(1081) != 0) - delitem 1081,1; //Merchant_Box_1 - else if (countitem(1082) != 0) - delitem 1082,1; //Merchant_Box_2 - else if (countitem(1091) != 0) - delitem 1091,1; //Merchant_Box_Etc - if (job_merchant_q == 4) - set job_merchant_q,2; - else if (job_merchant_q == 3) - set job_merchant_q,1; - next; - mes "[Union Staff Kay]"; - mes "I need some time to get everything in order, so come back later."; close; - } - mes "[Union Staff Kay]"; - mes "What a bummer..."; - close; - } - else if ((job_merchant_q == 0 || job_merchant_q == 1 || job_merchant_q == 2)) { - set where_village,0; - mes "[Union Staff Kay]"; - mes "Hey there."; - mes "what brings"; - mes "you here?"; - next; - switch(select("My Merchant License test.:I'm looking for part time work.:Nothing.")) { - case 1: - mes "[Union Staff Kay]"; - mes "I see."; - mes "Alright."; - mes "So what's"; - mes "your name?"; - mes "" + strcharinfo(0) + "...?"; + }else{ + mes "[Guildsman Mahnsoo]"; + mes "Want to be a merchant? Hmm..."; next; - if (job_merchant_q == 0) { - mes "[Union Staff Kay]"; - mes "Huh. Your name's not on my list. Did you apply for the job change quest or what?"; + if (getskilllv("NV_BASIC") < 9) { + mes "[Guildsman Mahnsoo]"; + mes "But if you want to be a merchant, your basic skill level must reach Level 9 or you must spend all of your skill points."; next; - mes "[Union Staff Kay]"; - mes "You gotta apply first by talking to Chief Mahnsoo in the center"; - mes "of this building, okay?"; + mes "[Guildsman Mahnsoo]"; + mes "Don't you think we need to learn some basic skills although we just deal with money?"; close; } - mes "[Union Staff Kay]"; - mes "Alright, there you go. Lemme give you the package. Now, choose the destination of the delivery."; + mes "[Guildsman Mahnsoo]"; + mes "Good, I think you're fully ready for it seeing that your basic skill level is fulfilled."; + mes "Now I allow you to be a merchant."; next; - switch(select("Prontera.:Geffen.:Morocc.:Byalan Island.")) { - case 1: set .@where_village,1; break; - case 2: set .@where_village,2; break; - case 3: set .@where_village,3; break; - case 4: set .@where_village,4; break; - } - mes "[Union Staff Kay]"; - mes "Okay, now you need to give me the package's Serial Number. If you wanna cancel, just enter '0', alright?"; + mes "[Guildsman Mahnsoo]"; + mes "Congratulations on becoming a merchant!"; + mes "Congratulations again for being a member of the merchant guild and one of our colleagues. I expect your active participation from now on!"; + callfunc "Job_Change",Job_Merchant; + getitem 1381,1; // N_Battle_Axe next; - while(1) { - while(1) { - input .@input; - if (.@input == 0) { - mes "[Union Staff Kay]"; - mes "Are you sure that you wanna cancel?"; - if (select("Yes.:Let me try again.") == 1) { - mes "Alright, we'll cancel for now."; - close; - } - next; - } - else if (.@input < 1000000 || .@input > 5000000) { - mes "[Union Staff Kay]"; - mes "Hey hey. That number's not valid! Enter a value from 1000000 to 5000000. got it?"; - next; - } - else - break; - } - mes "[Union Staff Kay]"; - if (.@where_village == 1) - mes "Destination is Prontera. The Serial Number is " + .@input + ". Are you positive?"; - else if (.@where_village == 2) - mes "Destination is Geffen. Phew! That's really far! The Serial Number is " + .@input + ". Are you positive?"; - else if (.@where_village == 3) - mes "Destination is Morocc. That's pretty far away! The Serial Number is " + .@input + ". Are you positive?"; - else - mes "Lucky you! Your destination is Byalan Island. The Serial Number is " + .@input + ". Are you positive?"; - next; - if (select("Positive.:Whoops! Wrong number!") == 1) { - break; - } - } - if (.@where_village == 1) { - if (job_merchant_q2 == 1 && .@input == 2485741) - getitem 1081,1; //Merchant_Box_1 - else if (job_merchant_q2 == 2 && .@input == 2328137) - getitem 1082,1; //Merchant_Box_2 - else - getitem 1091,1; //Merchant_Box_Etc - } - else if (.@where_village == 2) { - if (job_merchant_q2 == 3 && .@input == 2989396) - getitem 1081,1; //Merchant_Box_1 - else if (job_merchant_q2 == 4 && .@input == 2191737) - getitem 1082,1; //Merchant_Box_2 - else - getitem 1091,1; //Merchant_Box_Etc - } - else if (.@where_village == 3) { - if (job_merchant_q2 == 5 && .@input == 3012685) - getitem 1081,1; //Merchant_Box_1 - else if (job_merchant_q2 == 6 && .@input == 3487372) - getitem 1082,1; //Merchant_Box_2 - else - getitem 1091,1; //Merchant_Box_Etc - } - else { - if (job_merchant_q2 == 7 && .@input == 3318702) - getitem 1081,1; //Merchant_Box_1 - else if (job_merchant_q2 == 8 && .@input == 3543625) - getitem 1082,1; //Merchant_Box_2 - else - getitem 1091,1; //Merchant_Box_Etc - } - if (job_merchant_q == 2) - set job_merchant_q,4; - else if (job_merchant_q == 1) - set job_merchant_q,3; - mes "[Union Staff Kay]"; - mes "Alright. Take this package and guard it with your life until it's safely delivered to the customer. Don't lose this thing, got it?"; - next; - mes "[Union Staff Kay]"; - mes "Well then, I wish you luck. Remember, you gotta bring me"; - mes "a receipt once you finish the delivery, okay?"; - close; - case 2: - mes "[Union Staff Kay]"; - mes "Part time job? Sorry pal, no jobs yet. The Paymaster's department can never balance our budget..."; - close; - case 3: - mes "[Union Staff Kay]"; - mes "Nothing, eh?"; - mes "I guess you enjoy"; - mes "bothering people for"; - mes "no reason then, yeah?"; - close; - } - } -} - -morocc_in,140,102,4 script Student#mer 86,{ - if ((job_merchant_q == 4) || (job_merchant_q == 3)) { - mes "[Dyer's Student]"; - mes "You're from"; - mes "the Merchant Guild?"; - mes "Yes! You've come to"; - mes "the right place."; - next; - mes "[Dyer's Student]"; - if (countitem(1081) == 1 || countitem(1082) == 1 || countitem(1091) == 1) { - mes "Okay~"; - mes "Please set the"; - mes "package down"; - mes "over there."; - } - else { - mes "But..."; - mes "Where's the"; - mes "package I ordered?"; - mes "That's strange..."; - close; - } - next; - mes "[Dyer's Student]"; - mes "Let me check the Serial Number of the package so I can give you the receipt, okay?"; - next; - mes "[Dyer's Student]"; - if (job_merchant_q2 == 5 && countitem(1081) != 0) { - mes "3012685..."; - mes "That's right."; - mes "Here's your"; - mes "receipt."; - delitem 1081,1; //Merchant_Box_1 - getitem 1077,1; //Merchant_Voucher_5 - } - else if (job_merchant_q2 == 6 && countitem(1082) != 0) { - mes "3487372..."; - mes "That's right."; - mes "Here's your"; - mes "receipt."; - delitem 1082,1; //Merchant_Box_2 - getitem 1078,1; //Merchant_Voucher_6 - } - else { - mes "Excuse me, but..."; - if (job_merchant_q2 == 5) - mes "I don't think this is the package we ordered. The Serial Number should be 3012685. See?"; - else if (job_merchant_q2 == 6) - mes "I don't think this is the package we ordered. The Serial Number should be 3487372. See?"; - else - mes "I don't think this is the package we ordered. The Serial Number should be 3012685 or 3487372. Well, one of those two..."; + mes "[Guildsman Mahnsoo]"; + mes "Absolutely, we need young people who have passion to achieve our great goal for securing 20% of the worldwide currency volume. You get it? Huh?"; + mes "Well, I'm just saying... it means let's make lots of money in the end. You guys know that~"; close; } - if (job_merchant_q == 4) - set job_merchant_q,6; - else if (job_merchant_q == 3) - set job_merchant_q,5; + case 2: + mes "[Guildsman Mahnsoo]"; + mes "Merchant? To put it simply, the person who sells good and makes money is a merchant."; + mes "Not good at fighting and doesn't have special attack/recovery skills... but a merchant can buy things at a low price and then sell them and make money."; next; - mes "[Dyer's Student]"; - mes "Thanks a lot!"; - mes "See you again"; - mes "sometime!"; + mes "[Guildsman Mahnsoo]"; + mes "Well, a merchant has an ultimate skill called Mammonite which strikes an enemy with his/her money... We can equip everything except Bows, Rods, and Two-Handed Swords. But we can always sell and buy those."; + mes "Yes... we merchants always have money on our minds, got it?"; close; - } - else if (job_merchant_q == 6 || job_merchant_q == 5 && job_merchant_q2 == 6 || job_merchant_q2 == 5) { - mes "[Dyer's Student]"; - mes "Oh..."; - mes "You're gonna"; - mes "go back? Okay"; - mes "then, take care!"; - close; - } - else { - mes "[Dyer's Student]"; - mes "Mr. Java Dullihan is the one and only, the best dye maker on the Rune-Midgard continent."; - next; - mes "[Dyer's Student]"; - mes "Aaaand I'm proud to say that I'm his student! Someday, I'll be able to make really beautiful dyes too!"; + case 3: + mes "[Guildsman Mahnsoo]"; + mes "To become a merchant, although just selling and receiving money is our job, you must reach at least basic skill level 9."; next; - mes "[Dyer's Student]"; - mes "Of course, I'm still learning the basics right now, but someday..."; - close; - } -} - -geffen_in,155,122,4 script Guild Staff#mer 47,{ - if (job_merchant_q == 4 || job_merchant_q == 3) { - mes "[Guild Staff]"; - mes "Ah, you must be with the Merchant Guild. Finally, my package has arrived! Alright...!"; - next; - mes "[Guild Staff]"; - if (countitem(1081) == 1 || countitem(1082) == 1 || countitem(1091) == 1) { - mes "You must be very tired"; - mes "from having to travel"; - mes "in this kind"; - mes "of weather..."; - } - else { - mes "Wait..."; - mes "Where's the"; - mes "package?"; - close; - } - next; - mes "[Guild Staff]"; - mes "Alright, let me"; - mes "check the Serial Number..."; - if (job_merchant_q2 == 3 && countitem(1081) != 0) { - mes "2989396. Yes, this is what we ordered. Here is your receipt."; - delitem 1081,1; //Merchant_Box_1 - getitem 1075,1; //Merchant_Voucher_3 - } - else if (job_merchant_q2 == 4 && countitem(1082) != 0) { - mes "2191737. Yes, this is what we ordered. Here is your receipt."; - delitem 1082,1; //Merchant_Box_2 - getitem 1076,1; //Merchant_Voucher_4 - } - else { - mes "Uh oh, this is the wrong number. This isn't what we ordered..."; - next; - mes "[Guild Staff]"; - if (job_merchant_q2 == 3) { - mes "The Serial Number"; - mes "should be 2989396."; - } - else if (job_merchant_q2 == 4) { - mes "The Serial Number"; - mes "should be 2191737."; - } - else { - mes "The Serial Number"; - mes "should be 2989396"; - mes "or 2191737, one of"; - mes "those two."; - } - mes "Look here!"; - mes "Don't you see"; - mes "something"; - mes "is wrong?"; - close; - } - if (job_merchant_q == 4) - set job_merchant_q,6; - else if (job_merchant_q == 3) - set job_merchant_q,5; + mes "[Guildsman Mahnsoo]"; + mes "Well, we used to receive a start-up fee before. Wasn't it hard to make that money?"; + mes "There were too many people who couldn't gather that money and kept crying."; next; - mes "[Guild Staff]"; - mes "Heh heh~"; - mes "Thank you!"; - mes "Bye bye!"; + mes "[Guildsman Mahnsoo]"; + mes "So recently, we decided to allow any Novice who wants to be a merchant become one."; + mes "Because to be alive or not later is all up to one's ability."; close; - } - else if (job_merchant_q == 6 || job_merchant_q == 5 && job_merchant_q2 == 4 || job_merchant_q2 == 3) { - mes "[Guild Staff]"; - mes "Hello,"; - mes "Merchant Guildsman~"; - mes "I give you my thanks."; - close; - } - else { - mes "[Guild Staff]"; - mes "My package should have arrived by now. Huh. I guess the Merchant Guild might be running a little late..."; + case 4: close; } -} - -prontera,248,42,0 script Kafra Employee#mer 116,{ - cutin "kafra_02",2; - if (job_merchant_q == 6 || job_merchant_q == 5) && (job_merchant_q2 == 2 || job_merchant_q2 == 1) { - mes "[Kafra Employee]"; - mes "Oh! Thank you for"; - mes "traveling such a long"; - mes "way to come over here~"; - close2; - cutin "",255; - end; - } - else if (job_merchant_q == 4 || job_merchant_q == 3) { - mes "[Kafra Employee]"; - mes "A delivery from"; - mes "the Merchant Guild?"; - mes "Oh, yes, please set"; - mes "it down right over there..."; - if (countitem(1081) == 1 || countitem(1082) == 1 || countitem(1091) == 1) { - mes "You must be really tired"; - mes "after carrying it for so long!"; - } - else { - mes "W-wait. Didn't you bring it?"; - mes "Where's the package?"; - close2; - cutin "",255; - end; - } - next; - mes "[Kafra Employee]"; - mes "Now, let me check"; - mes "the serial number..."; - if (job_merchant_q2 == 1 && countitem(1081) != 0) { - mes "2485741. Right, this is"; - mes "the one we ordered. Oh,"; - mes "and don't forget this receipt!"; - next; - delitem 1081,1; //Merchant_Box_1 - getitem 1073,1; //Merchant_Voucher_1 - } - else if (job_merchant_q2 == 2 && countitem(1082) != 0) { - mes "2328137. Right, this is"; - mes "the one we ordered. Oh,"; - mes "and don't forget this receipt!"; - next; - delitem 1082,1; //Merchant_Box_2 - getitem 1074,1; //Merchant_Voucher_2 - } - else { - mes "Mmmm? Hold on. This is"; - mes "the wrong package. What we"; - if (job_merchant_q2 == 1) - mes "ordered had the serial number 2485741. I'm sure it's not this."; - else if (job_merchant_q2 == 2) - mes "ordered had the serial number 2328137. I'm sure it's not this."; - else - mes "ordered had the serial number 2328137 or 2328137."; - next; - mes "[Kafra Employee]"; - mes "I'm afraid there"; - mes "must be some kind"; - mes "of mistake. Perhaps"; - mes "you should go back to"; - mes "the Merchant Guild to"; - mes "clear up this situation?"; - close2; - cutin "",255; - end; - } - if (job_merchant_q == 4) - set job_merchant_q,6; - else if (job_merchant_q == 3) - set job_merchant_q,5; - mes "[Kafra Employee]"; - mes "Thanks again"; - mes "for going through"; - mes "all of that trouble~"; - close2; - cutin "",255; - end; - } - else { - mes "[Kafra Employee]"; - mes "Welcome to the"; - mes "Kafra Corportation,"; - mes "where the service is"; - mes "always on your side~"; - next; - mes "[Kafra Employee]"; - mes "As you can see, the"; - mes "Swordman Assocation"; - mes "has moved to Izlude, a"; - mes "satellite city of Prontera."; - mes "Currently, we offer a Teleport"; - mes "Service to Izlude for 600 zeny."; - next; - if (select("Use:Cancel") == 1) { - if (Zeny < 600) { - mes "[Kafra Employee]"; - mes "I'm sorry, but you"; - mes "don't have enough zeny"; - mes "for this Teleport Service."; - close2; - cutin "",255; - end; - } - set zeny,zeny-600; - set RESRVPTS, RESRVPTS + 37; - cutin "",255; - warp "izlude",94,103; - end; - } - close2; - cutin "",255; - end; - } -} - -//izlu2dun,106,58,4 script Kafra Employee#mer 116,{ -function script F_MercKafra { - if ((job_merchant_q == 6 || job_merchant_q == 5) && (job_merchant_q2 == 8 || job_merchant_q2 == 7)) { - mes "[Kafra Employee]"; - mes "Oh hello~"; - mes "Um, is there"; - mes "some special reason"; - mes "as to why you're here?"; - close2; - cutin "",255; - end; - } - else if (job_merchant_q == 4 || job_merchant_q == 3) { - mes "[Kafra Employee]"; - mes "A delivery from"; - mes "the Merchant Guild?"; - mes "Oh, yes, please set"; - mes "it down right over there..."; - if (countitem(1081) == 1 || countitem(1082) == 1 || countitem(1091) == 1) { - mes "You must be really tired"; - mes "after carrying it for so long!"; - } - else { - mes "W-wait. Didn't you bring it?"; - mes "Where's the package?"; - close2; - cutin "",255; - end; - } - next; - mes "[Kafra Employee]"; - mes "Now, let me check"; - mes "the serial number..."; - if (job_merchant_q2 == 7 && countitem(1081) != 0) { - mes "3318702. Right, this is"; - mes "the one we ordered. Oh,"; - mes "and don't forget this receipt!"; - delitem 1081,1; //Merchant_Box_1 - getitem 1079,1; //Merchant_Voucher_7 - } - else if (job_merchant_q2 == 8 && countitem(1082) != 0) { - mes "3543625. Right, this is"; - mes "the one we ordered. Oh,"; - mes "and don't forget this receipt!"; - delitem 1082,1; //Merchant_Box_2 - getitem 1080,1; //Merchant_Voucher_8 - } - else { - mes "Mmmm? Hold on. This is"; - mes "the wrong package. What we"; - if (job_merchant_q2 == 7) - mes "ordered had the serial number 3318702. I'm sure it's not this."; - else if (job_merchant_q2 == 8) - mes "ordered had the serial number 3543625. I'm sure it's not this."; - else - mes "ordered had the serial number 3318702 or 3543625."; - close2; - cutin "",255; - end; - } - if (job_merchant_q == 4) - set job_merchant_q,6; - else if (job_merchant_q == 3) - set job_merchant_q,5; - next; - if (countitem(1072) != 0 && quest_alb_01 == 0) { - select("This is from Chief Mahnsoo of the Merchant Guild..."); - delitem 1072,1; //Delivery_Message - set quest_alb_01,1; - mes "[Kafra Employee]"; - mes "Oh~! A letter from"; - mes "Mahnsoo! Thank you"; - mes "so much, I've been dying"; - mes "to hear from him. How is"; - mes "he doing, is he alright?"; - mes "I can't wait to read it..."; - next; - mes "[Kafra Employee]"; - mes "Oh, thank you for"; - mes "going through all the"; - mes "trouble of delivering all"; - mes "of this. This isn't anything"; - mes "special, but please take it."; - mes "Well, see you again~"; - getitem 513,3; //Banana - } - else { - mes "[Kafra Employee]"; - mes "Thanks again"; - mes "for going through"; - mes "all of that trouble~"; - } - close2; - cutin "",255; - end; - } - return; -} +}
\ No newline at end of file diff --git a/npc/jobs/1-1/swordman.txt b/npc/jobs/1-1/swordman.txt index 7f8793f0c..0e5f2e476 100644 --- a/npc/jobs/1-1/swordman.txt +++ b/npc/jobs/1-1/swordman.txt @@ -1,44 +1,17 @@ //===== eAthena Script ======================================= -//= Swordsman Job Quest +//= Renewal Swordman Job Change //===== By: ================================================== -//= kobra_k88; L0ne_W0lf +//= Kisuka //===== Current Version: ===================================== -//= 2.3 +//= 1.0 //===== Compatible With: ===================================== //= eAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] -//= Job quest for Swordman classes -//= Uses Job_sword1 as opposed to sword_1-1 -> sword_3-1. -//= EXPLOITABLE in a sense because while the sword_x-1 maps -//= are marked as "inside" by the client, job_sword1 is not. -//= giving players FREE camera rotation while doing the job quest. +//= Job Change to Swordman Class //===== Additional Comments: ================================= -//= Fully working. I have created a custom warp to get into the test room so disable -//= the one in your warp script or scripts. It is this warp: "izlude_in",40,170. -//= 1.1 Added instant job change for High Novice [Lupus] -//= 1.3 Added Baby Class support [Lupus] -//= 1.4 Changed the timing system to initnpctimer, now you do get warnings about time -//= and are limited to 7min to complete the quest [Fredzilla] -//= 1.5 Optimised and moved first checker to Jfunc1-1 [massdriller] -//= 1.5.1 Fixed possible EXP abuse [Lupus] -//= 1.5.2 Now saves/restores all quest skills [Lupus] -//= 1.5.3 Removed Duplicates [Silent] -//= 1.6 Merged back JFunc, CHANGED NUMBERS TO CONSTANTS [Lupus] -//= 1.7 changed location from its clone to the original [Lupus] -//= 1.7.1 Fixed warp on timeout [KarLaeda] -//= 1.8 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] -//= Removed "green" traps, quest is no longer timed. -//= No longer uses function "F_ToHigh" -//= 1.9 Dialog is official, but the Script is now custom as far as maps go. [L0ne_W0lf] -//= 1.9b Fixed usage of wrong jobchange func messing up baby classes [ultramage] -//= 2.0 Corrected NPC names to fall within proper resctrictions. [L0ne_W0lf] -//= 2.1 Fixed mistake in condition check. [L0ne_W0lf] -//= 2.2 Warp portals dont end with ; [Yommy] -//= 2.3 Added Quest Log commands. [L0ne_W0lf] +//= 1.0 First Version. [Kisuka] //============================================================ - -izlude_in,74,172,4 script Swordman#swd_1 119,{ +izlude_in,74,172,4 script Swordman#swd 119,{ if (Upper == 1) { if (Class == Job_Novice_High && (ADVJOB == Job_Lord_Knight || ADVJOB == Job_Paladin)) { mes "[Swordman]"; @@ -68,8 +41,7 @@ izlude_in,74,172,4 script Swordman#swd_1 119,{ mes "[Swordman]"; mes "Hmm... You look like a well-experienced Swordman. Still, I'm sure that you must train to improve your skills and gain strength!"; close; - } - else { + }else{ mes "[Swordman]"; mes "Hm...?"; mes "You're a reborn"; @@ -85,564 +57,71 @@ izlude_in,74,172,4 script Swordman#swd_1 119,{ close; } } - mes "[Swordman]"; - mes "Welcome to the"; - mes "Swordman Association!"; - next; - mes "[Swordman]"; - mes "So..."; - mes "What business"; - mes "brings you to us?"; + mes "[Swordman Guildsman]"; + mes "This is the Swordman Guild."; + mes "Why are you here?"; next; - switch(select("Job Change:About Swordman.:About the Job requirements.:Cancel.")) { + switch(select("Tell me about being a Swordman.:I want to be a Swordman.:Nothing.")) { case 1: - if (BaseJob == Job_Swordman) { - mes "[Swordman]"; - mes "Job change? Muhahaha! But you're already a Swordman! Be proud and be strong!"; - close; - } - else if (BaseJob != Job_Novice) { - mes "[Swordman]"; - mes "Haha! Oh boy. I'm flattered, but you already have another job! Still, I can't blame you..."; + mes "[Swordman Guildsman]"; + mes "So you wish to know more about the mighty Swordman? Okay!"; + next; + mes "[Swordman Guildsman]"; + mes "The most distinctive feature of the Swordman is that the Swordman can show us his/her real abilities in close combat."; + mes "There are three reasons!"; + next; + mes "[Swordman Guildsman]"; + mes "First, Swordman has higher HP than other jobs."; + mes "Second, except for Bows and Rods, Swordman can use all other weapons so they can fight at their optimal ability."; + mes "And third, most of the skills of the Swordman give powerful physical attacks."; + next; + mes "[Swordman Guildsman]"; + mes "Though I gave you a simple explanation, I believe you understand the core meaning of what it is to be a Swordman."; + mes "In my opinion, Swordman is the best job ever!"; + close; + case 2: + if(Class != Job_Novice) { + mes "[Swordman Guildsman]"; + if(Class == Job_Swordman) { + mes "You are already an excellent Swordman, aren't you?"; + mes "Just devote yourself to be a great Swordman."; + }else{ + mes "You already have one of the other jobs, don't you?"; + mes "You've gone too far with that joke."; + } close; - } - if (job_sword_q == 0) { - mes "[Swordman]"; - mes "So you wish to become a proud Swordman? By all means, please sign up!"; - next; - if (select("Sign up.:Cancel.") == 1) { - savepoint "izlude_in",65,165; - set job_sword_q,1; - setquest 1014; - mes "[Swordman]"; - mes "Ah, yes. Your application will be reviewed as soon as possible."; - next; - mes "[Swordman]"; - mes "If you have already met the requirements, you can take an interview right now. Would you like to?"; + }else{ + if (getskilllv("NV_BASIC") < 9) { + mes "[Swordman Guildsman]"; + mes "I'm sorry to tell you this but to be a Swordman, you must reach at least ^4A4AFFJob Level 10^000000."; + mes "and ^4A4AFFBasic Skill Level 9^000000."; next; - if (select("Yes.:No.") == 1) { - mes "[Swordman]"; - mes "Good, good."; - mes "Now, let's see..."; - next; - } - else { - mes "[Swordman]"; - mes "Alright then. Feel free to come back whenever you are ready. All you ahve to do now is meet our requirements. Good luck to you."; - close; - } - } - else { - mes "[Swordman]"; - mes "Hm? Alright, come back whenever you change your mind. The world can always use another Swordman!"; + mes "[Swordman Guildsman]"; + mes "Want to be a Swordman without having the minimum requirement?"; + mes "Do you think being a Swordman is that easy?"; close; } - } - mes "[Swordman]"; - if (getskilllv("NV_BASIC") < 9) { - mes "Hm, you still haven't learned all of the Basic Skills. You need to do that before you can become a Swordman."; - next; - mes "[Swordman]"; - mes "Check the requirements for job change again, and come back when you are ready."; - close; - } - else if (job_sword_q <= 3) { - mes "Hm, you've learned all of the Basic Skills but didn't take the test yet. You must first pass the exam before you can change your job to Swordman."; + mes "[Swordman Guildsman]"; + mes "Hmm, both your Job Level and Basic Skill Level check out."; + mes "Good. Do you want to be a Swordman right away?"; next; - mes "[Swordman]"; - mes "Enter the room to my right so that you can take the test. You'll need to speak to my right so you can enter the examination area."; - close; - } - else if (job_sword_q == 4) { - mes "Hahaha! Congratulations! Now you are fully qualified to be a real Swordman! I will transform you right away!"; + if(select("Yes, I do.:I'll consider it again.") == 2) { + mes "[Swordman Guildsman]"; + mes "Yeah. Prudent decision is needed for choosing a job."; + mes "But I feel sorry... that you consider it again after overcoming all the hardships...."; + close; + } + mes "[Swordman Guildsman]"; + mes "Congratulations! From now on, you are going to live a Swordman's life!"; + mes "Let's do it right now!"; next; + mes "[Swordman Guildsman]"; + mes "Congratulations again for being a Swordman and I hope that you participate in many activities for the revival of our guild."; callfunc "Job_Change",Job_Swordman; - set job_sword_q,0; - completequest 1014; - mes "[Swordman]"; - mes "Once again, congratulations. I expect that you will be a good representative of the Swordman Association."; + getitem 13415,1; // N_Falchion close; } - case 2: - mes "[Swordman]"; - mes "So you wish to know more about the mighty Swordman job? Well, then..."; - next; - mes "[Swordman]"; - mes "Amongst the First Class jobs, the Swordman is the best melee fighter for three reasons."; - mes "There are 3 reasons why Swordy is the best to approch a fight!"; - next; - mes "[Swordman]"; - mes "First, Swordman has the benefit of additional HP. Second, Swordman generally have access to a wider selection fo weapons than the other First Class jobs."; - next; - mes "[Swordman]"; - mes "And third, most of the Swordman skills are crushing physical attacks! In my opinion, being a Swordman is the best job ever!"; - close; case 3: - mes "[Swordman]"; - mes "Hmmm..."; - if (BaseJob != Job_Novice) { - if (BaseJob == Job_Swordman) - mes "But there's no need to tell you the requirements. You've met them and already became a Swordman! Well, anyway..."; - else - mes "It's too late for you to become a Swordman. You already have another job. Still, there's no harm in telling you..."; - } - next; - mes "[Swordman]"; - mes "First, you must learn all 9 of the Basic Skills. If you can't complete this requirement, you won't be able to change to any job."; - next; - mes "[Swordman]"; - mes "Second, you must pass the Swordman Test. Inquire the Test Manager located in the waiting room of the Swordman Test."; - next; - mes "[Swordman]"; - mes "If you can complete these 2 requirements, you can change to a Swordman anytime you want."; close; - case 4: - mes "[Swordman]"; - mes "Ha ha ha!"; - mes "Ah, youth!"; - close; - } -} - -izlude_in,62,170,6 script Swordman#swd_2 85,{ - mes "[Swordman]"; - if (BaseJob == Job_Swordman) { - mes "Sorry guy, but I can only allow Novices to enter the Test Hall."; - close; - } - else if (BaseJob != Job_Novice) { - mes "Who the hell are you?! Nobody, other than Novices, is permitted to come in here!"; - close; - } - else if (getskilllv("NV_BASIC") < 9) { - mes "Stop! I can't let you in until you learn all of the Basic Skills. The Test Hall isn't for goofing off!"; - close; - } - else if (job_sword_q == 4) { - mes "Hey. You need to talk to the Swordman in the center of the room, not me."; - close; - } - else if (job_sword_q == 0) { - mes "Stop! If you want to take the Swordman Test, you'll need to fill out an application first."; - next; - mes "[Swordman]"; - mes "The Swordman in the center of the room can help you with that, got it?"; - close; - } - else { - savepoint "izlude_in",65,165; - warp "izlude_in",39,170; - end; - } -} - -izlude_in,30,175,4 script Swordman#swd_3 92,{ - mes "[Swordman]"; - mes "I will tell you about the Test! Listen carefully, I won't repeat myself."; - next; - mes "[Swordman]"; - mes "The purpose of this test is to confirm whether or not you are qualified to be a Swordman. As you know, a Swordman needs physical strength and spirit!"; - next; - mes "[Swordman]"; - mes "Without those, you won't be able to become a Swordman. Now, the conditions for completing this test are very simple."; - next; - mes "[Swordman]"; - mes "You will travel through three courses and must reach the final checkpoint within ^FF000010 minutes^000000."; - next; - mes "[Swordman]"; - mes "If you choose to 'Surrender,' or if you run out of time, you will not pass the test."; - next; - mes "[Swordman]"; - mes "If you find that you are not strong enough to pass the test, head to the entrance of the course and talk to the checkpoint manager."; - next; - mes "[Swordman]"; - mes "As you travel through the three courses, you may fall to a random, underground area. The course is designed so that you can still find your way back."; - next; - mes "[Swordman]"; - mes "However, be careful, as this will waste your time! Godspeed to you."; - close; -} - -izlude_in,30,163,0 script Test Hall Staff#swd_1 105,{ - mes "[Test Hall Staff]"; - if (BaseJob == Job_Swordman) { - mes "Hm? How did you get inside? You're not supposed to be in here, so please leave now."; - close2; - warp "izlude_in",66,170; - end; } - else if (BaseJob != Job_Novice) { - mes "Who are you?! This place is for the Swordman Test! You're not allowed to be in here! Leave now!"; - close2; - warp "izlude_in",66,170; - end; - } - if (job_sword_q == 1) { - mes "So are you the one who wants to be a Swordman? Alright! You look reliable!"; - next; - mes "[Test Hall Staff]"; - mes "Try to relax and do your best. This course isn't so difficult."; - set job_sword_q,2; - } - else if (job_sword_q == 2) { - mes "Retesting? Try not to worry about it. It's good that you don't back down from a challenge! Here, take these and cheer up!"; - getitem 512,5; //Apple - set job_sword_q,3; - } - else if (job_sword_q == 3) - mes "Don't ever give up! Now retesting!"; - close2; - warp "job_sword1",10,245; - end; -} - -// Examination Courses NPCs -//============================================================ -// 1-1 -job_sword1,230,245,2 script Medic#swd_1 105,{ - callfunc "F_JobSwdMedic","1st"; -} -job_sword1,230,242,2 script Test Hall Staff#swd_2 105,{ - callfunc "F_JobSwdStaff",1; -} -job_sword1,230,207,2 script Medic#2swd_2 105,{ - callfunc "F_JobSwdMedic","2nd"; -} -job_sword1,230,204,2 script Test Hall Staff#2swd_3 105,{ - callfunc "F_JobSwdStaff",1; -} -job_sword1,223,167,2 script Mae#swd_1_success 92,{ - mapannounce "job_sword1","Applicant " + strcharinfo(0) + ". You successfully passed the test.",bc_map; - set job_sword_q,4; - mes "[Mae]"; - mes "I sencerely congratulate you for passing the test!"; - mes "I already sent your test result to the Job Department.Please inquire at the Officer in Centre.Thank you."; - close2; - warp "izlude_in",66,173; - end; -} - -// Examination Course Functions -//============================================================ -function script F_JobSwdMedic { - percentheal 100,0; - mes "[Medic]"; - mes "This is the "+getarg(0)+" check point!Cheer up!"; - close; -} - -function script F_JobSwdStaff { - mes "[Test Hall Staff]"; - mes "Do you surrender?"; - next; - if (select("Yes.:No.") == 1) { - mapannounce "job_sword1","Applicant " + strcharinfo(0) + " quit the test.",bc_map; - warp "izlude_in",65,165; - end; - } - mes "[Test Hall Staff]"; - mes "Bravo! Go for it again!"; - close; -} - -function script F_JobSwdTestStaff { -OnTouch: - mes "[Test Hall Staff]"; - mes "Applicant " + strcharinfo(0) + ". Do you surrender??"; - next; - if (select("Yes.:No.") == 1) { - mapannounce "job_sword1","Applicant " + strcharinfo(0) + " quit the test..",bc_map; - warp "izlude_in",65,165; - end; - } - warp "job_sword1",getarg(0),getarg(1); - end; -} - -function script F_JobSwdTestStaff2 { -OnTouch: - mapannounce "job_sword1","Applicant " + strcharinfo(0) + ". Pass the "+getarg(0)+" course.",bc_map; - warp "job_sword1",getarg(1),getarg(2); - end; -} - -// Examination Course 1 -//============================================================ -job_sword1,223,243,0 warp checkp1-2#swd_1 1,1,job_sword1,11,206 -job_sword1,223,205,0 warp checkp2-3#swd_1 1,1,job_sword1,11,168 - -job_sword1,7,245,0 script Test Hall Staff#swd_4 45,1,3,{ - callfunc "F_JobSwdTestStaff",10,245; -} - -job_sword1,8,207,0 script Test Hall Staff#swd_5 45,1,6,{ - callfunc "F_JobSwdTestStaff",11,207; -} - -job_sword1,8,169,0 script Test Hall Staff#swd_6 45,1,6,{ - callfunc "F_JobSwdTestStaff",11,169; -} - -job_sword1,192,244,0 script Test Hall Staff#swd_7 45,1,3,{ - callfunc "F_JobSwdTestStaff2","1st",215,244; -} - -job_sword1,193,207,0 script Test Hall Staff#swd_8 45,1,3,{ - callfunc "F_JobSwdTestStaff2","2nd",215,205; - warp "job_sword1",215,205; -} - -job_sword1,193,168,0 script Test Hall Staff#swd_9 45,1,3,{ - callfunc "F_JobSwdTestStaff2","3rd",215,167; -} - -// Pitfalls (Set 1) -//============================================================ -job_sword1,65,117,0 warp ����01-01 1,1,job_sword1,10,245 -job_sword1,98,27,0 warp ����02-01 1,1,job_sword1,11,207 -job_sword1,161,27,0 warp ����02-02 1,1,job_sword1,11,207 -job_sword1,239,117,0 warp ����03-01 1,1,job_sword1,11,169 - -job_sword1,16,251,0 script 1_blank_1_a::SwdTrap1 -1,0,1,{ -OnTouch: - switch(rand(1,5)) { - case 1: warp "job_sword1",65,56; end; - case 2: warp "job_sword1",29,26; end; - case 3: warp "job_sword1",43,16; end; - case 4: warp "job_sword1",23,112; end; - case 5: warp "job_sword1",58,83; end; - } -} -job_sword1,19,251,0 duplicate(SwdTrap1) 1_blank_1_b -1,0,1 -job_sword1,17,250,0 duplicate(SwdTrap1) 1_blank_1_c -1,1,0 -job_sword1,16,238,0 duplicate(SwdTrap1) 1_blank_2_a -1,0,1 -job_sword1,19,238,0 duplicate(SwdTrap1) 1_blank_2_b -1,0,1 -job_sword1,17,239,0 duplicate(SwdTrap1) 1_blank_2_c -1,0,1 -job_sword1,28,247,0 duplicate(SwdTrap1) 1_blank_3_a -1,4,0 -job_sword1,33,245,0 duplicate(SwdTrap1) 1_blank_3_b -1,0,2 -job_sword1,29,242,0 duplicate(SwdTrap1) 1_blank_3_c -1,4,0 -job_sword1,24,244,0 duplicate(SwdTrap1) 1_blank_3_d -1,0,2 -job_sword1,38,251,0 duplicate(SwdTrap1) 1_blank_4_a -1,0,1 -job_sword1,41,251,0 duplicate(SwdTrap1) 1_blank_4_b -1,0,1 -job_sword1,39,250,0 duplicate(SwdTrap1) 1_blank_4_c -1,1,0 -job_sword1,38,238,0 duplicate(SwdTrap1) 1_blank_5_a -1,0,1 -job_sword1,41,238,0 duplicate(SwdTrap1) 1_blank_5_b -1,0,1 -job_sword1,39,239,0 duplicate(SwdTrap1) 1_blank_5_c -1,1,0 -job_sword1,54,251,0 duplicate(SwdTrap1) 1_blank_6_a -1,0,1 -job_sword1,71,251,0 duplicate(SwdTrap1) 1_blank_6_b -1,0,1 -job_sword1,62,250,0 duplicate(SwdTrap1) 1_blank_6_c -1,9,0 -job_sword1,62,247,0 duplicate(SwdTrap1) 1_blank_7_a -1,8,0 -job_sword1,71,244,0 duplicate(SwdTrap1) 1_blank_7_b -1,0,2 -job_sword1,63,242,0 duplicate(SwdTrap1) 1_blank_7_c -1,8,0 -job_sword1,54,244,0 duplicate(SwdTrap1) 1_blank_7_d -1,0,2 -job_sword1,54,238,0 duplicate(SwdTrap1) 1_blank_8_a -1,0,1 -job_sword1,71,238,0 duplicate(SwdTrap1) 1_blank_8_b -1,0,1 -job_sword1,62,239,0 duplicate(SwdTrap1) 1_blank_8_c -1,9,0 -job_sword1,102,247,0 duplicate(SwdTrap1) 1_blank_9_a -1,2,0 -job_sword1,105,245,0 duplicate(SwdTrap1) 1_blank_9_b -1,0,2 -job_sword1,103,242,0 duplicate(SwdTrap1) 1_blank_9_c -1,2,0 -job_sword1,100,244,0 duplicate(SwdTrap1) 1_blank_9_d -1,0,2 -job_sword1,156,249,0 duplicate(SwdTrap1) 1_blank_10_a -1,14,0 -job_sword1,156,248,0 duplicate(SwdTrap1) 1_blank_10_b -1,14,0 -job_sword1,170,249,0 duplicate(SwdTrap1) 1_blank_10_c -1,1,0 -job_sword1,170,248,0 duplicate(SwdTrap1) 1_blank_10_d -1,1,0 -job_sword1,156,245,0 duplicate(SwdTrap1) 1_blank_11_a -1,14,0 -job_sword1,156,244,0 duplicate(SwdTrap1) 1_blank_11_b -1,14,0 -job_sword1,170,245,0 duplicate(SwdTrap1) 1_blank_11_c -1,1,0 -job_sword1,170,244,0 duplicate(SwdTrap1) 1_blank_11_d -1,1,0 -job_sword1,156,241,0 duplicate(SwdTrap1) 1_blank_12_a -1,14,0 -job_sword1,156,240,0 duplicate(SwdTrap1) 1_blank_12_b -1,14,0 -job_sword1,170,241,0 duplicate(SwdTrap1) 1_blank_12_c -1,1,0 -job_sword1,170,240,0 duplicate(SwdTrap1) 1_blank_12_d -1,1,0 -job_sword1,180,251,0 duplicate(SwdTrap1) 1_blank_13_a -1,0,1 -job_sword1,183,251,0 duplicate(SwdTrap1) 1_blank_13_b -1,0,1 -job_sword1,181,250,0 duplicate(SwdTrap1) 1_blank_13_c -1,1,0 -job_sword1,180,238,0 duplicate(SwdTrap1) 1_blank_14_a -1,0,1 -job_sword1,183,238,0 duplicate(SwdTrap1) 1_blank_14_b -1,0,1 -job_sword1,181,239,0 duplicate(SwdTrap1) 1_blank_14_c -1,1,0 - -job_sword1,193,245,0 warp 1_rest 1,3,job_sword1,215,244 - -// Pitfalls (Set 2) -//============================================================ -job_sword1,56,212,0 script 2_blank_1_a::SwdTrap2 -1,40,0,{ -OnTouch: - switch(rand(1,5)) { - case 1: warp "job_sword1",162,120; end; - case 2: warp "job_sword1",94,120; end; - case 3: warp "job_sword1",94,85; end; - case 4: warp "job_sword1",162,85; end; - case 5: warp "job_sword1",130,47; end; - } -} - -job_sword1,95,212,0 duplicate(SwdTrap2) 2_blank_1_b -1,2,0 -job_sword1,56,210,0 duplicate(SwdTrap2) 2_blank_2_a -1,40,0 -job_sword1,95,210,0 duplicate(SwdTrap2) 2_blank_2_b -1,2,0 -job_sword1,16,206,0 duplicate(SwdTrap2) 2_blank_2_c -1,0,3 -job_sword1,97,206,0 duplicate(SwdTrap2) 2_blank_2_d -1,0,3 -job_sword1,56,203,0 duplicate(SwdTrap2) 2_blank_2_e -1,40,0 -job_sword1,95,203,0 duplicate(SwdTrap2) 2_blank_2_f -1,2,0 -job_sword1,56,201,0 duplicate(SwdTrap2) 2_blank_3_a -1,40,0 -job_sword1,95,201,0 duplicate(SwdTrap2) 2_blank_3_b -1,2,0 - -job_sword1,113,212,0 duplicate(SwdTrap2) 2_blank_4_a -1,14,0 -job_sword1,125,212,0 duplicate(SwdTrap2) 2_blank_4_b -1,2,0 -job_sword1,113,210,0 duplicate(SwdTrap2) 2_blank_5_a -1,14,0 -job_sword1,125,210,0 duplicate(SwdTrap2) 2_blank_5_b -1,2,0 -job_sword1,100,206,0 duplicate(SwdTrap2) 2_blank_5_c -1,0,3 -job_sword1,127,206,0 duplicate(SwdTrap2) 2_blank_5_d -1,0,3 -job_sword1,113,203,0 duplicate(SwdTrap2) 2_blank_5_e -1,14,0 -job_sword1,125,210,0 duplicate(SwdTrap2) 2_blank_5_f -1,2,0 -job_sword1,113,201,0 duplicate(SwdTrap2) 2_blank_6_a -1,14,0 -job_sword1,113,201,0 duplicate(SwdTrap2) 2_blank_6_b -1,2,0 - -job_sword1,155,212,0 duplicate(SwdTrap2) 2_blank_7_a -1,21,0 -job_sword1,181,212,0 duplicate(SwdTrap2) 2_blank_7_b -1,2,0 -job_sword1,155,210,0 duplicate(SwdTrap2) 2_blank_8_a -1,21,0 -job_sword1,181,210,0 duplicate(SwdTrap2) 2_blank_8_b -1,2,0 -job_sword1,130,206,0 duplicate(SwdTrap2) 2_blank_8_c -1,0,3 -job_sword1,183,206,0 duplicate(SwdTrap2) 2_blank_8_d -1,0,3 -job_sword1,155,203,0 duplicate(SwdTrap2) 2_blank_8_e -1,21,0 -job_sword1,181,203,0 duplicate(SwdTrap2) 2_blank_8_f -1,2,0 -job_sword1,155,201,0 duplicate(SwdTrap2) 2_blank_9_a -1,40,0 -job_sword1,181,201,0 duplicate(SwdTrap2) 2_blank_9_b -1,2,0 - -// Pitfalls (Set 3) -//============================================================ -job_sword1,17,174,0 script 3_blank_1_a::SwdTrap3 -1,2,0,{ -OnTouch: - switch(rand(1,5)) { - case 1: warp "job_sword1",195,15; end; - case 2: warp "job_sword1",195,38; end; - case 3: warp "job_sword1",231,30; end; - case 4: warp "job_sword1",198,65; end; - case 5: warp "job_sword1",196,116; end; - } -} - -job_sword1,17,163,0 duplicate(SwdTrap3) 3_blank_2_a -1,2,0 -job_sword1,29,171,0 duplicate(SwdTrap3) 3_blank_3_a -1,2,0 -job_sword1,31,168,0 duplicate(SwdTrap3) 3_blank_3_b -1,0,2 -job_sword1,28,166,0 duplicate(SwdTrap3) 3_blank_3_c -1,2,0 -job_sword1,26,168,0 duplicate(SwdTrap3) 3_blank_3_d -1,0,2 -job_sword1,36,169,0 duplicate(SwdTrap3) 3_blank_4_a -1,0,0 -job_sword1,37,169,0 duplicate(SwdTrap3) 3_blank_4_b -1,0,0 -job_sword1,37,168,0 duplicate(SwdTrap3) 3_blank_4_c -1,0,0 -job_sword1,36,168,0 duplicate(SwdTrap3) 3_blank_4_c2 -1,0,0 -job_sword1,40,175,0 duplicate(SwdTrap3) 3_blank_5_a -1,0,1 -job_sword1,41,175,0 duplicate(SwdTrap3) 3_blank_5_b -1,0,1 -job_sword1,41,171,0 duplicate(SwdTrap3) 3_blank_6_a -1,1,0 -job_sword1,41,170,0 duplicate(SwdTrap3) 3_blank_6_b -1,1,0 -job_sword1,41,167,0 duplicate(SwdTrap3) 3_blank_6_c -1,1,0 -job_sword1,41,166,0 duplicate(SwdTrap3) 3_blank_6_d -1,1,0 -job_sword1,42,169,0 duplicate(SwdTrap3) 3_blank_6_e -1,0,1 -job_sword1,43,170,0 duplicate(SwdTrap3) 3_blank_6_f -1,0,1 -job_sword1,43,167,0 duplicate(SwdTrap3) 3_blank_6_g -1,0,1 -job_sword1,40,162,0 duplicate(SwdTrap3) 3_blank_7_a -1,0,1 -job_sword1,41,162,0 duplicate(SwdTrap3) 3_blank_7_b -1,0,1 -job_sword1,46,175,0 duplicate(SwdTrap3) 3_blank_8_a -1,0,1 -job_sword1,51,175,0 duplicate(SwdTrap3) 3_blank_8_b -1,0,1 -job_sword1,47,174,0 duplicate(SwdTrap3) 3_blank_8_c -1,1,0 -job_sword1,50,174,0 duplicate(SwdTrap3) 3_blank_8_d -1,1,0 -job_sword1,48,173,0 duplicate(SwdTrap3) 3_blank_8_e -1,0,1 -job_sword1,49,173,0 duplicate(SwdTrap3) 3_blank_8_f -1,0,1 -job_sword1,46,162,0 duplicate(SwdTrap3) 3_blank_9_a -1,0,1 -job_sword1,51,162,0 duplicate(SwdTrap3) 3_blank_9_b -1,0,1 -job_sword1,47,163,0 duplicate(SwdTrap3) 3_blank_9_c -1,1,0 -job_sword1,50,163,0 duplicate(SwdTrap3) 3_blank_9_d -1,1,0 -job_sword1,48,164,0 duplicate(SwdTrap3) 3_blank_9_e -1,0,1 -job_sword1,49,164,0 duplicate(SwdTrap3) 3_blank_9_f -1,0,1 -job_sword1,54,170,0 duplicate(SwdTrap3) 3_blank_10_a -1,0,1 -job_sword1,55,170,0 duplicate(SwdTrap3) 3_blank_10_b -1,0,1 -job_sword1,54,167,0 duplicate(SwdTrap3) 3_blank_10_c -1,0,1 -job_sword1,55,167,0 duplicate(SwdTrap3) 3_blank_10_d -1,0,1 -job_sword1,53,169,0 duplicate(SwdTrap3) 3_blank_10_e -1,1,0 -job_sword1,53,168,0 duplicate(SwdTrap3) 3_blank_10_f -1,1,0 -job_sword1,56,169,0 duplicate(SwdTrap3) 3_blank_10_g -1,1,0 -job_sword1,56,168,0 duplicate(SwdTrap3) 3_blank_10_h -1,1,0 -job_sword1,58,175,0 duplicate(SwdTrap3) 3_blank_11_a -1,0,1 -job_sword1,59,174,0 duplicate(SwdTrap3) 3_blank_11_b -1,1,0 -job_sword1,60,173,0 duplicate(SwdTrap3) 3_blank_11_c -1,0,1 -job_sword1,61,172,0 duplicate(SwdTrap3) 3_blank_11_d -1,1,0 -job_sword1,58,162,0 duplicate(SwdTrap3) 3_blank_12_a -1,0,1 -job_sword1,59,163,0 duplicate(SwdTrap3) 3_blank_12_b -1,1,0 -job_sword1,60,164,0 duplicate(SwdTrap3) 3_blank_12_c -1,0,1 -job_sword1,61,165,0 duplicate(SwdTrap3) 3_blank_12_d -1,1,0 -job_sword1,76,172,0 duplicate(SwdTrap3) 3_blank_13_a -1,1,0 -job_sword1,77,173,0 duplicate(SwdTrap3) 3_blank_13_b -1,0,1 -job_sword1,78,174,0 duplicate(SwdTrap3) 3_blank_13_c -1,1,0 -job_sword1,79,175,0 duplicate(SwdTrap3) 3_blank_13_d -1,0,1 -job_sword1,76,165,0 duplicate(SwdTrap3) 3_blank_14_a -1,1,0 -job_sword1,77,164,0 duplicate(SwdTrap3) 3_blank_14_b -1,0,1 -job_sword1,78,163,0 duplicate(SwdTrap3) 3_blank_14_c -1,1,0 -job_sword1,79,162,0 duplicate(SwdTrap3) 3_blank_14_d -1,0,1 -job_sword1,94,175,0 duplicate(SwdTrap3) 3_blank_15_a -1,0,1 -job_sword1,95,174,0 duplicate(SwdTrap3) 3_blank_15_b -1,1,0 -job_sword1,98,174,0 duplicate(SwdTrap3) 3_blank_15_c -1,1,0 -job_sword1,99,175,0 duplicate(SwdTrap3) 3_blank_16_d -1,0,1 -job_sword1,96,169,0 duplicate(SwdTrap3) 3_blank_17_a -1,0,0 -job_sword1,97,169,0 duplicate(SwdTrap3) 3_blank_17_b -1,0,0 -job_sword1,97,168,0 duplicate(SwdTrap3) 3_blank_17_c -1,0,0 -job_sword1,96,168,0 duplicate(SwdTrap3) 3_blank_17_d -1,0,0 -job_sword1,94,162,0 duplicate(SwdTrap3) 3_blank_18_a -1,0,1 -job_sword1,95,163,0 duplicate(SwdTrap3) 3_blank_18_b -1,1,0 -job_sword1,98,163,0 duplicate(SwdTrap3) 3_blank_18_c -1,1,0 -job_sword1,99,162,0 duplicate(SwdTrap3) 3_blank_18_d -1,0,1 -job_sword1,114,175,0 duplicate(SwdTrap3) 3_blank_19_a -1,0,1 -job_sword1,115,175,0 duplicate(SwdTrap3) 3_blank_19_b -1,0,1 -job_sword1,114,162,0 duplicate(SwdTrap3) 3_blank_20_a -1,0,1 -job_sword1,115,162,0 duplicate(SwdTrap3) 3_blank_20_b -1,0,1 -job_sword1,126,175,0 duplicate(SwdTrap3) 3_blank_21_a -1,0,1 -job_sword1,127,175,0 duplicate(SwdTrap3) 3_blank_21_b -1,0,1 -job_sword1,126,162,0 duplicate(SwdTrap3) 3_blank_23_a -1,0,1 -job_sword1,127,162,0 duplicate(SwdTrap3) 3_blank_23_b -1,0,1 -job_sword1,160,174,0 duplicate(SwdTrap3) 3_blank_24_a -1,0,2 -job_sword1,161,174,0 duplicate(SwdTrap3) 3_blank_24_b -1,0,2 -job_sword1,160,163,0 duplicate(SwdTrap3) 3_blank_25_a -1,0,2 -job_sword1,161,163,0 duplicate(SwdTrap3) 3_blank_25_b -1,0,2 -job_sword1,168,175,0 duplicate(SwdTrap3) 3_blank_26_a -1,0,2 -job_sword1,169,175,0 duplicate(SwdTrap3) 3_blank_26_b -1,0,2 -job_sword1,168,162,0 duplicate(SwdTrap3) 3_blank_27_a -1,0,2 -job_sword1,169,162,0 duplicate(SwdTrap3) 3_blank_27_b -1,0,2 -job_sword1,176,174,0 duplicate(SwdTrap3) 3_blank_28_a -1,0,2 -job_sword1,177,174,0 duplicate(SwdTrap3) 3_blank_28_b -1,0,2 -job_sword1,178,173,0 duplicate(SwdTrap3) 3_blank_28_c -1,1,0 -job_sword1,178,172,0 duplicate(SwdTrap3) 3_blank_28_d -1,1,0 -job_sword1,181,174,0 duplicate(SwdTrap3) 3_blank_28_e -1,2,0 -job_sword1,179,169,0 duplicate(SwdTrap3) 3_blank_29_a -1,3,0 -job_sword1,179,168,0 duplicate(SwdTrap3) 3_blank_29_b -1,3,0 -job_sword1,182,169,0 duplicate(SwdTrap3) 3_blank_29_c -1,0,2 -job_sword1,183,169,0 duplicate(SwdTrap3) 3_blank_29_d -1,0,2 -job_sword1,181,167,0 duplicate(SwdTrap3) 3_blank_29_e -1,1,0 -job_sword1,181,166,0 duplicate(SwdTrap3) 3_blank_29_f -1,1,0 -job_sword1,183,167,0 duplicate(SwdTrap3) 3_blank_29_g -1,0,1 -job_sword1,176,163,0 duplicate(SwdTrap3) 3_blank_30_a -1,0,2 -job_sword1,177,163,0 duplicate(SwdTrap3) 3_blank_30_b -1,0,2 -job_sword1,181,163,0 duplicate(SwdTrap3) 3_blank_30_c -1,2,0 - -// Monsters (all three courses) -//============================================================ -job_sword1,0,0,0,0 monster Chonchon 1183,20,0,0,0 -job_sword1,35,79,0,0 monster Fabre 1184,3,60000,30000,0 -job_sword1,50,108,0,0 monster Fabre 1184,3,60000,30000,0 -job_sword1,61,28,0,0 monster Fabre 1184,3,60000,30000,0 -job_sword1,61,92,0,0 monster Fabre 1184,3,60000,30000,0 -job_sword1,110,112,0,0 monster Fabre 1184,2,60000,30000,0 -job_sword1,161,94,0,0 monster Fabre 1184,2,60000,30000,0 -job_sword1,130,76,0,0 monster Fabre 1184,2,60000,30000,0 -job_sword1,103,58,0,0 monster Fabre 1184,2,60000,30000,0 -job_sword1,130,24,0,0 monster Fabre 1184,5,60000,30000,0 -job_sword1,201,36,0,0 monster Fabre 1184,2,60000,30000,0 -job_sword1,201,16,0,0 monster Fabre 1184,2,60000,30000,0 -job_sword1,239,44,0,0 monster Fabre 1184,3,60000,30000,0 -job_sword1,239,76,0,0 monster Fabre 1184,2,60000,30000,0 -job_sword1,231,101,0,0 monster Fabre 1184,2,60000,30000,0 -job_sword1,234,117,0,0 monster Fabre 1184,2,60000,30000,0 -job_sword1,198,91,0,0 monster Fabre 1184,2,60000,30000,0 -job_sword1,200,63,0,0 monster Fabre 1184,2,60000,30000,0 - - -//============================================================ -// mapflag -//============================================================ +}
\ No newline at end of file diff --git a/npc/jobs/1-1/thief.txt b/npc/jobs/1-1/thief.txt index 088c14f08..b6f049518 100644 --- a/npc/jobs/1-1/thief.txt +++ b/npc/jobs/1-1/thief.txt @@ -1,28 +1,17 @@ -//===== eAthena Script ======================================= -//= Thief Job Quest -//===== By: ================================================== -//= eAthena dev team -//===== Current Version: ===================================== -//= 1.8 -//===== Compatible With: ===================================== +//===== eAthena Script ======================================= +//= Renewal Thief Job Change +//===== By: ================================================== +//= Kisuka +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== //= eAthena SVN -//===== Description: ========================================= -//= [Aegis Conversion] -//= Job quest for Thief classes -//===== Additional Comments: ================================= -//= Fully working -//= v1.1 Added instant job change for High Novice [Lupus] -//= 1.3 Added Baby Class support [Lupus] -//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] -//= Fixed possible EXP abuse [Lupus] -//= 1.5 Now saves/restores all quest skills [Lupus] -//= 1.6 Merged back JFunc [Lupus] 1.6a typos -//= 1.7 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] -//= No longer uses function "F_ToHigh" -//= 1.8 Added Quest Log commands. [L0ne_W0lf] -//============================================================ - -moc_prydb1,39,129,2 script Thief Guide 69,{ +//===== Description: ========================================= +//= Job Change to Thief Class +//===== Additional Comments: ================================= +//= 1.0 First Version. [Kisuka] +//============================================================ +moc_prydb1,39,129,2 script Thief Guide#thief 69,{ if (Upper == 1) { if (ADVJOB == Job_Assassin_Cross || ADVJOB == Job_Stalker) { if (Class == Job_Novice_High) { @@ -49,8 +38,7 @@ moc_prydb1,39,129,2 script Thief Guide 69,{ mes "[Thief Guide]"; mes "Since you've become a Thief, live as a Thief. Now, go for it! Next~"; close; - } - else { + }else{ mes "[Thief Guide]"; if (sex) mes "Hey, dude."; @@ -58,8 +46,7 @@ moc_prydb1,39,129,2 script Thief Guide 69,{ mes "Hey, baby~"; close; } - } - else { + }else{ mes "[Thief Guide]"; if (sex) mes "Hey, dude."; @@ -69,471 +56,152 @@ moc_prydb1,39,129,2 script Thief Guide 69,{ close; } } - if (BaseJob == Job_Thief) { - mes "[Thief Guide]"; - mes "If you have a problem, feel free to speak to me anytime, alright?"; - close; - } - else if (BaseJob != Job_Novice && BaseJob != Job_Thief) { - mes "[Thief Guide]"; - mes "What the heck...?"; - switch(Class) { - case 1: - mes "Huh."; - mes "Now, that's"; - mes "a big sword."; - next; - mes "[Thief Guide]"; - mes "So..."; - mes "Trying to make"; - mes "up for something"; - mes "...Buddy?"; - break; - case 2: - mes "What's a Mage doin' here? Shouldn't you be doing card tricks elsewhere? Oh well, it's a free country..."; - next; - mes "[Thief Guide]"; - mes "Oh wait,"; - mes "it's not..."; - mes "Get outta here!"; - break; - case 3: - mes "Man, shouldn't you"; - mes "Archers be playing"; - mes "in the forest"; - mes "or something?"; - break; - case 4: - mes "You know we all steal for a living, right? What are you doing in this kinda place, Acolyte?"; - break; - case 5: - mes "You're a Merchant,"; - mes "right? Why are you"; - mes "walking into a den"; - mes "of Thieves?!"; - next; - mes "[Thief Guide]"; - mes "It's like you're begging"; - mes "us to steal from you!"; - mes "Come on, hurry and"; - mes "get outta here~"; - break; - case 8: - mes "Oh my God..."; - mes "Am I dying?"; - next; - mes "[Thief Guide]"; - mes "Why else would a Priest come here? I guess I better start confessing all of my misdeeds."; - close; - case 12: - mes "Didn't you use to be one of us?! Man, you changed. You seem real dangerous now..."; - close; - case 17: - mes "Man, you got real cool all of a sudden! You must have some skills I can only dream of!"; - close; - } + if(q_job_thief == 1) { + mes "[Thief Guildsman]"; + mes "Ehh... Seems like a beloved "+(Sex?"son":"daughter")+" of a rich family, but why are you here in this dirty place?"; next; - mes "[Thief Guide]"; - mes "*Sigh* Look, there's really no need for you to be in this kind of place. You oughta go where you ought to go."; - close; - } - if (job_thief_q == 3 && countitem(1069) > 0 || countitem(1070) > 0) { - mes "[Thief Guide]"; - mes "Hmmm?"; - mes "You gathered Mushrooms for"; - mes "the Thief test, right?"; - next; - mes "[Thief Guide]"; - mes "Here, talk to the other guy right next to me. He's the one in charge of checking your Mushrooms."; - close; + 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; } - else if (job_thief_q == 3) { - mes "[Thief Guide]"; - mes "So how was the"; - mes "Mushroom Farm?"; - mes "Have any fun?"; - next; - if (select("Yeah, kinda Cool.:It was horrible.") == 1) { - mes "[Thief Guide]"; - mes "Heh heh! That's a good attitude. In our line of work, you gotta enjoy getting your hands dirty, one way or another."; + if(Class != Job_Novice) { + if(Class == Job_Thief) { + mes "[Thief Guildsman]"; + mes "Hey~ if you have any trouble, get it out to me anytime, huh?"; close; + }else{ + if(Sex) { + mes "[Thief Guildsman]"; + mes "What the heck...?"; + mes "Huh.. you are a "+jobname(Class)+" blockhead...!"; + next; + mes "[Thief Guildsman]"; + mes "Hey, brother."; + mes "Why are you here? Go back to your place~ go back~~"; + close; + }else{ + mes "[Thief Guildsman]"; + mes "What the heck...?"; + next; + mes "[Thief Guildsman]"; + mes "Hey, lady."; + mes "Why are you here? Go back to your place~ go back~~"; + close; + } } - mes "[Thief Guide]"; - mes "Yeah? I've been there too, so I can see why that place isn't everyone's cup of tea. Still, being a Thief isn't all glamour and trendy night life."; - close; } - if (job_thief_q == 2) { - mes "[Thief Guide]"; - mes "Hey, whaddya doin' here? Aren't you supposed to be gathering Mushrooms? Or did you need it explained to you again?"; - next; - if (select("Yes.:No, that's okay.") == 1) { - mes "[Thief Guide]"; - mes "*Sigh* Well, there's always one in the bunch. Alright, listen carefully."; - next; - mes "[Thief Guide]"; - mes "Alright, for your test, you gotta steal Mushrooms from a farm. Don't worry, the guy who owns the farm deserves to be robbed."; - next; - mes "[Thief Guide]"; - mes "Anyway, you gotta gather two kinds of Mushrooms: ^0000FFOrange Net Mushrooms^000000 and ^0000FFOrange Gooey Mushrooms^000000."; - next; - mes "[Thief Guide]"; - mes "Be careful, since there are monsters are the farm that are there to protect the Mushrooms. So this will be no walk in the park."; - next; - mes "[Thief Guide]"; - mes "When you come back here after gathering Mushrooms, you'll be graded on the Mushrooms you've collected."; - next; - mes "[Thief Guide]"; - mes "Each Orange Net Mushroom gets you 3 points, and you get 1 point for each Orange Gooey Mushroom. You need a total of 25 points to pass the test."; - next; - mes "[Thief Guide]"; - mes "Go outside and keep going ahead toward the Eastern Field of the Pyramids. Then you will see one of our comrades between two columns."; - next; - mes "[Thief Guide]"; - mes "Speak to that guy, and he'll take you to the farm through the backdoor."; - next; - mes "[Thief Guide]"; - mes "On that field, I think his coordinates are '^FF0000141, 125^000000.' Just type ^3355FF/where^000000 in the right side of your chat box to check your present coordinates."; - close; - } - mes "[Thief Guide]"; - mes "Huh. For a second there, I thought you had something really important to tell me."; + mes "[Thief Guildsman]"; + mes "Ehh... Seems like a beloved "+(Sex?"son":"daughter")+" of a rich family, but why are you here in this dirty place?"; + next; + if(select("I want to be a Thief.:Nothing.") == 2) { + mes "[Thief Guildsman]"; + mes "You know you cannot be a thief without an application....."; + mes "What's on your mind..?"; close; } - mes "[Thief Guide]"; - if (job_thief_q == 0) { - mes "What brings you down"; - mes "here to this rathole?"; - } - else { - mes "Ah..."; - mes "You came back."; - mes "Are you sure you're"; - mes "ready to try again?"; - } + 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; - if (select("Hey, I came here to be a Thief!:Nah, I'm just looking around.") == 1) { - if (job_thief_q == 0) { - mes "[Thief Guide]"; - mes "Heh, I like your confidence. Still, you know being a Thief isn't all what it's cracked up to be."; - next; - mes "[Thief Guide]"; - mes "Still..."; - mes "Do you really"; - mes "want to be"; - mes "a Thief?"; - next; - switch(select("Yeah.:No, just wasting your time.:Why did you become a Thief?")) { - case 1: - mes "[Thief Guide]"; - mes "Really..."; - break; - case 2: - mes "[Thief Guide]"; - mes "Yeah..."; - mes "I can see that."; - break; - case 3: - mes "[Thief Guide]"; - mes "Me...?"; - mes "I had no choice at the time. It was either steal or starve. But it's not like I need to give you my life story."; - break; - } - next; - mes "[Thief Guide]"; - mes "So do you want to"; - mes "apply to become"; - mes "a Thief or not?"; - next; - switch(select("Yes, I will.:I'm too scared to be a Thief!")) { - case 1: - mes "[Thief Guide]"; - mes "Alright, tell"; - mes "me your name."; - next; - mes "[Thief Guide]"; - mes "" + strcharinfo(0) + "?"; - mes "What kind of name is " + strcharinfo(0) + "? Anyway, give me a second."; - set job_thief_q,1; - next; - mes "[Thief Guide]"; - mes "Alright, your registration has been processed. Okay, you can begin your test if you're ready."; - next; - switch(select("Yeah, I'm ready.:No, I'm not ready yet.")) { - case 1: - break; - case 2: - mes "[Thief Guide]"; - mes "Not ready?"; - mes "How can you"; - mes "not be ready?!"; - close; - } - break; - case 2: - mes "[Thief Guide]"; - mes "Too scared?!?"; - mes "Hahahahahahah!"; - mes "Oh, please...!"; - mes "That's hilarious!"; - close; - } - } - else { - mes "[Thief Guide]"; - mes "Okay..."; - mes "Give me"; - mes "one second."; - next; - } - mes "[Thief Guide]"; - mes "Your name is..."; - mes strcharinfo(0) + "? Um, where is it? Ah, here it is. Let's see..."; - next; - mes "[Thief Guide]"; - if (getskilllv("NV_BASIC") < 9) { - mes "Isn't that cute? I can see you're ambitious, but you gotta learn all of the Basic Skills before you can become a Thief."; - close; - } - mes "Alright. I looked at your Felony Record, and you seem to have a very interesting history. You might have what it takes to be a Thief."; - next; - mes "[Thief Guide]"; - mes "Because I feel like it, I now decree that you have passed this interview. Good work!"; - set job_thief_q,2; - setquest 1013; - next; - mes "[Thief Guide]"; - mes "Now, your actual abilities will need to be tested. Do you know anything about the test?"; - next; - switch(select("Yes, I do.:Sorry, I don't.")) { - case 1: - mes "[Thief Guide]"; - mes "Oh yeah? Well, this makes things a lot easier."; - break; - case 2: - mes "[Thief Guide]"; - mes "Alright, let me inform you then. Listen carefully. This test decides if you are worthy of becoming a Thief."; - next; - mes "[Thief Guide]"; - mes "You will be sneaking to Shibu's Farm. He is the worst Merchant, in terms of character, in Morroc."; - next; - mes "[Thief Guide]"; - mes "Alright, for your test, you gotta steal Mushrooms from his farm. Don't worry, that guy deserves to be robbed."; - next; - mes "[Thief Guide]"; - mes "Anyway, you gotta gather two kinds of Mushrooms: ^0000FFOrange Net Mushrooms^000000 and ^0000FFOrange Gooey Mushrooms^000000."; - next; - mes "[Thief Guide]"; - mes "Be careful, since there are monsters are the farm that are there to protect the Mushrooms. So this will be no walk in the park."; - next; - mes "[Thief Guide]"; - mes "When you come back here after gathering Mushrooms, you'll be graded on the Mushrooms you've collected."; - next; - mes "[Thief Guide]"; - mes "Each Orange Net Mushroom gets you 3 points, and you get 1 point for each Orange Gooey Mushroom. You need a total of 25 points to pass the test."; - next; - mes "[Thief Guide]"; - mes "Go outside and keep going ahead toward the Eastern Field of the Pyramids. Then you will see one of our comrades between two columns."; - next; - mes "[Thief Guide]"; - mes "Speak to that guy, and he'll take you to the farm through the backdoor."; - next; - mes "[Thief Guide]"; - mes "On that field, I think his coordinates are '^FF0000141, 125^000000.' Just type ^3355FF/where^000000 in the right side of your chat box to check your present coordinates."; - } - next; - mes "[Thief Guide]"; - mes "Don't forget to make plans and prepare yourself before you go inside the Mushroom Farm. Move as quickly as you can and try not to get killed, alright?"; + mes "[Thief Guildsman]"; + mes "Do you want to be a thief so badly?"; + next; + switch(select("Yes.:No.:How about you?")) { + case 1: + mes "[Thief Guildsman]"; + mes "Oh, do you...? Huh.. well... I do live and learn to see strange people like you."; + next; + break; + case 2: + mes "[Thief Guildsman]"; + mes "Then why are you here? Do you think you can become a thief so easily?"; + next; + break; + case 3: + mes "[Thief Guildsman]"; + mes "Eh..? me? me?"; + mes "Well... I just fit well to being a thief... characteristically... I don't mind this silly matter."; + next; + break; + } + mes "[Thief Guildsman]"; + mes "Anyway, in the outside world, never say that you want to be a Thief!!"; + next; + mes "[Thief Guildsman]"; + mes "So, do you want to apply for being a Thief?"; + next; + if(select("Yes, I do.:No.") == 2) { + mes "[Thief Guildsman]"; + mes "Well... do what you want to do~ Go your way~"; close; } + mes "[Thief Guildsman]"; + mes "Alright, tell me your name. Huh? What?"; + mes ""+strcharinfo(0)+". So "+strcharinfo(0)+", right...?"; + next; + if (getskilllv("NV_BASIC") < 9) { + mes "[Thief Guildsman]"; + mes "I can see your strong will to become a Thief......"; + mes "But only with your will, you cannot make it in a real fight, can you?"; + mes "So go and reach at least Basic Skill Level 9."; + close; + } + mes "[Thief Guildsman]"; + mes "Hmm.... I found your interesting criminal records from the data of the detective agency. Well you seem to have what it takes to be a good thief."; + mes ""+strcharinfo(0)+". I now declare that you have passed the job interview!"; + next; + mes "[Thief Guildsman]"; + mes "Well, I'm not in charge of making you a Thief. I just accept applications, get it?"; + mes "If you want to become a Thief, ask the guy next to me."; + set q_job_thief,1; close; } -moc_prydb1,42,133,2 script Comrade 118,{ - if (BaseJob == Job_Thief) { - mes "[Brad]"; - mes "We don't have any special events yet. Come some other time when there's news, alright?"; - close; - } - else if (BaseJob != Job_Novice && BaseJob != Job_Thief) { - mes "[Comrade]"; - mes "Um..."; - mes "You don't look"; - mes "like a Thief."; - next; - mes "[Comrade]"; - mes "What the heck are"; - mes "you doing here anyway?"; - close; - } - if (job_thief_q == 0 || job_thief_q == 1) { - mes "[Comrade]"; - mes "What's the matter? If you want to be a Thief, speak to the girl beside me."; - close; - } - else if (job_thief_q == 2) { - mes "[Comrade]"; - mes "Did you pass the interview?"; - mes "Then what are you waiting for?"; - close; - } - else if (job_thief_q == 3) { - mes "[Comrade]"; - mes "Ah, the guide told me about you. So, let me check your mushrooms..."; - if (countitem(1069) == 0 && countitem(1070) == 0) { - next; - mes "[Comrade]"; - mes "What the hell..."; - mes "You don't have any Mushrooms at all! Go back and get them. Otherwise, you won't pass the test and become a Thief!"; - close; - } - next; - set .@thief_item1,countitem(1069) * 3; - set .@thief_item2,countitem(1070); - set .@total_thief,.@thief_item1 + .@thief_item2; - set .@money_thief,((.@thief_item1 * 5) + (.@thief_item2 * 2)) + 200; - mes "[Comrade]"; - if (countitem(1069) != 0) { - mes "First, let me check the Orange Net Mushrooms you got."; - mes "Huh, " + countitem(1069) + " of them."; - } - if (countitem(1070) != 0) - mes "Now I'll just check your Orange Gooey Mushrooms. That's " + countitem(1070) + " you gathered."; - next; - mes "[Comrade]"; - mes "So that would"; - mes "bring your total to..."; - next; - mes "[Comrade]"; - mes "Hmmm. " + .@total_thief + " degrees, multiplied by the speed of light, divided by the integral of pi times height plus the absolute value of politics..."; - next; - mes "[Comrade]"; - mes "Okay!"; - mes "I got it."; - next; - mes "[Comrade]"; - if (.@total_thief > 25) { - mes "You got more"; - mes "than 25 points!"; - mes "Awesome!"; - } - else if (.@total_thief == 25) { - mes "Exactly 25 points!"; - mes "You did it! Badass!"; - } - else { - mes "Definitely less than the 25 points you need to pass. Go out there and get me more Mushrooms!"; - close; - } - next; - mes "[Comrade]"; - mes strcharinfo(0) + "..."; - mes "You have passed the official Thief Test. You are now one of us."; - if (countitem(1069) != 0) delitem 1069,countitem(1069); //Mushroom_Of_Thief_1 - if (countitem(1070) != 0) delitem 1070,countitem(1070); //Mushroom_Of_Thief_2 - callfunc "Job_Change",Job_Thief; - callfunc "F_ClearJobVar"; - completequest 1013; - next; - mes "[Comrade]"; - mes "Congratulations on becoming a Thief! From now, be an honorable representative of the Thief's Guild."; - next; - mes "[Comrade]"; - mes "If you bring disgrace to our guild, you will be killed. I expect you to bring our comrades pride."; +moc_prydb1,42,133,2 script Thief Guildsman#thief 118,{ + if(q_job_thief == 1) { + mes "[Thief Guildsman]"; + mes "Alright. You must have passed the job interview, huh?"; + mes "Good. I'll accept you."; + mes "Let's begin the job-changing ceremony of our guild!"; + next; + mes "[Commander of Thief Guild]"; + mes "'"+strcharinfo(0)+".'"; + mes "'For those who are ready, the moonlight shall open the way. Now you are fully ready, I now officially allow you to become a member of the Thief Guild.'"; + jobchange Job_Thief; + set q_job_thief,0; + getitem 13041,1; // N_Main_Gauche + next; + mes "[Commander of Thief Guild]"; + mes "'Congratulations on becoming a Thief.'"; + mes "'From now on, keep the rules of our guild and be an honorable member.'"; + mes "'If you bring us any disgrace by breaking our rules, you better watch your back.'"; + mes "'Anyway, I expect you to be a great thief.'"; next; mes "[Brad]"; - mes "*Ahem* Welcome to the Guild, comrade! I'm Brad, and I'm in charge of human resources here."; + mes "Heee~Yaaaa~! Congratulations! My friend."; + mes "My name is 'Brad'. I'm in charge of human resources here."; + mes "I'm not sure for now but you'll have more chances to see me later on."; next; mes "[Brad]"; - mes "Here is a small subsidy for a Newbie like you. Spend it whereever you want. Alright then, I'll see you around~"; - set zeny,zeny+.@money_thief; - close; - } -} - -moc_ruins,141,125,3 script Mr. Irrelevant 83,{ - if (BaseJob == Job_Thief) { - mes "[Mr. Irrelevant]"; - mes "Ah, I see that you are now a Thief. I always knew you'd join us."; - next; - mes "[Mr. Irrelevant]"; - mes "Stealing from a Mushroom farm is too easy for you now. You should build up your skills and master our craft."; + mes "Okay, I've done what I can do to you, so go on your way. I'm quite a busy man."; + mes "See you again."; close; } - else if (BaseJob != Job_Novice && BaseJob != Job_Thief) { - mes "[Mr. Irrelevant]"; - switch(rand(4)) { - case 1: - mes "I could use a good, hard drink."; - close; - case 2: - mes "Gimme your money."; - next; - mes "[Mr. Irrelevant]"; - mes "Kidding, I'm off the clock."; - close; - case 3: - mes "WHO YOU CALLING A PSYCHO?!?!"; - close; - case 4: - mes "I've got nothing to say to you. Would you mind leaving me alone?"; - close; - default: - mes "Today looks like a good day to go to the pyramids and hunt with some of my friends."; - close; - } - } - if (job_thief_q == 3) { - mes "[Mr. Irrelevant]"; - mes "Hahahahaha~!"; - mes "You haven't"; - mes "passed the test yet?"; - mes "Alright, I'll let you in..."; - close2; - switch(rand(5)) { - case 1: warp "job_thief1",228,106; end; - case 2: warp "job_thief1",38,50; end; - case 3: warp "job_thief1",66,331; end; - case 4: warp "job_thief1",196,331; end; - default: warp "job_thief1",309,234; end; + if(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~"; } - } - else if (job_thief_q == 2) { - mes "[Mr. Irrelevant]"; - mes "Hmm..."; - mes "You've come to take the test, right? I can see in your eyes that you know something."; - next; - mes "[Mr. Irrelevant]"; - mes "Your name is " + strcharinfo(0) + "? Ah, it's on the list. Alright, I'll let you into the Mushroom Farm , but I can't guarantee your safety..."; - close2; - set job_thief_q,3; - switch(rand(5)) { - case 1: warp "job_thief1",228,106; end; - case 2: warp "job_thief1",38,50; end; - case 3: warp "job_thief1",66,331; end; - case 4: warp "job_thief1",196,331; end; - default: warp "job_thief1",309,234; end; - } - } - else if (job_thief_q == 1) { - mes "[Mr. Irrelevant]"; - mes "There is this strange smell coming from... You. Now why would that be?"; close; } - mes "[Mr. Irrelevant]"; - mes "Hey Novice! Why don't you join the ranks of the Thief Guild? You newbies are always welcome to join us and our selfish cause."; - next; - mes "[Mr. Irrelevant]"; - mes "You can get more information in the Underground Room in the Pyramid 1 BF."; + mes "[Thief Guildsman]"; + mes "Ho? Why is a novice like you visiting here?"; + mes "If you are here to be a Thief, ask the nasty-tempered lady right next to me."; close; -} - -// Monsters -//============================================================ -job_thief1,0,0,0,0 monster Orange Mushroom 1182,180,0,0,0 -job_thief1,0,0,0,0 monster Fabre 1184,50,0,0,0 -job_thief1,0,0,0,0 monster Chonchon 1183,50,0,0,0 -job_thief1,0,0,0,0 monster Spore 1014,30,0,0,0 - -//============================================================ -// mapflag -//============================================================ +}
\ No newline at end of file diff --git a/npc/jobs/3-1/archbishop.txt b/npc/jobs/3-1/archbishop.txt new file mode 100644 index 000000000..976a66dfa --- /dev/null +++ b/npc/jobs/3-1/archbishop.txt @@ -0,0 +1,2290 @@ +//===== eAthena Script =======================================
+//= Arch Bishop Job Quest
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena SVN
+//===== Description: =========================================
+//= [Aegis Conversion]
+//= Job change script fr Third class (Arch Bishop)
+//= Does not entirely support changing to Baby Third Class.
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//= 1.1 Fixed class checks for arch bishops.
+//============================================================
+
+prt_church,103,88,3 script Praying Minister#arch 60,{
+ if (BaseJob != Job_Priest) {
+ if (Class == Job_Archbishop || Class == Job_Archbishop_H || Class == Job_Baby_Bishop) {
+ mes "[Praying Minister]";
+ mes "Ah! An Archbishop.";
+ mes "You have reached the state of light.";
+ mes "I hope you give happiness and honor to people during your adventures.";
+ close;
+ }
+ else {
+ mes "[Praying Minister]";
+ mes "In front of the Almighty God Odin, there shall be no person smarter than him, and there will be no person more merciful than him.";
+ next;
+ mes "[Praying Minister]";
+ mes "All ministers of Odin should be diligent. They should never be too lazy to serve Odin.";
+ next;
+ mes "[Praying Minister]";
+ mes "Thesedays, I've heard that ministers are becoming lax in their duty to Odin and adorn themselves with the splendors of the world.";
+ next;
+ mes "[Praying Minister]";
+ mes "If you see any of these ministers, can you ask to them to go to the church in prontera?";
+ next;
+ mes "[Praying Minister]";
+ mes "They give out a special aura so you can easily recognize them.";
+ mes "I'm going to make them ministers worthy of serving Odin.";
+ close;
+ }
+ }
+ else {
+ if (Upper == 4) {
+ mes "[Praying Minister]";
+ mes "In front of the Almighty God Odin, there shall be no person smarter than him, and there will be no person more merciful than him.";
+ next;
+ mes "[Praying Minister]";
+ mes "All ministers of Odin should be diligent. They should never be too lazy to serve Odin.";
+ next;
+ mes "[Praying Minister]";
+ mes "Thesedays, I've heard that ministers are becoming lax in their duty to Odin and adorn themselves with the splendors of the world.";
+ next;
+ mes "[Praying Minister]";
+ mes "If you see any of these ministers, can you ask to them to go to the church in prontera?";
+ next;
+ mes "[Praying Minister]";
+ mes "They give out a special aura so you can easily recognize them.";
+ mes "I'm going to make them ministers worthy of serving Odin.";
+ close;
+ }
+ if ((BaseLevel == 99) && (JobLevel > 49)) {
+ if (job_arch == 0) {
+ if (SkillPoint) {
+ mes "You can't change jobs without using all your skill points. Please use all of your skill points before applying to change jobs~";
+ close;
+ }
+ mes "[Praying Minister]";
+ mes "In front of the Almighty God Odin, there shall be no person smarter than him, and there will be no person more merciful than him.";
+ next;
+ mes "[Praying Minister]";
+ mes "All ministers of Odin should be diligent. They should never be too lazy to serve Odin.";
+ next;
+ mes "[Praying Minister]";
+ if (Sex == 1)
+ mes "Brother, how has your life been?";
+ else
+ mes "Sister, how has your life been?";
+ mes "Have you lived it to it's fullest?";
+ mes "Have you served your life in the light of Odin?";
+ next;
+ mes "[Praying Minister]";
+ mes "We are ministers and our behavior is seen as acts of the Gods.";
+ mes "We should always be mindful of this.";
+ next;
+ mes "[Praying Minister]";
+ mes "We should always tell the truth.";
+ mes "We should not fall prey to lies and deceit.";
+ next;
+ mes "[Praying Minister]";
+ if (Sex == 1)
+ mes "Brother...";
+ else
+ mes "Sister...";
+ mes "Even though we serve Odin, we are normal people.";
+ mes "We can be degraded in spite of ourselves and we must realize that.";
+ next;
+ mes "[Praying Minister]";
+ mes "We always try to keep our original intention in mind and spread Odin's rule.";
+ next;
+ select("How do I become like that?");
+ mes "[Praying Minister]";
+ mes "That's a good question.";
+ mes "We have lots of methods.";
+ mes "But, I recommend this.";
+ next;
+ mes "[Praying Minister]";
+ mes "Have you ever heard of a";
+ mes "^3131FFHoly Pilgrimage^000000?";
+ mes "A Holy Pilgrimage means going to a holy place to pray to the God Odin for protection and grace.";
+ next;
+ mes "[Praying Minister]";
+ mes "When you pray to Odin in the holy place, you will feel that you are born again.";
+ next;
+ mes "[Praying Minister]";
+ mes "What do you think?";
+ mes "Would you like to do a Holy Pilgrimage?";
+ next;
+ switch(select("Yes I want to.:I'll think about it.")) {
+ case 1:
+ mes "[Praying Minister]";
+ mes "That's the correct attitude.";
+ mes "A person who lives in one's mundane life would better have a new mind and body and evolve to the way of a true minister of Odin.";
+ next;
+ mes "[Praying Minister]";
+ mes "There is a small village named Umbala far from here.";
+ mes "That village is a where a tribe lives in harmony with nature.";
+ next;
+ mes "[Praying Minister]";
+ mes "Go there and find Priest Dayan.";
+ mes "Tell him exactly, ''^3131FFI'm here for the Holy Pilgrimage^000000.''";
+ next;
+ mes "[Praying Minister]";
+ mes "He's very old so he is hard of hearing.";
+ mes "You have to speak loud and clearly. You got it?";
+ mes "I hope that this paves the way for you to live in the light of Odin......";
+ set job_arch,1;
+ setquest 2187;
+ close;
+ case 2:
+ mes "[Praying Minister]";
+ mes "A Holy Pilgrimage isn't that difficult.";
+ mes "Just be mindful that once you start the path you will be on your way to the way of a true minister of Odin.";
+ next;
+ mes "[Praying Minister]";
+ mes "Feel free to visit me if you change your mind.";
+ mes "I'll always be here for you.";
+ close;
+ }
+ }
+ else {
+ mes "[Praying Minister]";
+ mes "How's it going?";
+ mes "Did you meet Priest Dayan in Umbala?";
+ close;
+ }
+ }
+ else {
+ mes "[Praying Minister]";
+ mes "In front of the Almighty God Odin, there shall be no person smarter than him, and there will be no person more merciful than him.";
+ next;
+ mes "[Praying Minister]";
+ mes "All ministers of Odin should be diligent. They should never be too lazy to serve Odin.";
+ next;
+ mes "[Praying Minister]";
+ mes "Thesedays, I've heard that ministers are becoming lax in their duty to Odin and adorn themselves with the splendors of the world.";
+ next;
+ mes "[Praying Minister]";
+ mes "If you see any of these ministers, can you ask to them to go to the church in prontera?";
+ next;
+ mes "[Praying Minister]";
+ mes "They give out a special aura so you can easily recognize them.";
+ mes "I'm going to make them ministers worthy of serving Odin.";
+ close;
+ }
+ }
+}
+
+umbala,137,227,5 script Utan Boy#arch 787,{
+ mes "[Utan Boy]";
+ mes "........";
+ close;
+}
+
+umbala,139,227,3 script Priest#arch 60,{
+ if (job_arch < 1) {
+ mes "[Priest]";
+ mes "Un...ba... Unba?";
+ close;
+ }
+ else if (job_arch == 1) {
+ mes "[Priest]";
+ mes "Un...ba... Umba?";
+ next;
+ mes "[Utan Boy]";
+ mes "...............";
+ next;
+ mes "[Priest]";
+ mes "Is that... right?";
+ mes "Hmm... so...";
+ mes "Um...ma? Umau...ma?";
+ emotion e_swt,"Priest#arch";
+ next;
+ mes "[Utan Boy]";
+ mes "...............";
+ next;
+ mes "[Priest]";
+ mes "Huuuuuu......";
+ mes "Oh, dear . I feel heavy.";
+ mes "hohohoho.";
+ next;
+ mes "- mumbling~ -";
+ next;
+ mes "[Priest]";
+ mes "hahahahaha.";
+ mes "huhuhuhu. humhum.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Hello. are you... Priest Dayan?";
+ next;
+ mes "[Priest]";
+ mes "Huh?";
+ next;
+ mes "He turns his head towards you.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Aren't you Priest Dayan?";
+ next;
+ mes "[Priest]";
+ mes "muttering...";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Priest! Da~yan! Right!?";
+ next;
+ mes "[Priest Dayan]";
+ mes "Ah~, yes.";
+ mes "Yes, I am.";
+ if (Sex == 1)
+ mes "I'm Dayan. Nice to meet you Brother.";
+ else
+ mes "I'm Dayan. Nice to meet you Sister.";
+ next;
+ mes "The old priest gives you an ear to ear grin. ";
+ next;
+ mes "[Priest Dayan]";
+ mes "I forgot to wear my hearing aid. hehe.";
+ mes "Anyway, why have you come here?";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Hmm, I wanted to tell you...";
+ next;
+ input .@input$;
+ mes "["+strcharinfo(0)+"]";
+ mes ""+.@input$+"";
+ next;
+ set .@urans$,.@input$;
+ set .@myans$,"I'm here for the Holy Pilgrimage";
+ set .@sungzi,compare(.@urans$,.@myans$);
+ if (.@sungzi == 0) {
+ mes "Priest Dayan doesn't seem to understand you. He just stares at you and smiles.";
+ next;
+ mes "[Priest]";
+ mes "Eh? Say what?";
+ close;
+ }
+ mes "[Priest Dayan]";
+ mes "..............?";
+ next;
+ mes "He cups his ears towards you.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "^FF0000I'm here for the Holy Pilgrimage!^000000";
+ mes "^FF0000I'm here for the Holy Pilgrimage!^000000";
+ mes "^FF0000I'm here for the Holy Pilgrimage!^000000";
+ mes "^FF0000I'm here for the Holy Pilgrimage!^000000";
+ next;
+ mes "[Priest Dayan]";
+ mes "Eh... are you?";
+ mes "A pilgrimage to the Holy Land...";
+ mes "It has been a long time since I've seen such a devout minister.";
+ if (Sex == 1)
+ mes "Welcome. Brother.";
+ else
+ mes "Welcome. Sister.";
+ next;
+ mes "The old priest gives you a gracious smile.";
+ next;
+ mes "[Priest Dayan]";
+ mes "See this village with the huge forest surrounding it.";
+ mes "Can you see a giant tree?";
+ next;
+ mes "[Priest Dayan]";
+ mes "That big tree is called The ^3131FFYggdrasil^000000.";
+ mes "That tree was created from Ymir's body after Odin created the world as you know it, Rune Midgard.";
+ next;
+ mes "[Priest Dayan]";
+ mes "A fountain pours out from the end of Yggdrasil's roots that spread to every world.";
+ next;
+ mes "[Priest Dayan]";
+ mes "The roots head to Nifflheim where you can find Hvergelmir spring.";
+ mes "In Rune Midgard there is Mimir's spring. And in Asgard, the world of the Gods, there is the Word spring.";
+ next;
+ mes "[Priest Dayan]";
+ mes "Mimir spring wells with intelligence, myth says that if Odin lets you have his eye that you will gain all of the knowledge within that spring.";
+ next;
+ mes "[Priest Dayan]";
+ if (Sex == 1)
+ mes "Brother.";
+ else
+ mes "Sister.";
+ mes "Through the Holy Pilgrimage, we can make ourselves pious by cleansing our bodies and souls.";
+ next;
+ mes "[Priest Dayan]";
+ mes "Enter the Yggdrasil.";
+ mes "You may be assaulted by creatures in there but be mindful that their intentions are only to protect the Yggdrasil.";
+ next;
+ mes "[Priest Dayan]";
+ mes "Follow your steps with purpose.";
+ mes "If Odin doesn't abandon you, you can reach the beginning of the world at the stem of the Yggdrasil.";
+ mes "When you arrive there, find a quiet place.";
+ next;
+ mes "[Priest Dayan]";
+ mes "Pray for a life of faith and expiate your sins with a pious mind.";
+ next;
+ mes "[Priest Dayan]";
+ mes "Admire Odin's omniscience and omnipotence and pray for a wisdom to choose the right path.";
+ mes "^3131FFFeel free to ask me about how to pray^000000.";
+ next;
+ mes "[Priest Dayan]";
+ mes "Lets see, go to the place of the most famous creature from Odin.";
+ next;
+ mes "[Priest Dayan]";
+ mes "After making your pilgrimage, let's have a drink together and talk about your experience.";
+ next;
+ mes "- Priest Dayan smiles again. -";
+ set job_arch,2;
+ changequest 2187,2188;
+ close;
+ }
+ else if (job_arch == 2) {
+ mes "[Priest Dayan]";
+ mes "This place is the holiest place in the world, Yggdrasil.";
+ mes "This holy ceremony will brighten your soul.";
+ next;
+ switch(select("How should I pray?:Cancel.")) {
+ case 1:
+ mes "[Priest Dayan]";
+ mes "Through prayer, we can follow four paths.";
+ mes "Remember what I say to you now.";
+ next;
+ mes "[Priest Dayan]";
+ mes "The 1st way is the ^3131FFway of meditation^000000.";
+ mes "In the way of meditation, we have to be ready to greet Odin with a clear conscience.";
+ next;
+ mes "[Priest Dayan]";
+ mes "Meditation starts with a ^3131FFBlessing^000000 which calms your mind down.";
+ next;
+ mes "[Priest Dayan]";
+ mes "The 2nd is the ^3131FFway of agony^000000.";
+ mes "Through the way of agony, we reflect on ourselves with confession about our retribution for the deeds of a former life.";
+ next;
+ mes "[Priest Dayan]";
+ mes "Don't be afraid of pain. That is a necessity and will be a first step to enter a way to liquidate past wounds.";
+ next;
+ mes "[Priest Dayan]";
+ mes "The 3rd way is the ^3131FFway of joy^000000.";
+ mes "As you rid yourself of pain, your mind will suffer less and you will experience the joy of life as you help and console others.";
+ next;
+ mes "[Priest Dayan]";
+ mes "They will bless you because you are an existence of joy overcoming an affliction. We call that ^3131FFAspersio^000000.";
+ mes "You must drink a ^3131FFHoly Water^000000 with appreciation of Aspersio.";
+ next;
+ mes "[Priest Dayan]";
+ mes "The last way is the ^3131FFway of light^000000.";
+ mes "You are free from all sin because you were blessed from all creation.";
+ next;
+ mes "[Priest Dayan]";
+ mes "You were reborn as light, sing a ^3131FFGloria^000000 of joy and soul that loves you.";
+ next;
+ mes "[Priest Dayan]";
+ mes "After finishing all of these prayers, just stand up with a pious mind.";
+ mes "If your prayer is truthful, Odin will lend you his wisdom.";
+ next;
+ mes "[Priest Dayan]";
+ mes "Are you ready?";
+ mes "Okay, it's time to leave and exculpate yourself.";
+ mes "If your prayer is finished, let's talk.";
+ close;
+ case 2:
+ mes "[Priest Dayan]";
+ mes "I hope that my prayer can weaken your agony...";
+ close;
+ }
+ close;
+ }
+ else if (job_arch == 3) {
+ mes "[Priest Dayan]";
+ mes "Oh, you've come back.";
+ mes "I can feel that you have a fresh energy. Maybe you did pray truthfully.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "I feel light-hearted. Like I was just reborn...";
+ next;
+ mes "[Priest Dayan]";
+ mes "Your faith gives you confidence and courage.";
+ mes "A smile from a peaceful mind will easily rid people of their wariness.";
+ mes "Please, inspire people with love and energy.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Thanks for your kind words.";
+ next;
+ mes "[Priest Dayan]";
+ if (Sex == 1)
+ mes "Brother.";
+ else
+ mes "Sister.";
+ mes "Now, there is a place you should go to.";
+ next;
+ mes "[Priest Dayan]";
+ mes "That place is Hugel in Schwaltzvalt.";
+ mes "There is a Nun praying there named Vinue, she is a true minister who prays for the suffering people in the world.";
+ mes "But the last time I saw her she seemed sad.";
+ next;
+ mes "[Priest Dayan]";
+ mes "Can you convince her to make a pilgrimage to Yggdrasil?";
+ mes "I think she is exhausted due to praying too much. I hope the air of Yggdrasil will be helpful to her.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Don't worry.";
+ mes "I'll go and meet her.";
+ next;
+ mes "[Priest Dayan]";
+ if (Sex == 1)
+ mes "Feel free to visit here when you want to pray, brother.";
+ else
+ mes "Feel free to visit here when you want to pray, sister.";
+ mes "A visit from a friend always makes me happy.";
+ set job_arch,4;
+ changequest 2188,2189;
+ close;
+ }
+ else {
+ mes "[Dayan]";
+ mes "Did you find Vinue in Hugel?";
+ close;
+ }
+}
+
+yggdrasil01,220,47,0 script #A pilgrimage to the Ho 139,5,5,{
+OnTouch:
+ if (job_arch == 2) {
+ mes "["+strcharinfo(0)+"]";
+ mes "Is it the spring of Hvergelmir.";
+ mes "This place is a very vivid and peaceful place.";
+ mes "It's proper to pray.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Time to genuflect...";
+ mes "Hmm, what did that priest say to me?";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Hmm... What is the first way?";
+ next;
+ switch(select("The way of silence.:The way of confession.:The way of meditation.")) {
+ case 1:
+ mes "["+strcharinfo(0)+"]";
+ mes "";
+ mes "I don't think so.";
+ close;
+ case 2:
+ mes "["+strcharinfo(0)+"]";
+ mes "The way of confession...?";
+ mes "I don't think so.";
+ close;
+ case 3:
+ mes "["+strcharinfo(0)+"]";
+ mes "The way of meditation...?";
+ mes "Yes, it's the way of meditation.";
+ next;
+ break;
+ }
+ mes "^3131FF[Priest Dayan]^000000";
+ mes "^3131FFThe 1st way is the way of meditation.^000000";
+ mes "^3131FFIn the way of meditation, we have to be ready to greet Odin with a clear conscience.^000000";
+ next;
+ mes "^3131FF[Priest Dayan]^000000";
+ mes "^3131FFMeditation starts with a Blessing which calms your mind down.^000000";
+ next;
+ mes "- You close your eyes slowly and take a deep breath. -";
+ next;
+ mes "- * BLESSING! * -";
+ specialeffect2 EF_BLESSING;
+ next;
+ mes "Your mind is refreshed with the blessing effect.";
+ mes "You continue to meditate trying to rid your mind of any ill feelings.";
+ next;
+ mes "^3131FF[Priest Dayan]^000000";
+ mes "^3131FFThe 2nd is the way of agony^000000.";
+ mes "^3131FFThrough the way of agony, we reflect on ourselves with confession about our retribution for the deeds of a former life.^000000";
+ next;
+ mes "^3131FF[Priest Dayan]^000000";
+ mes "^3131FFDon't be afraid of pain. That is a necessity and will be a first step to enter a way to liquidate past wounds.^000000";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Pain... What kind of faults have I had?";
+ input .@input$;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "I confess my guilt to the Almighty God Odin.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "^3131FF"+.@input$+".^000000";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Oh benevolent Odin, Take mercy on me and pity me because I'm remiss in the discharge of my duties as a minister.";
+ mes "Please, lead the way and save a foolish minister with your wisdom.";
+ next;
+ mes "You ruminate about your confession and are lost in thought again.";
+ next;
+ mes ".............................";
+ next;
+ mes ".............................";
+ mes ".........................";
+ next;
+ mes ".............................";
+ mes ".........................";
+ mes ".....................";
+ next;
+ mes "^3131FF[Priest Dayan]^000000";
+ mes "^3131FFThe 3rd way is the way of joy.^000000";
+ mes "^3131FFAs you rid yourself of pain, your mind will suffer less and you will experience the joy of life as you help and console others.^000000";
+ next;
+ mes "^3131FF[Priest Dayan]^000000";
+ mes "^3131FFAnd also they will bless you because you are an existence of joy overcoming an affliction. We call that Aspersio^000000.";
+ mes "^3131FFYou must drink a Holy Water with appreciation of Aspersio.^000000";
+ next;
+ if (!countitem(523)) {
+ mes "["+strcharinfo(0)+"]";
+ mes "Oh no! I forgot to bring a Holy Water!";
+ close;
+ }
+ mes "- You bow respectfully holding up a Holy Water and put the glass to your lips. -";
+ next;
+ mes "- * ASPERSIO ! * -";
+ specialeffect2 EF_ASPERSIO;
+ next;
+ specialeffect2 EF_RECOVERY;
+ mes ".............................";
+ next;
+ mes ".............................";
+ mes ".........................";
+ next;
+ mes ".............................";
+ mes ".........................";
+ mes ".....................";
+ next;
+ mes "^3131FF[Priest Dayan]^000000";
+ mes "^3131FFThe last way is a way of light^000000.^000000.";
+ mes "^3131FFYou are free from all sin because you were blessed from all creation.^000000";
+ next;
+ mes "^3131FF[Priest Dayan]^000000";
+ mes "^3131FFYou were reborn as light, sing a Gloria of joy and soul that love you.^000000";
+ next;
+ mes "- You breath in deep and start to sing a Gloria.";
+ mes "A chord crashs out in the spring of Hvergelmir and a waterfall sound gives you a refreshing feeling. -";
+ specialeffect2 EF_GLORIA;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "~Descendants of Heimdal gather under the Ash tree Yggdrasil.~";
+ mes "~The Curdan bird which sits on a branch brings me the wisdom of whole world.~";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "~The Curdan wolf protects me from all threats in the world.~";
+ specialeffect2 EF_GLORIA;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "~The host of ballascalf, rise up from your seat. The whole world shouts for joy.~";
+ mes "~The father of light, the poet of wisdom, sing for me.~";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "~The host of a glittering glass, give me a holy prediction.~";
+ specialeffect2 EF_GLORIA;
+ next;
+ mes "- After you finish the song, you feel light and strong with abundant devotion. -";
+ specialeffect2 EF_BLESSING;
+ specialeffect2 EF_RESURRECTION;
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "That was refreshing.";
+ mes "I guess I should go back to Priest Dayan.";
+ set job_arch,3;
+ close2;
+ warp "umbala",138,219;
+ end;
+ }
+ else if (job_arch == 3) {
+ mes "["+strcharinfo(0)+"]";
+ mes "The song is over. It's time to go back to Priest Dayan.";
+ close2;
+ warp "umbala",138,219;
+ end;
+ }
+}
+
+hu_in01,205,204,7 script Praying Nun#benew 79,{
+ if (job_arch == 4) {
+ mes "- There is a nun closing her eyes as she murmurs something which sounds like a prayer. -";
+ next;
+ switch(select("Talk to her.:Stay Quiet.")) {
+ case 1:
+ break;
+ case 2:
+ mes "- You don't feel like disturbing her -";
+ close;
+ }
+ mes "["+strcharinfo(0)+"]";
+ mes "Umm, hello sister?";
+ next;
+ mes "[Vinue]";
+ mes "Ah, Welcome.";
+ mes "It's not time to have a service yet...";
+ if (Sex == 1)
+ mes "Are you here to pray, brother?";
+ else
+ mes "Are you here to pray, sister?";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "I came here to say hello from Priest Dayan from Prontera.";
+ next;
+ mes "[Vinue]";
+ mes "Ah, Priest Dayan.";
+ mes "Is he good?";
+ mes "He is so cute even though he's old.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "He told me that he was worried because when he saw you last time, you seemed sad.";
+ mes "He asks you to go on a Holy Pilgrimage.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Umbala has the vital power of nature!";
+ next;
+ mes "[Vinue]";
+ mes "Ah...";
+ if (Sex == 1)
+ mes "He's very kind. As are you brother.";
+ else
+ mes "He's very kind. As are you sister.";
+ next;
+ mes "[Vinue]";
+ mes "But don't worry.";
+ mes "I'm just a little tired because of a bad dream.";
+ next;
+ mes "[Vinue]";
+ mes "Evil is always watching for our souls.";
+ mes "If you are indifferent to praying, it never misses an opportunity.";
+ next;
+ switch(select("A dream? What kind of dream?:Your soul should be fine.")) {
+ case 1:
+ break;
+ case 2:
+ mes "[Vinue]";
+ mes "Oh but that's where you're wrong.";
+ mes "My soul may be the most at risk.";
+ mes "Thank you for delivering the message.";
+ mes "I'll go back to my prayers.";
+ close;
+ }
+ mes "[Vinue]";
+ mes "That is...";
+ mes "Actually I started to have a bad dream from the date I was appointed.";
+ next;
+ mes "[Vinue]";
+ mes "At first, it was a dream that Valkyrie was sad and in darkness.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Valkyrie?";
+ next;
+ mes "[Vinue]";
+ mes "Yeah...";
+ mes "She was crying in a pitch-black room.";
+ mes "Hanging down like a bird that had its wings cut.";
+ next;
+ mes "[Vinue]";
+ mes "But, as time went by, the dream became scarier. Now Valkyrie is arrested with chains and then finally she is dashed to pieces.";
+ next;
+ mes "[Vinue]";
+ mes "What a cruel performance! I suddenly can't breathe properly and then I wake up.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "To have to see the death of Valkyrie, must be a tormenting dream.";
+ next;
+ mes "[Vinue]";
+ mes "Is it just a nightmare?";
+ mes "Or do you think it is an omen?";
+ next;
+ mes "[Vinue]";
+ mes "I've been wanting to pray at Odin's shrine to make the dream go away. But that shrine became a den of evil a long time ago.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "The shrine?";
+ mes "Nobody tried to subdue the evil?";
+ next;
+ mes "[Vinue]";
+ mes "Unfortunely, I'm a nun who doesn't have any exorcism skill...";
+ mes "Residents of Hugel just stood aghast of the sight because they are not familiar with adventure.";
+ next;
+ mes "[Vinue]";
+ mes "Thesedays, there are a lot of people because of the development of the Odin shrine, but their situation is not so good.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Is the dream related with the evil in the Odin shrine?";
+ next;
+ mes "[Vinue]";
+ mes "Hum... well.";
+ mes "I don't have any way to find out.";
+ mes "I don't have a method, so I just pray.";
+ next;
+ switch(select("I'll investgate for you.:I'll pray with you.")) {
+ case 1:
+ break;
+ case 2:
+ mes "[Vinue]";
+ mes "Thank you.";
+ mes "I'll pray that the darkness stays away.";
+ mes "I hope you have a good time with the festival here in Hugel.";
+ close;
+ }
+ mes "[Vinue]";
+ mes "Yeah?";
+ mes "But, it'll be scary inside!";
+ mes "There are lots of devils inside!";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "But I can't pretend to ignore a Sister who is in trouble?";
+ mes "I'm a minister who copes with lots of asceticism!";
+ mes "Entrust me.";
+ next;
+ mes "[Vinue]";
+ mes "Ah... I'm so worried....";
+ mes "I'll never forget your warm heart.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "How do I get to Odin shrine?";
+ next;
+ mes "[Vinue]";
+ mes "There is a ferry on the right side of the church.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Ok, wait for good news!";
+ next;
+ mes "[Vinue]";
+ mes "I'll pray for your safe return.";
+ mes "I hope that Odin gives you his protection as well.";
+ set job_arch,5;
+ changequest 2189,2190;
+ close;
+ }
+ else if ((job_arch > 4) && (job_arch < 100)) {
+ mes "[Vinue]";
+ mes "I'll pray for your safe return.";
+ close;
+ }
+ else {
+ mes "[Vinue]";
+ mes "I feel refreshed.";
+ mes "It must be good news?";
+ mes "Thanks the Gods.";
+ close;
+ }
+}
+
+odin_tem02,282,263,0 script #find_val -1,3,3,{
+OnTouch:
+ if ((job_arch > 4) && (job_arch < 100))
+ enablenpc "Valkyrie Illusion#arch";
+ end;
+}
+
+odin_tem02,281,275,3 script Valkyrie Illusion#arch 403,{
+ if ((job_arch > 4) && (job_arch < 100)) {
+ mes "You can see Valkyrie who has a despairing face.";
+ next;
+ switch(select("Touch Valkyrie's Illusion.:Turn away.")) {
+ case 1:
+ mes "You lose your consciousness while getting a closer view of Valkyrie's Illusion.";
+ close2;
+ specialeffect2 EF_CLOAKING;
+ warp "job3_arch01",29,29;
+ disablenpc "Valkyrie Illusion#arch";
+ break;
+ case 2:
+ mes "Out of fear, you turn away from Valkyrie's illusion.";
+ close2;
+ disablenpc "Valkyrie Illusion#arch";
+ break;
+ }
+ }
+ end;
+
+OnInit:
+ disablenpc "Valkyrie Illusion#arch";
+ end;
+}
+
+job3_arch01,29,34,3 script Valkyrie#arch 403,{
+ if (Upper == 4) {
+ mes "[Valkyrie]";
+ //Custom translation
+ mes "You are only a child.";
+ mes "My job is very difficult, I do not need to tollerate a child's joke. Away with you!";
+ close;
+ }
+ if (!checkweight(1201,2)) {
+ //Custom translation
+ mes "- bags must be emptied before they can proceed. -";
+ close;
+ }
+ if ((BaseLevel != 99) || (JobLevel < 50)) {
+ warp "odin_tem02",282,263;
+ end;
+ }
+ if (getmercinfo(0)) {
+ mes "[Valkyrie]";
+ mes "If you want to talk with me, you have to ^3131FFcancel all contracts^000000 with any mercenaries you have.";
+ close;
+ }
+ if (SkillPoint) {
+ mes "You can't progress without using all your skill points. Please use all of your skill points before progressing~";
+ close;
+ }
+ if (BaseJob != Job_Priest) {
+ warp "odin_tem02",282,263;
+ end;
+ }
+ else {
+ if (Class != Job_Archbishop || Class != Job_Archbishop_H || Class != Job_Baby_Bishop) {
+ if (job_arch < 5) {
+ warp "odin_tem02",282,263;
+ end;
+ }
+ else if (job_arch == 5) {
+ mes "[Valkyrie]";
+ mes "In the heavens the sound of pipes spread out, but a bird that can't fly crawls and finally is crushed to pieces on the ground.";
+ mes "Ah, I'm resentful! so regretful!";
+ next;
+ mes "- Valkyrie holds its face, then she finds you and stares with a threatening face. -";
+ next;
+ mes "[Valkyrie]";
+ mes "You are a descendant of Heimdal living in pain as a mortal, why are you in here?";
+ mes "Are you here to ridicule my grim fate?";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "No way!";
+ mes "But it's true that I'm here for you.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "...me?";
+ mes "Of course I'm staying in Midgard, but we are under the yoke of fate that can't coexist in this world.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "I see, is your goal to enter Valhalla?";
+ mes "If you do, it's the wrong place for you.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "I was already expelled from Asgard.";
+ mes "My duty is protecting this small island from humans trying to take it from the Gods and even I don't have any energy to do so.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "It's not that kind of problem.";
+ mes "But someone who perceives your painful situation has sent me here.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "Haha! You are going to help me?!";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "...................";
+ next;
+ mes "- Valkyrie gives you a fierce scowl. -";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "In fact, I can't do anything with my body now.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "Human, answer me. Are you here to sincerely help me?";
+ next;
+ switch(select("Yes:No")) {
+ case 1:
+ break;
+ case 2:
+ mes "[Valkyrie Anguhilde]";
+ mes "I knew that I couldn't trust a human!";
+ close2;
+ warp "odin_tem02",282,263;
+ end;
+ }
+ mes "[Valkyrie Anguhilde]";
+ mes "Ok...";
+ mes "I don't have any energy to hold my own, so I have no choice but to trust you.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "I was a normal Valkyrie that lead soldiers to Valhalla according to the order of Odin.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "But I harmed Freki, one of Odin's wolves, and I was expelled form Asgard without any energy as a Valkyrie with orders to protect this island.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "I was disgraced, this island is important as a temple for Odin and the various Gods.";
+ mes "I tried to do my best to protect this holy place.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "But one day, the devil started to gain influence on this island.";
+ mes "I don't know why they came here and from where they came from.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "They seiged the temple and I exhausted my energy tring to fight them all myself.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "The holy shrine was tainted by the devils.";
+ mes "How long do I have to be under this dishonorable fate!";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "Mortal one, what is your name?";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "My name is "+strcharinfo(0)+".";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes ""+strcharinfo(0)+",";
+ mes "You told me that you want to help me, right? Even though it disgraces me, I am asking for your help.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "This place may look like it was made my humans. Actually, it's a very important monument and also a part of the God's history.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "I've lost all of my energy and my body is sealed so there is no way for me to protect the shrine.";
+ mes "You have to send a message to Valhalla to ask for help from a Valkyrie quickly.";
+ next;
+ select("How can I do that?");
+ mes "[Valkyrie Anguhilde]";
+ mes "At the ^3131FFtop of the shrine^000000, You can contact to them with a ^3131FFGolden pipe^000000.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "I'm going to give you a scroll of paper written in an ancient language.";
+ mes "In that scroll, there is my impersonation.";
+ mes "^3131FFIf you go outside, you can summon a Valkyrie with that scroll.^000000";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "After you summon my impersonation, you have to find a ^3131FFBroken pipe^000000.";
+ mes "Maybe it'll be spread in the shrine...";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "You have to go to the top of the shrine, collecting all broken pipes from the impersonation.";
+ mes "And then I'm going to take care of the matter.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "An impersonation will help when you move or attack as you want through ^FF0000ALT+click^000000.";
+ mes "But you have to be careful if an imeprsonation falls down.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "When you finish preparing to go on, talk to me again.";
+ mes "It'll be a long journey...";
+ set job_arch,6;
+ close;
+ }
+ else if (job_arch == 6) {
+ if ($@archbs== 0) {
+ set $@archbs,1; //Global Variable
+ mes "[Valkyrie Anguhilde]";
+ mes ""+strcharinfo(0)+" Did you finish preparing for your way of asceticism?";
+ next;
+ set .@exampc,getmapusers("job3_arch02");
+ if (.@exampc > 0) {
+ mes "[Valkyrie Anguhilde]";
+ //Custom translation
+ mes "Ah, it seems someone is already combating the evil in the temple.";
+ mes "I will go see who it is, please wait a moment.";
+ set $@archbs,0; //Global Variable
+ close;
+ }
+ else {
+ mes "[Valkyrie Anguhilde]";
+ mes "Ok. Now I'm going to send you there.";
+ mes "^FF0000When you go there, you have to summon my impersonation with the scroll^000000. Don't forget.";
+ set $@archbs,0; //Global Variable
+ close2;
+ nude;
+ if (countitem(2798))
+ delitem 2798,countitem(2798); //Will_Of_Exhausted_Angel
+ donpcevent "start#arch::OnEnable";
+ set job_arch,7;
+ changequest 2190,2191;
+ warp "job3_arch02",119,49;
+ disablenpc "Valkyrie#arch";
+ end;
+ }
+ }
+ else {
+ mes "[Valkyrie Anguhilde]";
+ //Custom translation
+ mes "I am already talking to someone, please wait and talk to me again.";
+ close;
+ }
+ }
+ else if (job_arch == 7) {
+ if (countitem(12381))
+ delitem 12381,countitem(12381); //ValkyrieA_Scroll
+ if (countitem(12382))
+ delitem 12382,countitem(12382); //ValkyrieB_Scroll
+ if ($@archbs == 0) {
+ set $@archbs,1; //Global Variable
+ mes "[Valkyrie Anguhilde]";
+ mes "Are you ok human?";
+ mes "It was not as easy as I expected.";
+ mes "Will you challenge again?";
+ next;
+ set .@exampc,getmapusers("job3_arch02");
+ if (.@exampc > 0) {
+ set $@archbs,0; //Global Variable
+ mes "[Valkyrie Anguhilde]";
+ //Custom translation
+ mes "Ah, it seems someone is already combating the evil in the temple.";
+ mes "I will see who it is, please wait a moment.";
+ close;
+ }
+ else {
+ set $@archbs,0; //Global Variable
+ mes "[Valkyrie Anguhilde]";
+ mes "OK. now I'm going to send you there.";
+ mes "^FF0000When you go there, you have to summon my impersonation with the scroll^000000.";
+ mes "An impersonation will help when you move or attack as you want through ^FF0000ALT+click^000000.";
+ mes "But you have to be careful if an imeprsonation falls down.";
+ close2;
+ nude;
+ if (countitem(2798))
+ delitem 2798,countitem(2798); //Will_Of_Exhausted_Angel
+ donpcevent "start#arch::OnEnable";
+ set job_arch,7;
+ warp "job3_arch02",119,49;
+ disablenpc "Valkyrie#arch";
+ end;
+ }
+ }
+ else {
+ mes "[Valkyrie Anguhilde]";
+ //Custom translation
+ mes "I am already talking to someone, please wait and talk to me again.";
+ close;
+ }
+ }
+ }
+ }
+ end;
+
+Onbc:
+ set $@archbs,0; //Global Variable
+ //Custom translation
+ mapannounce "job3_arch01", "Valkyrie's Cry: I hear the laughter of the devil, someone has fallen in the temple.",bc_map,"0xFFCE00";
+ enablenpc "Valkyrie#arch";
+ end;
+}
+
+job3_arch02,119,49,0 script #arch_1_start -1,6,6,{
+OnTouch:
+ if (!countitem(12381))
+ getitem 12381,1; //ValkyrieA_Scroll
+ mapannounce "job3_arch02", "Whispering of an impersonation: I feel heavy! Set me free!",bc_map,"0xFFCE00";
+ disablenpc "#arch_1_start";
+ end;
+}
+
+job3_arch02,112,73,0 script #arch_1_01 -1,5,5,{
+OnTouch:
+ if (countitem(12381)) {
+ delitem 12381,1; //ValkyrieA_Scroll
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ else {
+ if (getmercinfo(1) == 2037) { //VALKYRIE_A
+ set .@randht,rand(1,10);
+ if (.@randht < 8)
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can feel the devil's spirits! Be careful!",bc_map,"0xFFCE00";
+ else if ((.@randht == 8) && (.@randht == 9))
+ mapannounce "job3_arch02", "Embodiment of the voice: They are close to you!",bc_map,"0xFFCE00"; //Custom translation
+ end;
+ }
+ else {
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ }
+}
+
+job3_arch02,94,123,0 script #arch_1_02 -1,5,5,{
+OnTouch:
+ if (countitem(12381)) {
+ delitem 12381,1; //ValkyrieA_Scroll
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ else {
+ if (getmercinfo(1) == 2037) { //VALKYRIE_A
+ set .@randht,rand(1,10);
+ if (.@randht < 8)
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can feel the devil's spirits! Be careful!",bc_map,"0xFFCE00";
+ else if ((.@randht == 8) && (.@randht == 9))
+ mapannounce "job3_arch02", "Embodiment of the voice: They are close to you!",bc_map,"0xFFCE00"; //Custom translation
+ end;
+ }
+ else {
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ }
+}
+
+job3_arch02,93,173,0 script #arch_1_03 -1,5,5,{
+OnTouch:
+ if (countitem(12381)) {
+ delitem 12381,1; //ValkyrieA_Scroll
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ else {
+ if (getmercinfo(1) == 2037) { //VALKYRIE_A
+ set .@randht,rand(1,10);
+ if (.@randht < 8)
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can feel the devil's spirits! Be careful!",bc_map,"0xFFCE00";
+ else if ((.@randht == 8) && (.@randht == 9))
+ mapannounce "job3_arch02", "Embodiment of the voice: They are close to you!",bc_map,"0xFFCE00"; //Custom translation
+ end;
+ }
+ else {
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ }
+}
+
+job3_arch02,114,186,0 script #arch_1_04 -1,5,5,{
+OnTouch:
+ if (countitem(12381)) {
+ delitem 12381,1; //ValkyrieA_Scroll
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ else {
+ if (getmercinfo(1) == 2037) { //VALKYRIE_A
+ set .@randht,rand(1,10);
+ if (.@randht < 8)
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can feel the devil's spirits! Be careful!",bc_map,"0xFFCE00";
+ else if ((.@randht == 8) && (.@randht == 9))
+ mapannounce "job3_arch02", "Embodiment of the voice: They are close to you!",bc_map,"0xFFCE00"; //Custom translation
+ end;
+ }
+ else {
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ }
+}
+
+job3_arch02,134,201,0 script #arch_1_05 -1,5,5,{
+OnTouch:
+ if (countitem(12381)) {
+ delitem 12381,1; //ValkyrieA_Scroll
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ else {
+ if (getmercinfo(1) == 2037) { //VALKYRIE_A
+ set .@randht,rand(1,10);
+ if (.@randht < 8)
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can feel the devil's spirits! Be careful!",bc_map,"0xFFCE00";
+ else if ((.@randht == 8) && (.@randht == 9))
+ mapannounce "job3_arch02", "Embodiment of the voice: They are close to you!",bc_map,"0xFFCE00"; //Custom translation
+ end;
+ }
+ else {
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ }
+}
+
+job3_arch02,154,211,0 script #arch_1_06 -1,5,5,{
+OnTouch:
+ if (countitem(12381)) {
+ delitem 12381,1; //ValkyrieA_Scroll
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ else {
+ if (getmercinfo(1) == 2037) { //VALKYRIE_A
+ set .@randht,rand(1,10);
+ if (.@randht < 8)
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can feel the devil's spirits! Be careful!",bc_map,"0xFFCE00";
+ else if ((.@randht == 8) && (.@randht == 9))
+ mapannounce "job3_arch02", "Embodiment of the voice: They are close to you!",bc_map,"0xFFCE00"; //Custom translation
+ end;
+ }
+ else {
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ }
+}
+
+job3_arch02,175,227,0 script #arch_1_07 -1,5,5,{
+OnTouch:
+ if (countitem(12381)) {
+ delitem 12381,1; //ValkyrieA_Scroll
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ else {
+ if (getmercinfo(1) == 2037) { //VALKYRIE_A
+ set .@randht,rand(1,10);
+ if (.@randht < 8)
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can feel the devil's spirits! Be careful!",bc_map,"0xFFCE00";
+ else if ((.@randht == 8) && (.@randht == 9))
+ mapannounce "job3_arch02", "Embodiment of the voice: They are close to you!",bc_map,"0xFFCE00"; //Custom translation
+ end;
+ }
+ else {
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ }
+}
+
+job3_arch02,201,240,0 script #arch_1_08 -1,5,5,{
+OnTouch:
+ if (countitem(12381)) {
+ delitem 12381,1; //ValkyrieA_Scroll
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ else {
+ if (getmercinfo(1) == 2037) { //VALKYRIE_A
+ set .@randht,rand(1,10);
+ if (.@randht < 8)
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can feel the devil's spirits! Be careful!",bc_map,"0xFFCE00";
+ else if ((.@randht == 8) && (.@randht == 9))
+ mapannounce "job3_arch02", "Embodiment of the voice: They are close to you!",bc_map,"0xFFCE00"; //Custom translation
+ end;
+ }
+ else {
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ }
+}
+
+job3_arch02,223,252,0 script #arch_1_09 -1,5,5,{
+OnTouch:
+ if (countitem(12381)) {
+ delitem 12381,1; //ValkyrieA_Scroll
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ else {
+ if (getmercinfo(1) == 2037) { //VALKYRIE_A
+ set .@randht,rand(1,10);
+ if (.@randht < 8)
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can feel the devil's spirits! Be careful!",bc_map,"0xFFCE00";
+ else if ((.@randht == 8) && (.@randht == 9))
+ mapannounce "job3_arch02", "Embodiment of the voice: They are close to you!",bc_map,"0xFFCE00"; //Custom translation
+ end;
+ }
+ else {
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ }
+}
+
+job3_arch02,255,268,0 script #arch_1_10 -1,5,5,{
+OnTouch:
+ if (countitem(12381)) {
+ delitem 12381,1; //ValkyrieA_Scroll
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ else {
+ if (getmercinfo(1) == 2037) { //VALKYRIE_A
+ set .@randht,rand(1,10);
+ if (.@randht < 8)
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can feel the devil's spirits! Be careful!",bc_map,"0xFFCE00";
+ else if ((.@randht == 8) && (.@randht == 9))
+ mapannounce "job3_arch02", "Embodiment of the voice: They are close to you!",bc_map,"0xFFCE00"; //Custom translation
+ end;
+ }
+ else {
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ }
+}
+
+job3_arch02,269,302,0 script #arch_1_11 -1,5,5,{
+OnTouch:
+ if (countitem(12381)) {
+ delitem 12381,1; //ValkyrieA_Scroll
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ else {
+ if (getmercinfo(1) == 2037) { //VALKYRIE_A
+ set .@randht,rand(1,10);
+ if (.@randht < 8)
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can feel the devil's spirits! Be careful!",bc_map,"0xFFCE00";
+ else if ((.@randht == 8) && (.@randht == 9))
+ mapannounce "job3_arch02", "Embodiment of the voice: They are close to you!",bc_map,"0xFFCE00"; //Custom translation
+ end;
+ }
+ else {
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ }
+}
+
+job3_arch02,245,289,0 script #arch_1_12 -1,5,5,{
+OnTouch:
+ if (countitem(12381)) {
+ delitem 12381,1; //ValkyrieA_Scroll
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ else {
+ if (getmercinfo(1) == 2037) { //VALKYRIE_A
+ set .@randht,rand(1,10);
+ if (.@randht < 8)
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can feel the devil's spirits! Be careful!",bc_map,"0xFFCE00";
+ else if ((.@randht == 8) && (.@randht == 9))
+ mapannounce "job3_arch02", "Embodiment of the voice: They are close to you!",bc_map,"0xFFCE00"; //Custom translation
+ end;
+ }
+ else {
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ }
+}
+
+job3_arch02,203,286,0 script #arch_1_boss -1,5,5,{
+OnTouch:
+ if (countitem(12381)) {
+ delitem 12381,1; //ValkyrieA_Scroll
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ else {
+ if (getmercinfo(1) == 2037) { //VALKYRIE_A
+ mapannounce "job3_arch02", "Valkyrie's Nightmare: An incompetent illusion of Valkyrie came here with the assistance of humans. You wanna have that nightmare?",bc_map,"0xFF0000";
+ donpcevent "mob#arch_1::Onkill";
+ end;
+ }
+ else {
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ }
+}
+
+job3_arch02,390,390,1 script #arch_redcell 844,{
+ end;
+
+OnInit:
+ setcell "job3_arch02",276,290,280,294,cell_walkable,0;
+ setcell "job3_arch02",276,290,280,294,cell_shootable,0;
+ end;
+
+Ongreen:
+ setcell "job3_arch02",276,290,280,294,cell_walkable,1;
+ setcell "job3_arch02",276,290,280,294,cell_shootable,1;
+ end;
+
+Onred:
+ setcell "job3_arch02",276,290,280,294,cell_walkable,0;
+ setcell "job3_arch02",276,290,280,294,cell_shootable,0;
+ end;
+}
+
+job3_arch02,390,389,1 script #arch_val01 844,{
+ end;
+
+OnEnable:
+ areamonster "job3_arch02",108,322,118,332,"Valkyrie's Nightmare",2036,1,"#arch_val01::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ if (mobcount("job_arch02","#arch_val01::OnMyMobDead") < 1) {
+ donpcevent "#arch_redcell::Ongreen";
+ mapannounce "job3_arch02", "Valkyrie's Nightmare: Your win is only a false image! hahahaha!",bc_map,"0xFF0000";
+ enablenpc "Valkyrie#arch_01";
+ disablenpc "#arch_1_start";
+ disablenpc "#arch_1_01";
+ disablenpc "#arch_1_02";
+ disablenpc "#arch_1_03";
+ disablenpc "#arch_1_04";
+ disablenpc "#arch_1_05";
+ disablenpc "#arch_1_06";
+ disablenpc "#arch_1_07";
+ disablenpc "#arch_1_08";
+ disablenpc "#arch_1_09";
+ disablenpc "#arch_1_10";
+ disablenpc "#arch_1_11";
+ disablenpc "#arch_1_12";
+ disablenpc "#arch_1_boss";
+ }
+ end;
+
+Onkill:
+ killmonster "job3_arch02","#arch_val01::OnMyMobDead";
+ end;
+}
+
+job3_arch02,390,387,1 script #arch_val02 844,{
+ end;
+
+OnEnable:
+ areamonster "job3_arch02",239,41,249,51,"Valkyrie's Nightmare",2036,1,"#arch_val02::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ if (mobcount("job_arch02","#arch_val02::OnMyMobDead") < 1) {
+ mapannounce "job3_arch02", "Valkyrie's Nightmare: You are so childish. I invite you to a devil's party. I'll make sure you have a fun!",bc_map,"0xFF0000";
+ enablenpc "Valkyrie#arch_02";
+ disablenpc "#arch_2_boss";
+ viewpoint 1,279,234,1,0xFFFF99;
+ }
+ end;
+
+Onkill:
+ killmonster "job3_arch02","#arch_val02::OnMyMobDead";
+ end;
+}
+
+job3_arch02,113,327,5 script Valkyrie#arch_01 403,{
+ if (getmercinfo(0)) {
+ mes "[Valkyrie]";
+ mes "If you want to talk with me, you have to ^3131FFcancel all contracts^000000 with any mercenaries you have.";
+ close;
+ }
+ mes "[Valkyrie Anguhilde]";
+ mes "The devil always makes an effort to agitate people's mind.";
+ mes "You don't have to care about their whisperings.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "Anyway I can feel my energy coming back.";
+ mes "Show me the stuff that you found.";
+ next;
+ mes "- You show a golden piece of pipe to Valkyrie. -";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "Oh, It's a piece of pipe!";
+ mes "If you collect pieces, you can ask other Valkyries for help.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "Because of a close battle, I could only get a little energy.";
+ mes "I'm going to give a ^3131FFnew ancient scroll^000000.";
+ mes "It'll be helpful to find the rest of pieces.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "Then I look forward a good news.";
+ close2;
+ getitem 12382,1; //ValkyrieB_Scroll
+ viewpoint 1,244,46,1,0xFFFF99;
+ disablenpc "Valkyrie#arch_01";
+ donpcevent "#arch_2_start::OnEnable";
+ end;
+}
+
+job3_arch02,244,46,5 script Valkyrie#arch_02 403,{
+ mes "[Valkyrie Anguhilde]";
+ mes "Did you find the rest of the pieces?";
+ next;
+ if (countitem(6154) < 2) {
+ mes "[Valkyrie Anguhilde]";
+ mes "Hum?";
+ mes "I can see this one beside you.";
+ getitem 6154,2; //Broken_Horn_Pipe
+ next;
+ }
+ mes "[Valkyrie Anguhilde]";
+ mes "OK.";
+ mes "I'll complete the broken horn pipe!";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "But the battle is not finished yet.";
+ mes "You remember a ^3131FFruined shrine on the center of the island^000000?";
+ mes "It'll be completed only when you use a horn pipe.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "I can feel the air around me is getting impure.";
+ mes "And feel the coldness of the pitch-black darkness.";
+ mes "This time will be dangerous.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "I give you a necklace as a present.";
+ mes "But I'm not sure that It'll be helpful or not....";
+ mes "Take care.";
+ mes "Please, hurry up!";
+ close2;
+ getitem 2798,1; //Will_Of_Exhausted_Angel
+ disablenpc "Valkyrie#arch_02";
+ donpcevent "#arch_3_start::OnEnable";
+ end;
+}
+
+job3_arch02,279,234,0 script #arch_end -1,7,7,{
+OnInit:
+ disablenpc "#arch_end";
+ end;
+
+OnTouch:
+ donpcevent "#arch_3_01::Onkill";
+ donpcevent "#arch_3_02::Onkill";
+ donpcevent "#arch_3_03::Onkill";
+ donpcevent "mob#arch_2::Onkill";
+ enablenpc "Valkyrie Anguhilde#end";
+ if (!checkweight(1201,1)) {
+ mes "- Wait a moment! -";
+ mes "- Currently you are carrying -";
+ mes "- too many items with you. -";
+ mes "- Please come back after -";
+ mes "- you put some items into Kafra Storage. -";
+ close;
+ }
+ if (countitem(6154) < 2) {
+ mes "[Valkyrie Anguhilde]";
+ mes "Did you collect all of the pieces of my horn pipe?";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "I know you bent over backwards to help me, but I can't do anything without 2 pieces of horn pipe.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "It can be dangerous, so let's go back.";
+ close;
+ nude;
+ if (countitem(2798))
+ delitem 2798,countitem(2798); //Will_Of_Exhausted_Angel
+ delitem 6154,countitem(6154); //Broken_Horn_Pipe
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ mes "[Valkyrie Anguhilde]";
+ mes "Finally we finished all the preparations.";
+ next;
+ mes "Valkyrie holds the pipe and blows towards the sky.";
+ next;
+ mes "Booo - - - -";
+ next;
+ mes "Booo - - -";
+ next;
+ enablenpc "Valkyrie of the heavens";
+ mes "[Valkyrie Anguhilde]";
+ mes "Assistance of Odin! Soldiers of Valhalla!";
+ mes "The holy place of the God Odin is tainted by darkness!";
+ next;
+ mes "[Valkyrie of the heavens]";
+ mes "Don't worry, Anguhilde.";
+ mes "Your desire has reached Valhalla.";
+ mes "The devils were removed by other Valkyries as you wanted.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "Valkyries! Then is it safe now?";
+ next;
+ mes "[Valkyrie of the heavens]";
+ mes "Yes Anguhilde.";
+ mes "Even though you were expelled because of a incident before, Odin said that he is reconsidering your banishment.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "Ah! I can go back to Asgard!";
+ next;
+ mes "[Valkyrie of the heavens]";
+ mes "Don't make a hasty generalization.";
+ mes "But I think that good news will be sent to you.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "Honor to Odin!";
+ mes "I feel full of grace.";
+ mes "So bright and warm....";
+ next;
+ mes "- Shoooo -";
+ specialeffect EF_CLOAKING,"Valkyrie Anguhilde#end";
+ disablenpc "Valkyrie Anguhilde#end";
+ emotion e_omg,1;
+ next;
+ mes "[Valkyrie of the heavens]";
+ mes "Set your mind at ease.";
+ mes "She went to a place where she is supposed to be.";
+ next;
+ mes "[Valkyrie of the heavens]";
+ mes "I think you don't get it.";
+ next;
+ mes "[Valkyrie of the heavens]";
+ mes "Anguhilde is a Valkyrie who is dead for a long time ago.";
+ mes "Didn't you see a shrine covered by the devil?";
+ mes "Unfortunately, Anguhilde couldn't cope with the task and fell down.";
+ next;
+ mes "[Valkyrie of the heavens]";
+ mes "Here is an illusion of Anguhilde who doesn't want to be recognized.";
+ mes "She can't go to hell even when she is dead, and struggles from her constant nightmare.";
+ next;
+ mes "[Valkyrie of the heavens]";
+ mes "But she is relieved by your favor.";
+ mes "Even though It's different with reality but now she may be able to rest in peace.";
+ next;
+ mes "[Valkyrie of the heavens]";
+ mes "Human, the Valkyries are in your debt. Thank you.";
+ mes "I can't invite you as I want, but the power given by Odin can help you.";
+ next;
+ mes "[Valkyrie of the heavens]";
+ mes "Now, go back to your world.";
+ mes "The sound of the horn pipe and a bird's chirpings will be spread out for you.";
+ next;
+ mes "[Valkyrie of the heavens]";
+ mes "Don't forget an altruistic minister's spirit like today forever.";
+ mes "I hope we see each other in Valhalla sometime.";
+ nude;
+ if (countitem(2798))
+ delitem 2798,countitem(2798); //Will_Of_Exhausted_Angel
+ delitem 6154,countitem(6154); //Broken_Horn_Pipe
+ set job_arch,100;
+ completequest 2191;
+ getitem 5747,1; //Mitra
+ getitem 2795,1; //Green_Apple_Ring
+ jobchange Job_Archbishop,Upper;
+ close;
+}
+
+job3_arch02,281,232,1 script Valkyrie Anguhilde#end 403,{
+ end;
+
+OnInit:
+ disablenpc "Valkyrie Anguhilde#end";
+ end;
+}
+
+job3_arch02,273,235,5 script Valkyrie of the heavens 811,{
+ if (job_arch == 100) {
+ mes "[Valkyrie of the heavens]";
+ mes "Now, go back to your world.";
+ mes "The sound of the horn pipe and a bird's chirpings will be spread out for you.";
+ next;
+ mes "[Valkyrie of the heavens]";
+ mes "Don't forget an altruistic minister's spirit like today forever.";
+ mes "I hope we see each other in Valhalla sometime.";
+ close2;
+ mapwarp "job3_arch02","job_arch01",29,29;
+ }
+ end;
+
+OnInit:
+ disablenpc "Valkyrie of the heavens";
+ end;
+}
+
+job3_arch02,132,323,0 script #arch_2_01 -1,5,5,{
+OnTouch:
+ if (countitem(12382))
+ mapannounce "job3_arch02", "Whispering of Valkyrie: I see a new ancient scroll!",bc_map,"0x000000";
+ end;
+}
+
+job3_arch02,167,313,0 script #arch_2_02 -1,5,5,{
+OnTouch:
+ if (countitem(12382)) {
+ delitem 12382,1; //ValkyrieB_Scroll
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ else {
+ if (getmercinfo(1) == 2038) { //VALKYRIE_B
+ set .@randht,rand(1,10);
+ if (.@randht < 8)
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can feel the devil's spirits. Can you hear? The sound of gathering in crowds.",bc_map,"0xFFCE00";
+ else if ((.@randht == 8) && (.@randht == 9))
+ mapannounce "job3_arch02", "Embodiment of Sounds: Battle Stance!",bc_map,"0xFFCE00"; //Custom translation
+ else
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can't leave you! Die!",bc_map,"0xFFCE00";
+ end;
+ }
+ else {
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ }
+}
+
+job3_arch02,127,304,0 script #arch_2_03 -1,5,5,{
+OnTouch:
+ if (countitem(12382)) {
+ delitem 12382,1; //ValkyrieB_Scroll
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ else {
+ if (getmercinfo(1) == 2038) { //VALKYRIE_B
+ set .@randht,rand(1,10);
+ if (.@randht < 8)
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can feel the devil's spirits. Can you hear? The sound of gathering in crowds.",bc_map,"0xFFCE00";
+ else if ((.@randht == 8) && (.@randht == 9))
+ mapannounce "job3_arch02", "Embodiment of Sounds: Battle Stance!",bc_map,"0xFFCE00"; //Custom translation
+ else
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can't leave you! Die!",bc_map,"0xFFCE00";
+ end;
+ }
+ else {
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ }
+}
+
+job3_arch02,207,279,0 script #arch_2_04 -1,5,5,{
+OnTouch:
+ if (countitem(12382)) {
+ delitem 12382,1; //ValkyrieB_Scroll
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ else {
+ if (getmercinfo(1) == 2038) { //VALKYRIE_B
+ set .@randht,rand(1,10);
+ if (.@randht < 8)
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can feel the devil's spirits. Can you hear? The sound of gathering in crowds.",bc_map,"0xFFCE00";
+ else if ((.@randht == 8) && (.@randht == 9))
+ mapannounce "job3_arch02", "Embodiment of Sounds: Battle Stance!",bc_map,"0xFFCE00"; //Custom translation
+ else
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can't leave you! Die!",bc_map,"0xFFCE00";
+ end;
+ }
+ else {
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ }
+}
+
+job3_arch02,239,281,0 script #arch_2_05 -1,5,5,{
+OnTouch:
+ if (countitem(12382)) {
+ delitem 12382,1; //ValkyrieB_Scroll
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ else {
+ if (getmercinfo(1) == 2038) { //VALKYRIE_B
+ set .@randht,rand(1,10);
+ if (.@randht < 8)
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can feel the devil's spirits. Can you hear? The sound of gathering in crowds.",bc_map,"0xFFCE00";
+ else if ((.@randht == 8) && (.@randht == 9))
+ mapannounce "job3_arch02", "Embodiment of Sounds: Battle Stance!",bc_map,"0xFFCE00"; //Custom translation
+ else
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can't leave you! Die!",bc_map,"0xFFCE00";
+ end;
+ }
+ else {
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ }
+}
+
+job3_arch02,269,303,0 script #arch_2_06 -1,5,5,{
+OnTouch:
+ if (countitem(12382)) {
+ delitem 12382,1; //ValkyrieB_Scroll
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ else {
+ if (getmercinfo(1) == 2038) { //VALKYRIE_B
+ set .@randht,rand(1,10);
+ if (.@randht < 8)
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can feel the devil's spirits. Can you hear? The sound of gathering in crowds.",bc_map,"0xFFCE00";
+ else if ((.@randht == 8) && (.@randht == 9))
+ mapannounce "job3_arch02", "Embodiment of Sounds: Battle Stance!",bc_map,"0xFFCE00"; //Custom translation
+ else
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can't leave you! Die!",bc_map,"0xFFCE00";
+ end;
+ }
+ else {
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ }
+}
+
+job3_arch02,288,283,0 script #arch_2_07 -1,5,5,{
+OnTouch:
+ if (countitem(12382)) {
+ delitem 12382,1; //ValkyrieB_Scroll
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ else {
+ if (getmercinfo(1) == 2038) { //VALKYRIE_B
+ set .@randht,rand(1,10);
+ if (.@randht < 8)
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can feel the devil's spirits. Can you hear? The sound of gathering in crowds.",bc_map,"0xFFCE00";
+ else if ((.@randht == 8) && (.@randht == 9))
+ mapannounce "job3_arch02", "Embodiment of Sounds: Battle Stance!",bc_map,"0xFFCE00"; //Custom translation
+ else
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can't leave you! Die!",bc_map,"0xFFCE00";
+ end;
+ }
+ else {
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ }
+}
+
+job3_arch02,278,234,0 script #arch_2_08 -1,5,5,{
+OnTouch:
+ if (countitem(12382)) {
+ delitem 12382,1; //ValkyrieB_Scroll
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ else {
+ if (getmercinfo(1) == 2038) { //VALKYRIE_B
+ set .@randht,rand(1,10);
+ if (.@randht < 8)
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can feel the devil's spirits. Can you hear? The sound of gathering in crowds.",bc_map,"0xFFCE00";
+ else if ((.@randht == 8) && (.@randht == 9))
+ mapannounce "job3_arch02", "Embodiment of Sounds: Battle Stance!",bc_map,"0xFFCE00"; //Custom translation
+ else
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can't leave you! Die!",bc_map,"0xFFCE00";
+ end;
+ }
+ else {
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ }
+}
+
+job3_arch02,234,179,0 script #arch_2_09 -1,5,5,{
+OnTouch:
+ if (countitem(12382)) {
+ delitem 12382,1; //ValkyrieB_Scroll
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ else {
+ if (getmercinfo(1) == 2038) { //VALKYRIE_B
+ set .@randht,rand(1,10);
+ if (.@randht < 8)
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can feel the devil's spirits. Can you hear? The sound of gathering in crowds.",bc_map,"0xFFCE00";
+ else if ((.@randht == 8) && (.@randht == 9))
+ mapannounce "job3_arch02", "Embodiment of Sounds: Battle Stance!",bc_map,"0xFFCE00"; //Custom translation
+ else
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can't leave you! Die!",bc_map,"0xFFCE00";
+ end;
+ }
+ else {
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ }
+}
+
+job3_arch02,227,169,0 script #arch_2_10 -1,5,5,{
+OnTouch:
+ if (countitem(12382)) {
+ delitem 12382,1; //ValkyrieB_Scroll
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ else {
+ if (getmercinfo(1) == 2038) { //VALKYRIE_B
+ set .@randht,rand(1,10);
+ if (.@randht < 8)
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can feel the devil's spirits. Can you hear? The sound of gathering in crowds.",bc_map,"0xFFCE00";
+ else if ((.@randht == 8) && (.@randht == 9))
+ mapannounce "job3_arch02", "Embodiment of Sounds: Battle Stance!",bc_map,"0xFFCE00"; //Custom translation
+ else
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can't leave you! Die!",bc_map,"0xFFCE00";
+ end;
+ }
+ else {
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ }
+}
+
+job3_arch02,190,146,0 script #arch_2_11 -1,5,5,{
+OnTouch:
+ if (countitem(12382)) {
+ delitem 12382,1; //ValkyrieB_Scroll
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ else {
+ if (getmercinfo(1) == 2038) { //VALKYRIE_B
+ set .@randht,rand(1,10);
+ if (.@randht < 8)
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can feel the devil's spirits. Can you hear? The sound of gathering in crowds.",bc_map,"0xFFCE00";
+ else if ((.@randht == 8) && (.@randht == 9))
+ mapannounce "job3_arch02", "Embodiment of Sounds: Battle Stance!",bc_map,"0xFFCE00"; //Custom translation
+ else
+ mapannounce "job3_arch02", "Whispering of an impersonation: I can't leave you! Die!",bc_map,"0xFFCE00";
+ end;
+ }
+ else {
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ }
+}
+
+job3_arch02,206,113,0 script #arch_2_boss -1,5,5,{
+OnTouch:
+ if (countitem(12382)) {
+ delitem 12382,1; //ValkyrieB_Scroll
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ end;
+ }
+ else {
+ if (getmercinfo(1) == 2038) //VALKYRIE_B
+ mapannounce "job3_arch02", "A shout of devil: You are so childish. I invite you a party of devil. I'll make you have a fun!",bc_map,"0xFF0000";
+ else {
+ mapannounce "job3_arch02", "Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ }
+ end;
+ }
+}
+
+job3_arch02,284,159,0 script #arch_3_01 -1,20,20,{
+OnInit:
+ enablenpc "#arch_3_01";
+ end;
+
+OnTouch:
+ if (BaseJob != Job_Priest) {
+ mapannounce "job3_arch02", "Frus: Do you want to see God? Okay, I'll send you to the land of the dead by myself!",bc_map,"0xFF0000";
+ areamonster "job3_arch02",239,41,249,51,"Frus",1762,1,"#arch_3_01::OnMyMobDead";
+ }
+ disablenpc "#arch_3_01";
+ end;
+
+Onkill:
+ killmonster "job3_arch02","#arch_3_01::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ end;
+}
+
+job3_arch02,307,200,0 script #arch_3_02 -1,5,5,{
+OnInit:
+ enablenpc "#arch_3_02";
+ end;
+
+OnTouch:
+ if (BaseJob == Job_Priest) {
+ mapannounce "job3_arch02", "Skogul: You are my guest!",bc_map,"0xFF0000";
+ areamonster "job3_arch02",306,199,308,201,"Skogul",1761,1,"#arch_3_02::OnMyMobDead";
+ }
+ disablenpc "#arch_3_02";
+ end;
+
+Onkill:
+ killmonster "job3_arch02","#arch_3_02::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ end;
+}
+
+job3_arch02,296,216,0 script #arch_3_03 -1,5,5,{
+OnInit:
+ disablenpc "#arch_3_03";
+ end;
+
+OnTouch:
+ mapannounce "job3_arch02", "Frus: I like your face... Can I steal it?",bc_map,"0xFF0000";
+ areamonster "job3_arch02",295,215,297,217,"Frus",1762,1,"#arch_3_03::OnMyMobDead";
+ disablenpc "#arch_3_03";
+ end;
+
+Onkill:
+ killmonster "job3_arch02","#arch_3_03::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ end;
+}
+
+job3_arch02,389,390,1 script mob#arch_1 844,{
+OnEnable:
+ areamonster "job3_arch02",99,101,101,103,"Shrine Invader",1394,2,"mob#arch_1::OnMyMobDead";
+ areamonster "job3_arch02",89,130,91,132,"Shrine Invader",1394,2,"mob#arch_1::OnMyMobDead";
+ areamonster "job3_arch02",90,169,92,171,"Shrine Invader",1427,1,"mob#arch_1::OnMyMobDead";
+ areamonster "job3_arch02",103,182,105,184,"Shrine Invader",1427,1,"mob#arch_1::OnMyMobDead";
+ areamonster "job3_arch02",137,204,139,206,"Shrine Invader",1394,2,"mob#arch_1::OnMyMobDead";
+ areamonster "job3_arch02",160,214,162,216,"Shrine Invader",1394,2,"mob#arch_1::OnMyMobDead";
+ areamonster "job3_arch02",164,214,166,216,"Shrine Invader",1427,1,"mob#arch_1::OnMyMobDead";
+ areamonster "job3_arch02",200,235,202,237,"Shrine Invader",1394,2,"mob#arch_1::OnMyMobDead";
+ areamonster "job3_arch02",217,249,219,251,"Shrine Invader",1427,1,"mob#arch_1::OnMyMobDead";
+ areamonster "job3_arch02",253,292,255,294,"Shrine Invader",1427,1,"mob#arch_1::OnMyMobDead";
+ end;
+
+Onkill:
+ killmonster "job3_arch02","mob#arch_1::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ end;
+}
+
+job3_arch02,389,389,1 script mob#arch_2 844,{
+OnEnable:
+ areamonster "job3_arch02",155,320,157,322,"Shrine Invader",1480,2,"mob#arch_2::OnMyMobDead";
+ areamonster "job3_arch02",169,304,171,306,"Shrine Invader",1480,2,"mob#arch_2::OnMyMobDead";
+ areamonster "job3_arch02",182,292,184,294,"Shrine Invader",1453,1,"mob#arch_2::OnMyMobDead";
+ areamonster "job3_arch02",199,286,201,288,"Shrine Invader",1453,1,"mob#arch_2::OnMyMobDead";
+ areamonster "job3_arch02",255,292,257,294,"Shrine Invader",1480,2,"mob#arch_2::OnMyMobDead";
+ areamonster "job3_arch02",285,283,287,285,"Shrine Invader",1480,2,"mob#arch_2::OnMyMobDead";
+ areamonster "job3_arch02",277,235,279,237,"Shrine Invader",1453,1,"mob#arch_2::OnMyMobDead";
+ areamonster "job3_arch02",291,184,293,186,"Shrine Invader",1480,2,"mob#arch_2::OnMyMobDead";
+ areamonster "job3_arch02",280,169,282,171,"Shrine Invader",1453,1,"mob#arch_2::OnMyMobDead";
+ areamonster "job3_arch02",226,165,228,167,"Shrine Invader",1453,1,"mob#arch_2::OnMyMobDead";
+ areamonster "job3_arch02",189,145,191,147,"Shrine Invader",1480,1,"mob#arch_2::OnMyMobDead";
+ areamonster "job3_arch02",203,176,205,178,"Shrine Invader",1453,1,"mob#arch_2::OnMyMobDead";
+ end;
+
+Onkill:
+ killmonster "job3_arch02","mob#arch_2::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ end;
+}
+
+job3_arch02,389,388,1 script start#arch 844,{
+ end;
+
+OnInit:
+ mapwarp "job3_arch02","job3_arch02",29,29;
+ end;
+
+OnEnable:
+ mapwarp "job3_arch02","job3_arch02",29,29;
+ enablenpc "#arch_1_start";
+ enablenpc "#arch_1_01";
+ enablenpc "#arch_1_02";
+ enablenpc "#arch_1_03";
+ enablenpc "#arch_1_04";
+ enablenpc "#arch_1_05";
+ enablenpc "#arch_1_06";
+ enablenpc "#arch_1_07";
+ enablenpc "#arch_1_08";
+ enablenpc "#arch_1_09";
+ enablenpc "#arch_1_10";
+ enablenpc "#arch_1_11";
+ enablenpc "#arch_1_12";
+ enablenpc "#arch_1_boss";
+ disablenpc "#arch_2_01";
+ disablenpc "#arch_2_02";
+ disablenpc "#arch_2_03";
+ disablenpc "#arch_2_04";
+ disablenpc "#arch_2_05";
+ disablenpc "#arch_2_06";
+ disablenpc "#arch_2_07";
+ disablenpc "#arch_2_08";
+ disablenpc "#arch_2_09";
+ disablenpc "#arch_2_10";
+ disablenpc "#arch_2_11";
+ disablenpc "#arch_2_boss";
+ disablenpc "#arch_3_01";
+ disablenpc "#arch_3_02";
+ disablenpc "#arch_3_03";
+ donpcevent "#arch_3_01::Onkill";
+ donpcevent "#arch_3_02::Onkill";
+ donpcevent "#arch_3_03::Onkill";
+ disablenpc "#arch_end";
+ disablenpc "Valkyrie#arch_01";
+ disablenpc "Valkyrie#arch_02";
+ disablenpc "Valkyrie Anguhilde#end";
+ disablenpc "Valkyrie of the heavens";
+ donpcevent "#arch_redcell::Onred";
+ donpcevent "mob#arch_1::Onkill";
+ donpcevent "mob#arch_2::Onkill";
+ donpcevent "start#arch::Ontimeoff";
+ donpcevent "start#arch::Ontimeon";
+ donpcevent "#arch_val01::Onkill";
+ donpcevent "#arch_val02::Onkill";
+ donpcevent "mob#arch_1::Onkill";
+ donpcevent "mob#arch_2::Onkill";
+ donpcevent "mob#arch_1::OnEnable";
+ donpcevent "#arch_val01::OnEnable";
+ end;
+
+Ontimeon:
+ initnpctimer;
+ end;
+
+Ontimeoff:
+ stopnpctimer;
+ end;
+
+OnTimer60000:
+OnTimer120000:
+OnTimer180000:
+OnTimer240000:
+OnTimer300000:
+OnTimer360000:
+OnTimer420000:
+OnTimer480000:
+OnTimer540000:
+ set .@mapcount,getmapusers("job3_arch02");
+ if (.@mapcount == 0) {
+ mapwarp "job3_arch02","job_arch01",29,29;
+ donpcevent "Valkyrie#arch::Onbc";
+ stopnpctimer;
+ }
+ end;
+
+OnTimer600000:
+ mapannounce "job3_arch02", "Demons cry: Too boring, can no longer imagine what will happen! Friends, we went to lessons learned that could fool arrogant guy, OK?",bc_map,"0xFF0000";
+ end;
+
+OnTimer605000:
+ mapannounce "job3_arch02", "Valkyrie's voice: No! This can not be. I will send you back soon!",bc_map,"0xFFCE00";
+ mapwarp "job3_arch02","job_arch01",29,29;
+ donpcevent "Valkyrie#arch::Onbc";
+ stopnpctimer;
+ end;
+}
+
+job3_arch02,390,388,1 script #arch_2_start 844,{
+ end;
+
+OnInit:
+ disablenpc "#arch_2_01";
+ disablenpc "#arch_2_02";
+ disablenpc "#arch_2_03";
+ disablenpc "#arch_2_04";
+ disablenpc "#arch_2_05";
+ disablenpc "#arch_2_06";
+ disablenpc "#arch_2_07";
+ disablenpc "#arch_2_08";
+ disablenpc "#arch_2_09";
+ disablenpc "#arch_2_10";
+ disablenpc "#arch_2_11";
+ disablenpc "#arch_2_boss";
+ end;
+
+OnEnable:
+ enablenpc "#arch_2_01";
+ enablenpc "#arch_2_02";
+ enablenpc "#arch_2_03";
+ enablenpc "#arch_2_04";
+ enablenpc "#arch_2_05";
+ enablenpc "#arch_2_06";
+ enablenpc "#arch_2_07";
+ enablenpc "#arch_2_08";
+ enablenpc "#arch_2_09";
+ enablenpc "#arch_2_10";
+ enablenpc "#arch_2_11";
+ enablenpc "#arch_2_boss";
+ donpcevent "#arch_val02::OnEnable";
+ donpcevent "mob#arch_2::OnEnable";
+ end;
+}
+
+job3_arch02,390,386,1 script #arch_3_start 844,{
+ end;
+
+OnEnable:
+ enablenpc "#arch_3_01";
+ enablenpc "#arch_3_02";
+ enablenpc "#arch_3_03";
+ enablenpc "#arch_end";
+ enablenpc "#arch_end_eff";
+ end;
+}
+
+job3_arch02,290,221,0 script #arch_end_eff 139,5,5,{
+OnTouch:
+ specialeffect EF_MAPPILLAR2,"#arch_end";
+ end;
+}
+
+job3_arch01,29,24,0 warp #archout 1,1,odin_tem02,282,263
+
+/*
+job3_arch01,1,1,1 script ¿ØÖÆ#arch 844,{
+ mes "[Íç¹̵ÄÊÞÈË]";
+ mes "ÇëÊäÈëÃÜÂ롣";
+ next;
+ input .@input; //,0,9999;
+ if (input == 1854) {
+ set archglo,090219_archbs;
+ mes "[ͨÐÐ]";
+ mes "ÏÖÔڵÄȫ¾ֱäÁ¿ֵΪ";
+ mes "" + archglo + "¡£";
+ mes "ÄãÏëÐÄÂð?";
+ next;
+ switch(select("0:1")) {
+ case 1:
+ set $@archbs,0; //Global Variable
+ enablenpc "Valkyrie#arch";
+ break;
+ case 2:
+ set $@archbs,1; //Global Variable
+ enablenpc "Valkyrie#arch";
+ break;
+ }
+ }
+ else {
+ mes "[Íç¹̵ÄÊÞÈË]";
+ mes "ÎҲ»ÊÇ˵¹ýÃÜÂëҪÊäÈëÕýȷÂ𣡣¡";
+ close;
+ }
+}
+*/
+
+odin_tem02,30,181,0 script #wherearch01 -1,10,10,{
+OnTouch:
+ if (job_arch == 5)
+ viewpoint 1,282,263,1,0xFFFF99;
+ end;
+}
+
+odin_tem02,30,335,0 script #wherearch02 -1,10,10,{
+OnTouch:
+ if (job_arch == 5)
+ viewpoint 1,282,263,1,0xFFFF99;
+ end;
+}
diff --git a/npc/jobs/3-1/rune_knight.txt b/npc/jobs/3-1/rune_knight.txt new file mode 100644 index 000000000..376c2fb41 --- /dev/null +++ b/npc/jobs/3-1/rune_knight.txt @@ -0,0 +1,3931 @@ +prt_in,162,24,3 script Splendid-Looking Knight 470,{
+ if (Upper == 4) {
+ // custom translation
+ mes "[Rune Knight Manuel]";
+ mes "You're certainly a big child. Where are your parents?";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "Your parents wouldn't happen to be a Knight, or Rune Knight, would they? You should introduce me to them.";
+ close;
+ }
+ else {
+ if (BaseClass == Job_Rune_Knight) {
+ mes "[Rune Knight Manuel]";
+ mes "Your are now a member of our select brethren. I can still remember when I first met you.";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "Strive to live the way of the sword with honor...";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "Cheers to our new future...";
+ close;
+ }
+ else {
+ if (job_rune_edq == 0) {
+ mes "[Rune Knight Manuel]";
+ mes "There are many paths one can take in the world. Most people can see their path but don't really follow it...";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "Anyway the drinks here are really good. Would you like to have one?";
+ next;
+ switch(select("Sure, let's have a drink.:I refuse.")) {
+ case 1:
+ if (BaseJob == Job_Knight) {
+ mes "[Rune Knight Manuel]";
+ mes "You walk the way of sword too don't you? Then we can understand each other. Drinks taste better when it's with a fellow Swordman.";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "I'll buy this round.";
+ mes "A toast to friendship~";
+ next;
+ if ((BaseLevel > 98) && (JobLevel > 49)) {
+ mes "[Rune Knight Manuel]";
+ mes "In my opinion you seem to be ready to start a new way...";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "Walking the way of the sword is a perpetual battle. From now on you may have a rough journey ahead of you...";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "If you want to walk on your new way and surpass your current limits, I'm willing to help you.";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "The true way of a Swordman who learned harmony to break the limit of a sword is a Rune Knight.";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "Won't you join our brethren? You look like you're fully qualified to become one of us.";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "If you are interested, I'll introduce you to the masters who will guide you to the way of the Rune Knight with my recommendation.";
+ next;
+ switch(select("I am not ready yet.:I'm ready to be a Rune Knight.")) {
+ case 1:
+ mes "[Rune Knight Manuel]";
+ mes "Right. Every challenge always needs preparation. Okay, I'll wait for you.";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "Of course, I would only accept you if you are one hundred percent sure of your conviction to become a Rune Knight.";
+ close;
+ case 2:
+ mes "[Rune Knight Manuel]";
+ mes "You're sure now?";
+ mes "Let me send a dispatch to my comrades that you are willing to join our ranks.";
+ next;
+ set job_rune_edq,1;
+ setquest 3200;
+ mes "[Rune Knight Manuel]";
+ mes "You know the place called Glast Heim? There's a Rune Knight waiting for you there, he will guide you to the entrance of Glast Heim Tower.";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "My name is Manuel. I am called the Rune Knight of Brilliance. When you tell him that you are a Rune Knight candidate with my recommendation, he will handle the rest.";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "I will wait for the day that you become our comrade as a true Rune Knight.";
+ close;
+ }
+ }
+ else {
+ mes "[Rune Knight Manuel]";
+ mes "If you continually walk the way of the sword, you will eventually feel the limits of your powers. Like myself before...";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "When the time comes there will be a way to help you surpass that limit. Until the day that your strength has grown comes, we can at least still have a drink together.";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "A toast to the day that your strength can withstand the powers of a Rune Knight!";
+ close;
+ }
+ }
+ else {
+ mes "[Rune Knight Manuel]";
+ mes "I believe that the wind of change is not always a good one.";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "Just like the taste of this drink. I wish the taste of this drink is kept here forever.";
+ close;
+ }
+ case 2:
+ mes "[Rune Knight Manuel]";
+ mes "Are you sure? You don't know the true elegance of these drinks...";
+ close;
+ }
+ }
+ else if (job_rune_edq == 1) {
+ mes "[Rune Knight Manuel]";
+ mes "The Rune Knight is waiting for you at Glast Heim. He will guide you to the entrance of Glast Heim Tower.";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "Tell him that you are a candidate to be a Rune Knight and he will handle the rest.";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "I will wait for the day you become our comrade as a true Rune Knight.";
+ close;
+ }
+ else {
+ mes "[Rune Knight Manuel]";
+ mes "Don't you have things to do right now?";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "No? Well then never mind.";
+ mes "Don't you love the smell of alcohol?";
+ close;
+ }
+ }
+ }
+}
+
+glast_01,44,363,3 script Guide, Jungberg 468,{
+ if (BaseClass == Job_Rune_Knight) {
+ mes "[Guide, Jungberg]";
+ mes "Oh you must be, " + strcharinfo(0) + ".";
+ mes "Welcome.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "We are looking forward to you helping the Rune Knights spread honor throughout the world.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "So, What can I help you with?";
+ next;
+ switch(select("I want to go to the gathering place.:Nothing.")) {
+ case 1:
+ mes "[Guide, Jungberg]";
+ mes "Right. I'll send you right now. I'll see you soon.";
+ close2;
+ warp "job3_rune01",80,65;
+ end;
+ case 2:
+ close;
+ }
+ }
+ else if (BaseJob == Job_Knight) {
+ if (job_rune_edq == 0) {
+ mes "[Guide, Jungberg]";
+ mes "Are you a cursed ghost of this place? Or are you an ignorant adventurer?";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "If you are a breathing human, then listen to me carefullly. I wouldn't risk my life here by hesitating to talk to just anyone.";
+ next;
+ switch(select("Who are you?:What are you doing here?:Cancel.")) {
+ case 1:
+ if (BaseJob == Job_Knight) {
+ mes "[Guide, Jungberg]";
+ mes "I am the only knight who's keeping the way of the Swordman in this cursed place Glast Heim.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "If you also follow the way of the Swordman our paths will most certainly cross again when you have reached your full potential.";
+ close;
+ }
+ else {
+ mes "[Guide, Jungberg]";
+ mes "I am the only knight who's keeping the way of the Swordman in this cursed place Glast Heim.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "Since you don't walk the way of the Sword, you wouldn't understand our spirit. I can manage by myself. Follow your own path.";
+ close;
+ }
+ case 2:
+ if (BaseJob == Job_Knight) {
+ mes "[Guide, Jungberg]";
+ mes "I am a man walking the way of the Sword. But I'm not exactly the same as the likes of you, Rune-Midgart knight.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "We are not like the other Knights who are absorbed with pomp and circumstance so you may not know of us yet.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "We are the Rune Knights. A group that leads the true power as well as the physical strength to the righteous way of the Sword.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "We have been living in secret here in the deep of Glast Heim for a half century but it's time to let the world know our purpose.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "Now there are many instructors who are looking for talented Sword wielders in various places of Rune Midgard. They are looking for a people who will join the true way of the Sword.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "If you wish to join the Rune Knights. Please get a recommendation from one of the guides and come to me again.";
+ close;
+ }
+ else {
+ mes "[Guide, Jungberg]";
+ mes "We are not like the other Knights who are absorbed with pomp and circumstance so you may not know of us yet.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "We are the Rune Knights. A group that leads the true power as well as the physical strength to the righteous way of the Sword.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "We have been living in secret here in the deep of Glast Heim for a half century but it's time to let the world know our purpose.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "Now there are many instructors who are looking for talented Sword wielders in various places of Rune Midgard. They are looking for a people who will join the true way of the Sword.";
+ next;
+ mes "[Guide, Jungberg]";
+ // custom translation
+ mes "Unfortunately, you are pursuing a different path than our people...I hope you can follow their path and convictions.";
+ close;
+ }
+ case 3:
+ close;
+ }
+ }
+ else if (job_rune_edq == 1) {
+ mes "[Guide, Jungberg]";
+ mes "Are you a cursed ghost of this place? Or are you an ignorant adventurer?";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "If you are a breathing human, then listen to me carefullly. I wouldn't risk my life here by hesitating to talk to just anyone.";
+ next;
+ switch(select("I came to be a Rune Knight.:Cancel.")) {
+ case 1:
+ mes "[Guide, Jungberg]";
+ mes "Um... Are you the Rune Knight candidate that Manuel talked about?";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "Your name is "+ strcharinfo(0) +", right? I can see clearly that you are qualified to become our comrade.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "Good. I don't have to ask anymore about your qualification to join our brethren.";
+ mes "Now I'll give you your first assignment.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "Find our Rune Knight gathering place hidden inside of Glast Heim.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "There's a place that leads to the Rune Knight's secret gathering room inside the Glast Heim Chivalry. Find that place by yourself.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "If you can find it, there'll be a person waiting to greet you, so let's start.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "Of course your life might be at risk by the ghosts of Glast Heim...but overcoming the risk shouldn't be hard for a Rune Knight candidate.";
+ set job_rune_edq,2;
+ changequest 3200,3201;
+ close;
+ case 2:
+ close;
+ }
+ }
+ else if (job_rune_edq == 2) {
+ mes "[Guide, Jungberg]";
+ mes "The 1st assignment is to find out our Rune Knight gathering place hidden inside of Glast Heim.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "There's a place that leads to the Rune Knights' secret gathering place inside Glast Heim Chivalry. Find that place by yourself.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "If you can find it, there'll be a person waiting to greet you, so let's start.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "Of course your life might be at risk by the ghosts of Glast Heim...but overcoming the risk shouldn't be hard for a Rune Knight candidate.";
+ close;
+ }
+ else {
+ mes "[Guide, Jungberg]";
+ mes "It seems that you are still taking the test. Do your best and pass all the tests.";
+ next;
+ switch(select("I want to go to the gathering place.:Quit the conversation.")) {
+ case 1:
+ mes "[Guide, Jungberg]";
+ mes "All right. I'll send you right away. I'll check you later.";
+ close2;
+ warp "job3_rune01",80,65;
+ end;
+ case 2:
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Guide, Jungberg]";
+ mes "I am the only knight who's keeping the way of the Swordman in this cursed place Glast Heim.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "Since you don't walk the way of the Sword, you wouldn't understand our spirit. I can manage by myself. Follow your own path.";
+ close;
+ }
+}
+
+gl_knt02,150,55,3 script Rune Knight Staff 83,{
+ if (BaseClass == Job_Rune_Knight) {
+ mes "[Rune Knight Staff]";
+ mes "Welcome, " + strcharinfo(0) + ". Are you going to the gathering place?";
+ next;
+ switch(select("Yes, take me there.:I'm on other business.:Cancel.")) {
+ case 1:
+ mes "[Rune Knight Staff]";
+ mes "Okay, come in. I'll guide you.";
+ close2;
+ warp "job3_rune01",80,65;
+ end;
+ case 2:
+ mes "[Rune Knight Staff]";
+ mes "Oh, really? Then, keep on your work. I'll continue with my mission.";
+ close;
+ case 3:
+ close;
+ }
+ }
+ else if (BaseJob == Job_Knight) {
+ if ((job_rune_edq > 0) && (job_rune_edq < 2)) {
+ // custom translation
+ mes "[Rune Knight Staff]";
+ mes "Ah...this area is off limits, you are prohibited to be here. Please do not do anything to hinder our efforts.";
+ next;
+ mes "[Rune Knight Staff]";
+ mes "although...you seem to have the potential to become a companion to those who follow the path of the sword.";
+ next;
+ mes "[Rune Knight Staff]";
+ mes "I'm sure we'll be crossing paths before long. I believe we will meet again.";
+ close;
+ }
+ else if (job_rune_edq > 1) {
+ mes "[Rune Knight Staff]";
+ mes "You found this place correctly. Jungberg sent me to send you to the gathering place.";
+ next;
+ mes "[Rune Knight Staff]";
+ mes "When you get into the gathering place, talk to Captain Tigris. He's always waiting for new members to show up.";
+ next;
+ mes "[Rune Knight Staff]";
+ mes "Well, please follow me.";
+ close2;
+ warp "job3_rune01",80,65;
+ end;
+ }
+ end;
+ }
+ else {
+ mes "[Rune Knight Staff]";
+ mes "Wait! This place is prohibited. I don't mind you going around but, don't ever disturb me again.";
+ close;
+ }
+}
+
+job3_rune01,80,60,3 script Rune Knight Captain 470,{
+ if (!checkweight(1201,1)) {
+ mes "You've got too many things. You cannot proceed anymore. Please try again after losing some weight.";
+ close;
+ }
+ if (BaseClass == Job_Rune_Knight) {
+ if (job_rune_edq == 23) {
+ mes "[Captain Tigris]";
+ mes "Oh, I see... Please wait a moment.";
+ next;
+ mes "[Captain Tigris]";
+ mes "I forgot to check if you are qualified to get the celebration gift for changing your job..";
+ next;
+ mes "[Captain Tigris]";
+ mes "Let me check the report from the instructors who took care of your tests.";
+ next;
+ if (job_rune_edq3 == 0) {
+ // custom translation
+ mes "[Captain Tigris]";
+ mes "Ah...perfect. This result is truely rare.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Well, take this. This is a present that I've kept to give to my juniors like you.";
+ getitem 2140,1; //Energy_Rune_Guard
+ set job_rune_edq,24;
+ close;
+ }
+ else if ((job_rune_edq3 > 2) && (job_rune_edq3 < 6)) {
+ // custom translation
+ mes "[Captain Tigris]";
+ mes "Ah, what a high score. Your results were very good.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Well, take this. This is a present that I've kept to give to my juniors like you.";
+ getitem 2794,1; //Magic_Stone_Ring
+ set job_rune_edq,24;
+ close;
+ }
+ else {
+ mes "[Captain Tigris]";
+ mes "Umm, not bad. It's not a great record but you tried your best.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Well, take this. This is a present that I've kept to give to my juniors like you.";
+ getitem 15002,1; //Rune_Plate
+ set job_rune_edq,24;
+ close;
+ }
+ }
+ else {
+ mes "[Captain Tigris]";
+ mes "Hey, long time no see, " + strcharinfo(0) + ". I don't think you've got any important matters to discuss but make yourself comfortable.";
+ close;
+ }
+ }
+ else if (BaseJob == Job_Knight) {
+ if (job_rune_edq == 2) {
+ mes "A man wearing glorious armor and passion in his eyes is standing in front of me.";
+ next;
+ mes "He stares at me with an absent look and after a while he begins to talk.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Hey, are you the Rune Knight candidate that Manuel recommended? I am Captain Tigris from the Rune Knights, and your name is??";
+ next;
+ mes "[Captain Tigris]";
+ mes "Oh, I've heard it before but I've forgotten it. Right, were you " + strcharinfo(0) + "? I truly welcome you from the heart for coming here.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Let's see. How many candidates have come to this room? Hey, Lunarea, which candidate is this one here?";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "... 172nd.";
+ next;
+ mes "[Captain Tigris]";
+ mes "She says so my friend. Actually I don't want to see the next one. So please do well.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Let me see... Manual and Jungberg must have finished the basic verification, then let's start the test right away.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Lunarea, proceed with the first test.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "...";
+ next;
+ mes "This pale-skinned female Rune Knight called Lunarea is nodding her head quietly and watching me.";
+ next;
+ mes "[Captain Tigris]";
+ mes "The test begins now. First, you'll get the 1st test from that beautiful icy lady, so please try your best.";
+ next;
+ mes "[Captain Tigris]";
+ mes "When the test is done, talk to me. Anyway you'll need to care about the tests progressing with other people.";
+ next;
+ set job_rune_edq,3;
+ changequest 3201,3202;
+ mes "[Captain Tigris]";
+ mes "Well then, I'll be waiting here so take the test.";
+ close;
+ }
+ else if (job_rune_edq == 3) {
+ mes "[Captain Tigris]";
+ mes "Now the test begins. First, you'll get the 1st test from that beautiful icy lady, so please try your best.";
+ next;
+ mes "[Captain Tigris]";
+ mes "When the test is done, talk to me... anyway you'll need to care about the tests progressing with other people.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Well then, I'll be waiting here so take the test.";
+ close;
+ }
+ else if ((job_rune_edq > 3) && (job_rune_edq < 6)) {
+ mes "[Captain Tigris]";
+ mes "Hey you, weren't you testing? Lunarea, what happened? Is the test all done?";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "......";
+ next;
+ mes "She just shakes her head without saying any word, and stares at me. She has piercing eyes.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Okay Lunarea. Hey, listen to me carefully. Lunarea is a poor talker and quiet but you shouldn't ignore her.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Even for me... no, any one of us who upsets her wouldn't be able to deal with that.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "......";
+ next;
+ mes "[Captain Tigris]";
+ mes "Whoa don't look at me like that. Okay, you see that? Aspiring Rune Knight. Go back to Lunarea and take the test as she says. That'll be good for you.";
+ close;
+ }
+ else if (job_rune_edq == 6) {
+ mes "[Captain Tigris]";
+ mes "Umm, it seems that you've passed Lunarea's test? I guess I won't have to test more for the basics.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Undeniably our Rune Knights have some differences but we should not forget our Swordman roots.";
+ next;
+ mes "[Captain Tigris]";
+ mes "From now on, this will be the real test as a Rune Knight that you want to be. You'll need to prepare to take next test.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Renoa, I know that you've been waiting for a long time but it's your turn.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "It really has been such a long time but Lunarea's test and mine differ like the sky to the earth. I hope you won't be just a muscle-headed fool.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Hahaha. you heard that? It won't be easy this time. I hope you get through it my friend.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Go to that fiery lady in the library room to get the next test done and come back.";
+ set job_rune_edq,7;
+ changequest 3204,3205;
+ close;
+ }
+ else if ((job_rune_edq > 6) && (job_rune_edq < 16)) {
+ mes "[Captain Tigris]";
+ mes "Now, this will be the real test as a Rune Knight. You've got to prepare to take the next test.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Renoa, I know that you've been waiting for a long time but it's your turn.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "It really has been such a long time but Lunarea's test and mine differ like the sky to the earth. I hope you won't be just a muscle-headed fool.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Hahaha. you heard that? It won't be easy this time. I hope you get through it my friend.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Go to that fiery lady in the library room to get the next test done and come back.";
+ close;
+ }
+ else if (job_rune_edq == 16) {
+ mes "[Captain Tigris]";
+ mes "Oh, I heard that you've passed Renoa's test which only few people could pass.";
+ next;
+ mes "[Captain Tigris]";
+ mes "I heard that the number of candidates who've given up while taking Renoa's test has been high.";
+ next;
+ mes "[Captain Tigris]";
+ mes "You have to understand. I think it was the test that shows exactly the test instructor's personality. Hmm...";
+ next;
+ mes "[Captain Tigris]";
+ mes "Now, there's only the last test left. When you pass this, you will be on your way to officially becoming a Rune Knight.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Take the final test from the Rune Knight Velpino who is at the arsenal's right side.";
+ next;
+ mes "[Captain Tigris]";
+ mes "I'm not kidding, I am really looking forward to your new start as a Rune Knight.";
+ mes "So please do your best.";
+ set job_rune_edq,17;
+ changequest 3215,3216;
+ close;
+ }
+ else if ((job_rune_edq > 16) && (job_rune_edq < 22)) {
+ mes "[Captain Tigris]";
+ mes "Take the final test from the Rune Knight Velpino who is at the arsenal's right side.";
+ next;
+ mes "[Captain Tigris]";
+ mes "I'm not kidding, I am really looking forward to your new start as a Rune Knight. So please do your best.";
+ close;
+ }
+ else if (job_rune_edq == 22) {
+ mes "[Captain Tigris]";
+ mes "Congratulations. Now you've passed all the tests and can walk the way of a Rune Knight.";
+ next;
+ mes "[Captain Tigris]";
+ mes "I'm happy from the bottom of my heart. I'm very proud of you.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Now you can be yourself around us and stand proud as one of us.";
+ next;
+ mes "[Captain Tigris]";
+ mes "There's the evaluations from Lunarea, Renoa and Velpino who took care of your tests.";
+ next;
+ mes "[Captain Tigris]";
+ mes "It's not much but there are some gifts for new Rune Knights who got good scores on the tests.";
+ next;
+ mes "[Captain Tigris]";
+ mes "There will be a difference depending on the scores, but they are all helpful for anyone who is a Rune Knight.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Lastly, there are several things to be aware of as a Knight who's experienced a job change to a Lord Knight in Valhalla.";
+ next;
+ mes "[Captain Tigris]";
+ mes "If there's any equipment that you are wearing now, or anything you're holding, please empty it for your job change moment.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Visit the Kafra Employee to use the storage.";
+ next;
+ mes "[Captain Tigris]";
+ mes "You might know already, if you are riding a Peco Peco, you should have left it behind. If you brought it, leave it and come again.";
+ next;
+ mes "[Captain Tigris]";
+ mes "One more thing. If you have any remained skill-points, use it all and learn the skills. You won't be able to change jobs if you have any more skill points.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Well, my job is done now. Would you like to start your new life as a Rune Knight?";
+ next;
+ switch(select("Every preparation is done.:I need more time to think.")) {
+ case 1:
+ if ((Weight > 0) || (checkcart()) || (SkillPoint) || (checkfalcon()) || (checkriding())) {
+ mes "[Captain Tigris]";
+ mes "Weren't you listening?";
+ next;
+ mes "[Captain Tigris]";
+ mes "If there's any equipment that you are wearing now, or anything you're holding. Please empty it for your job change moment.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Talk to the Kafra Employee to use the storage.";
+ next;
+ mes "[Captain Tigris]";
+ mes "You might know already, if you are riding a Peco Peco, you should have left it behind. If you brought it, leave it and come again.";
+ next;
+ mes "[Captain Tigris]";
+ mes "One more thing. If you have any remained skill-points, use it all and learn the skills. You won't be able to change jobs if you have any more skill points.";
+ next;
+ mes "[Captain Tigris]";
+ mes "If you understood, then make your preparations and come back.";
+ close;
+ }
+ else {
+ if ((BaseJob != Job_Knight) && (JobLevel < 50) && (SkillPoint) && (BaseLevel < 99)) {
+ // custom translation
+ mes "[Captain Tigris]";
+ mes "You seem to be missing something?";
+ close;
+ }
+ mes "[Captain Tigris]";
+ mes "Our Master, Beljeve... and the Great Sage, Serpeone...";
+ next;
+ mes "[Captain Tigris]";
+ mes "This Knight is going to walk the way of the Rune Knights with us, so please give your blessing.";
+ next;
+ getitem 5746,1; //Rune_Circlet
+ getitem 2795,1; //Green_Apple_Ring
+ set job_rune_edq,23;
+ completequest 3219;
+ jobchange Job_Rune_Knight,Upper;
+ mes "[Captain Tigris]";
+ mes "Remember this moment forever for you are now a Rune Knight.";
+ next;
+ mes "[Captain Tigris]";
+ mes "There's a royal gift from the Rune-Midgarts Kingdom for all new Rune Knights.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Give me a second to get the royal gift and talk to me again.";
+ close;
+ }
+ case 2:
+ close;
+ }
+ }
+ }
+ else {
+ // custom translation
+ mes "[Captain Tigris]";
+ mes "I don't know how you got here...but you should not have come here.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Go back to where came from.";
+ close2;
+ warp "gl_knt02",150,55;
+ end;
+ }
+}
+
+job3_rune01,90,50,3 script Rune Knight Lunarea 469,{
+ if (BaseClass == Job_Rune_Knight) {
+ mes "She holds up her chin quietly, nods lightly and notices me.";
+ next;
+ mes "Then after a moment she puts her face down and seems absorbed with other thoughts.";
+ close;
+ }
+ else if (BaseJob == Job_Knight) {
+ if (job_rune_edq < 3) {
+ mes "This pale-skinned absent-looking female Rune Knight doesn't seem to care. Of course she doesn't seem interested with my existence";
+ close;
+ }
+ else if (job_rune_edq == 3) {
+ mes "She finally opens her mouth and begins to talk.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "5 minutes... When you endure and get rid of all, you succeed.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "In this test, Captain Tigris, Renoa, Velpino and I will visit together.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "If you want to, you can ask help from one of us. But don't think that we will always help.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "Since it's a test, getting help from us is completely your choice. It doesn't matter if you take the test with our help or all by yourself.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "When you are ready to go to the test field talk to me.";
+ next;
+ switch(select("Move to the test field now.:Give me time to get ready.")) {
+ case 1:
+ if ($@rune_test1 == 0) {
+ mes "She nods her head and reaches out her hand lightly. Then she draws her sword and makes a signal.";
+ set job_rune_edq,4;
+ changequest 3202,3203;
+ set $@job_rune_test1,1;
+ close2;
+ warp "job3_rune02",38,40;
+ end;
+ }
+ else {
+ // custom translation
+ mes "She nods her head and reaches out her hand lightly. Then she draws her sword and makes a signal.";
+ next;
+ mes "But her expression suddenly changed a bit as she looked at to speak.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "Now...the testing room is currently occupied...";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "You'll have to wait...it is regulation that the test must take place on a 1:1 level.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "Just wait over 5 minutes and it should be your turn.";
+ close;
+ }
+ case 2:
+ close;
+ }
+ }
+ else if (job_rune_edq == 4) {
+ mes "[Rune Knight, Lunarea]";
+ mes "Did you fail? But, there's no limitation to the number of times you can try.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "If you want to take the test again. I can send you to the test field.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "5 minutes... When you endure and get rid of all, you succeed.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "If you are ready to move to the test field talk to me.";
+ next;
+ switch(select("Move to the test field now.:Please give me time to prepare.")) {
+ case 1:
+ set .@test_miss_check,checkquest(3220,PLAYTIME);
+ if (.@test_miss_check == -1) {
+ if ($@rune_test1 == 0) {
+ mes "She nods her head and reaches out her hand lightly. Then she draws her sword and makes a signal.";
+ set $@job_rune_test1,1;
+ if (checkquest(3220) > -1) erasequest 3220;
+ setquest 3220;
+ close2;
+ warp "job3_rune02",38,40;
+ end;
+ }
+ else {
+ // custom translation
+ mes "She nods her head and reaches out her hand lightly. Then she draws her sword and makes a signal.";
+ next;
+ mes "But her expression suddenly changed a bit as she looked at to speak.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "Now...the testing room is currently occupied...";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "You'll have to wait...it is regulation that the test must take place on a 1:1 level.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "Just wait over 5 minutes and it should be your turn.";
+ close;
+ }
+ }
+ else if ((.@test_miss_check == 0) || (.@test_miss_check == 1)) {
+ mes "[Rune Knight, Lunarea]";
+ mes "Once someone enters into the test field you cannot enter directly. The test is taken one by one.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "When it's your turn to enter you will be sent there directly.";
+ close;
+ }
+ else if (.@test_miss_check == 2) {
+ erasequest 3220;
+ if ($@rune_test1 == 0) {
+ mes "She nods her head and reaches out her hand lightly. Then she draws her sword and makes a signal.";
+ set $@job_rune_test1,1;
+ setquest 3220;
+ close2;
+ warp "job3_rune02",38,40;
+ end;
+ }
+ else {
+ // custom translation
+ mes "She nods her head and reaches out her hand lightly. Then she draws her sword and makes a signal.";
+ next;
+ mes "But her expression suddenly changed a bit as she looked at to speak.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "Now...the testing room is currently occupied...";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "You'll have to wait...it is regulation that the test must take place on a 1:1 level.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "It will be your turn when the time is up.";
+ close;
+ }
+ }
+ case 2:
+ close;
+ }
+ }
+ else if (job_rune_edq == 5) {
+ mes "[Rune Knight, Lunarea]";
+ mes "Was your test successful?";
+ next;
+ mes "She shows a small smile which is barely visible and looks at me.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "This portion of the test is over. Go talk to Captain Tigris.";
+ set job_rune_edq,6;
+ changequest 3203,3204;
+ close;
+ }
+ else if (job_rune_edq > 5) {
+ mes "[Rune Knight, Lunarea]";
+ mes "This portion of the test is over. Go talk to Captain Tigris.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "There are other tests you need to complete. I hope you do a good job.";
+ close;
+ }
+ }
+ else {
+ mes "This pale-skinned absent-looking female Rune Knight doesn't seem to care. Of course she doesn't seem interested with my existence";
+ close;
+ }
+}
+
+job3_rune01,55,50,3 script Rune Knight, Renoa 469,{
+ if (BaseClass == Job_Rune_Knight) {
+ mes "[Rune Knight, Renoa]";
+ mes "Congratulations for becoming one of us. Junior Rune Knight, " + strcharinfo(0) + ".";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Soon you'll see the way we need to go clearly.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Until then, I'll be here to discover more candidates just like you.";
+ close;
+ }
+ else if (BaseJob == Job_Knight) {
+ if (job_rune_edq < 7) {
+ mes "[Rune Knight, Renoa]";
+ mes "Are you the one who wants to be a Rune Knight? There have been so many today.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "It's too bad that there haven't been many candidates that have made it to my part of the test yet so I'm just taking a bit of a rest.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "If you are taking the Rune Knight test I hope that you try your best. This won't be as easy to pass as Lunarea's test ok?";
+ close;
+ }
+ else if (job_rune_edq == 7) {
+ mes "[Rune Knight, Renoa]";
+ mes "Finally! Is it my turn? I'm so happy.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "There have been so many candidates failing Lunarea's test that I've given up counting.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "I am Renoa. I am in charge of the teaching and testing of runes and magic for Rune Knight candidates.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Thank you for all of your trouble taking the test so far. Okay, anyway.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Well first, I'll give you an assignment. Let's start by studying. Go to the library and study these books.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Umm, ^0000FFRunes and Rune Knights^000000, ^0000FFThe Principles of Runes^000000, ^0000FFThe Making and use of Runes^000000. Start with these 3...";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Read the book thoroughly and come back. If you are the type of person who doesn't like reading and studying then it won't be easy for you to live as a Rune Knight.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Don't worry, you won't be required to have the same knowledge as the magicians of Geffen or Juno. But you can't be an idiot either.";
+ set job_rune_edq,8;
+ changequest 3205,3206;
+ close;
+ }
+ else if (job_rune_edq == 8) {
+ mes "[Rune Knight, Renoa]";
+ mes "Well first, I'll give you an assignment. Let's start by studying. Go to the library and study these books.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Umm, ^0000FFRunes and Rune Knights^000000, ^0000FFThe Principles of Runes^000000, ^0000FFThe Making and use of Runes^000000. Start with these 3...";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Read the book thoroughly and come back. If you are the type of person who doesn't like reading and studying then it won't be easy for you to live as a Rune Knight.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Don't worry, you won't be required to have the same knowledge as the magicians of Geffen or Juno. But you can't be an idiot either.";
+ close;
+ }
+ else if (job_rune_edq == 11) {
+ mes "[Rune Knight, Renoa]";
+ mes "Have you read all the books from the library? It won't be easy to read but if you are determined to be a Rune Knight, you have to have this kind of basic knowledge.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Basically, the power of magic cannot be used without training to draw out the power of nature and the elements.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Therefore, jobs such as Wizard and Sage have come out and the magic became their own sacred field.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "The leader of the Rune Knights, Beljeve, is known to have been in touch with the fairies even before the dimensional door of the Ash Vacuum was made when Satan Morroc resurrected.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "I heard a story from the magical scholars about the technology that can substantialize the essence of magic. I began a study to substantialize it to a rune by getting their help.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Our Rune Knight's were born from the result of that study, which enables practicing both the power of the sword and magic by using runes.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "You look like you don't understand why I'm repeating the teaching of the story already written in the book.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "So for the second test, you need to visit the Laphine magical scholars who had given the direct help to the birth of Rune Knights at Ash Vacuum.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Find the sage, Serpeone who's been studying and helping the Rune Knights who are out in the Rune Midgard's camp at Ash Vacuum.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "The sage has already been in touch with us for a long time so you don't need to worry about understanding Serpeone's language.c";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "If you are ready I'll guide you to the warp that moves you directly to Serpeone. Meet her and get instructions from her.";
+ set job_rune_edq,12;
+ changequest 3206,3207;
+ close;
+ }
+ else if ((job_rune_edq > 11) && (job_rune_edq < 14)) {
+ mes "[Rune Knight, Renoa]";
+ mes "If you are ready I'll open the way to the sage, Serpeone who's in the Rune Midgard post at Ash Vacuum. Are you prepared?";
+ next;
+ switch(select("Yes, I am prepared.:Not yet.")) {
+ case 1:
+ mes "[Rune Knight, Renoa]";
+ mes "Good. Then I'll send you there now. But, there's one thing I need to tell you.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "You will be sent to the Ash Vacuum. The people dispatched to the Rune Midgard post are certified adventurers and officials.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Beljeve has an agreement with the other alliance countries that the free behavior of our Rune Knights is guaranteed but...";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "If you want to move freely through all of Ash Vacuum, you'll have to go through the normal route which is acquiring qualification with the Rune Midgard alliance. It has nothing to do with us.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "The agreement only allows us to send candidates to the Rune Midgard camp and nowhere else.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Good luck.";
+ close2;
+ warp "mid_camp",235,250;
+ end;
+ case 2:
+ mes "[Rune Knight, Renoa]";
+ mes "If you are ready talk to me again. I'm free anytime.";
+ close;
+ }
+ }
+ else if (job_rune_edq == 14) {
+ mes "[Rune Knight, Renoa]";
+ mes "Umm, you're back? How's it like in the Ash Vacuum?";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Well, a person of your strength must have been there already no?";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Now its time to take the test concerning runes. I know that you have been through quite a complicated process.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "I am going to give you a test that allows you to deal with runes directly.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "In this test you will be making a rune stone yourself which will also be used for your last test.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "If you remember what you read in the library just before, you'll be able to produce a rune stone here without my explanation.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "If you succeed in making the rune stone it will automatically become the rune stone you'll use for yourself when you become a Rune Knight, so try your best.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "The total number of rune stones you need to make is 20.";
+ mes "Remember that well.";
+ set job_rune_edq,15;
+ changequest 3213,3214;
+ close;
+ }
+ else if (job_rune_edq == 15) {
+ mes "[Rune Knight, Renoa]";
+ mes "In this test you will be making a rune stone yourself which is going to be used for your last test.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "If you remember the books you've read in the library just before, you'll be able to produce a rune stone here without my explanation.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "If you succeed in making the rune stone automatically it becomes the rune stone you'll use for yourself when you succeed, and it's delivered to Captain Tigris...so try hard.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "The number of total rune stones you need to make is exactly 20. Remember that well.";
+ next;
+ switch(select("Check number of made runes?:I've made all the 20 rune stones.")) {
+ case 1:
+ mes "[Rune Knight, Renoa]";
+ mes "The number of rune stones made 'til now is " + job_rune_edq2 + ".";
+ close;
+ case 2:
+ if (job_rune_edq2 == 20) {
+ mes "[Rune Knight, Renoa]";
+ mes "You've brought just the right amount. I'll hand over all the finished rune stones to Captain Tigris.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Because there is a test waiting for you that uses these rune stones.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Here, you've passed. Go back to Captain Tigris and complete the next test.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Ha! You did a good job considering how difficult my test is. If you were nervous, you can relax now.";
+ set job_rune_edq,16;
+ changequest 3214,3215;
+ close;
+ }
+ else if (job_rune_edq2 > 20) {
+ mes "[Rune Knight, Renoa]";
+ mes "Wow! What's this? You've made over 20. It's ok for now but remember to follow directions next time.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "You've brought just the right amount. I'll hand over all the made rune stones to Captain Tigris.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Because there a test waiting for you to use these rune stones.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Here, you've passed. Go back to Captain Tigris and complete the next test.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Ha! You did a good job considering how difficult my test is. If you were nervous, you can relax now.";
+ set job_rune_edq,16;
+ close;
+ }
+ else {
+ mes "[Rune Knight, Renoa]";
+ mes "Hey! I think I told you to make at least 20.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Rune Knight, Renoa]";
+ mes "Become a proud Rune Knight.";
+ close;
+ }
+ }
+ else {
+ // custom translation
+ mes "[Rune Knight, Renoa]";
+ mes "HOw...how did you get in here?! Captain we have a spy!";
+ next;
+ mes "[Captain Tigris]";
+ mes "Ah? What are you talking about, Renoa? Do not talk in such a manner! You make us sound like criminals.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Well, there is an unidentified individual here.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Ah...hey, friend, come over here and let us talk a moment...";
+ close;
+ }
+}
+
+job3_rune01,58,51,1 script Rune Furance 844,{
+ if (job_rune_edq < 15) {
+ mes "[Rune Knight Renoa]";
+ mes "You don't want to touch that thing. Believe me, I'm not kidding.";
+ close;
+ }
+ else if (job_rune_edq == 15) {
+ set .@job_rune_crash,5;
+ set .@job_rune_test_rand,rand(1,24);
+ mes "I can see a hole under the huge Rune Stone Statue behind Renoa. Clearly this is a mass-produced rune heating furnace that I read in the book.";
+ next;
+ switch(select("Use the Rune Heating Furnace:Stop.")) {
+ case 1:
+ if (.@job_rune_test_rand == 1) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "This red hot spiral is...";
+ next;
+ input .@input$;
+ set .@ans$,"Ehwaz";
+ set .@pc_ans$,.@input$;
+ set .@ans_chk,compare(.@ans$,.@pc_ans$);
+ if (.@ans_chk == 1) {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Eiwaz rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ set .@job_rune_crash_go,rand(1,(((job_rune_edq3+1)+.@job_rune_crash)+.@job_rune_crash_check));
+ if (.@job_rune_crash_go == 3) {
+ mes "[Rune Knight Renoa]";
+ // occurances of this line are all custom. I couldn't get the damn thing to fail and give me the line.
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Eiwaz rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set job_rune_edq3,job_rune_edq3 + 1;
+ close;
+ }
+ }
+ }
+ else if (.@job_rune_test_rand == 2) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this violet oblique line shape is...";
+ next;
+ input .@input$;
+ set .@ans$,"Osilla";
+ set .@pc_ans$,.@input$;
+ set .@ans_chk,compare(.@ans$,.@pc_ans$);
+ if (.@ans_chk == 1) {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Othlia rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ set .@job_rune_crash_go,rand(1,(((job_rune_edq3+1)+.@job_rune_crash)+.@job_rune_crash_check));
+ if (.@job_rune_crash_go == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Othlia rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set job_rune_edq3,job_rune_edq3 + 1;
+ close;
+ }
+ }
+ }
+ else if (.@job_rune_test_rand == 3) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "This live emerald diamond rune is...";
+ next;
+ input .@input$;
+ set .@ans$,"Mannaz";
+ set .@pc_ans$,.@input$;
+ set .@ans_chk,compare(.@ans$,.@pc_ans$);
+ if (.@ans_chk == 1) {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Mannaz rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ set .@job_rune_crash_go,rand(1,(((job_rune_edq3+1)+.@job_rune_crash)+.@job_rune_crash_check));
+ if (.@job_rune_crash_go == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Mannaz rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set job_rune_edq3,job_rune_edq3 + 1;
+ close;
+ }
+ }
+ }
+ else if (.@job_rune_test_rand == 4) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with an emerald round shape is...";
+ next;
+ input .@input$;
+ set .@ans$,"Ansuz";
+ set .@pc_ans$,.@input$;
+ set .@ans_chk,compare(.@ans$,.@pc_ans$);
+ if (.@ans_chk == 1) {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Ansuz rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ set .@job_rune_crash_go,rand(1,(((job_rune_edq3+1)+.@job_rune_crash)+.@job_rune_crash_check));
+ if (.@job_rune_crash_go == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Ansuz rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set job_rune_edq3,job_rune_edq3 + 1;
+ close;
+ }
+ }
+ }
+ else if (.@job_rune_test_rand == 5) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this skyblue star shape is...";
+ next;
+ input .@input$;
+ set .@ans$,"Hagalaz";
+ set .@pc_ans$,.@input$;
+ set .@ans_chk,compare(.@ans$,.@pc_ans$);
+ if (.@ans_chk == 1) {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Hagalaz rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ set .@job_rune_crash_go,rand(1,(((job_rune_edq3+1)+.@job_rune_crash)+.@job_rune_crash_check));
+ if (.@job_rune_crash_go == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Hagalaz rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set job_rune_edq3,job_rune_edq3 + 1;
+ close;
+ }
+ }
+ }
+ else if (.@job_rune_test_rand == 6) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "This flashing with a red diamond shape rune is...";
+ next;
+ input .@input$;
+ set .@ans$,"Kano";
+ set .@pc_ans$,.@input$;
+ set .@ans_chk,compare(.@ans$,.@pc_ans$);
+ if (.@ans_chk == 1) {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Kano rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ set .@job_rune_crash_go,rand(1,(((job_rune_edq3+1)+.@job_rune_crash)+.@job_rune_crash_check));
+ if (.@job_rune_crash_go == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Kano rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set job_rune_edq3,job_rune_edq3 + 1;
+ close;
+ }
+ }
+ }
+ else if (.@job_rune_test_rand == 7) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this skyblue oblique line shape is...";
+ next;
+ input .@input$;
+ set .@ans$,"Rhydo";
+ set .@pc_ans$,.@input$;
+ set .@ans_chk,compare(.@ans$,.@pc_ans$);
+ if (.@ans_chk == 1) {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Raido rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ set .@job_rune_crash_go,rand(1,(((job_rune_edq3+1)+.@job_rune_crash)+.@job_rune_crash_check));
+ if (.@job_rune_crash_go == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Raido rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set job_rune_edq3,job_rune_edq3 + 1;
+ close;
+ }
+ }
+ }
+ else if (.@job_rune_test_rand == 8) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this yellow round shape is...";
+ next;
+ input .@input$;
+ set .@ans$,"Turisus";
+ set .@pc_ans$,.@input$;
+ set .@ans_chk,compare(.@ans$,.@pc_ans$);
+ if (.@ans_chk == 1) {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Turisus rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ set .@job_rune_crash_go,rand(1,(((job_rune_edq3+1)+.@job_rune_crash)+.@job_rune_crash_check));
+ if (.@job_rune_crash_go == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Turisus rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set job_rune_edq3,job_rune_edq3 + 1;
+ close;
+ }
+ }
+ }
+ else if (.@job_rune_test_rand == 9) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this emerald spiral line shape is...";
+ next;
+ input .@input$;
+ set .@ans$,"Dagaz";
+ set .@pc_ans$,.@input$;
+ set .@ans_chk,compare(.@ans$,.@pc_ans$);
+ if (.@ans_chk == 1) {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Dagaz rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ set .@job_rune_crash_go,rand(1,(((job_rune_edq3+1)+.@job_rune_crash)+.@job_rune_crash_check));
+ if (.@job_rune_crash_go == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Dagaz rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set job_rune_edq3,job_rune_edq3 + 1;
+ close;
+ }
+ }
+ }
+ else if (.@job_rune_test_rand == 10) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this skyblue fan-shape is...";
+ next;
+ input .@input$;
+ set .@ans$,"Sowilo";
+ set .@pc_ans$,.@input$;
+ set .@ans_chk,compare(.@ans$,.@pc_ans$);
+ if (.@ans_chk == 1) {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Sowilo rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ set .@job_rune_crash_go,rand(1,(((job_rune_edq3+1)+.@job_rune_crash)+.@job_rune_crash_check));
+ if (.@job_rune_crash_go == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Sowilo rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set job_rune_edq3,job_rune_edq3 + 1;
+ close;
+ }
+ }
+ }
+ else if (.@job_rune_test_rand == 11) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this yellow diamond shape is...";
+ next;
+ input .@input$;
+ set .@ans$,"Laguz";
+ set .@pc_ans$,.@input$;
+ set .@ans_chk,compare(.@ans$,.@pc_ans$);
+ if (.@ans_chk == 1) {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Laguz rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ set .@job_rune_crash_go,rand(1,(((job_rune_edq3+1)+.@job_rune_crash)+.@job_rune_crash_check));
+ if (.@job_rune_crash_go == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Laguz rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set job_rune_edq3,job_rune_edq3 + 1;
+ close;
+ }
+ }
+ }
+ else if (.@job_rune_test_rand == 12) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this violet spiral line is...";
+ next;
+ input .@input$;
+ set .@ans$,"Isia";
+ set .@pc_ans$,.@input$;
+ set .@ans_chk,compare(.@ans$,.@pc_ans$);
+ if (.@ans_chk == 1) {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Isia rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ set .@job_rune_crash_go,rand(1,(((job_rune_edq3+1)+.@job_rune_crash)+.@job_rune_crash_check));
+ if (.@job_rune_crash_go == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Isia rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set job_rune_edq3,job_rune_edq3 + 1;
+ close;
+ }
+ }
+ }
+ else if (.@job_rune_test_rand == 13) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this silver spiral shape is...";
+ next;
+ input .@input$;
+ set .@ans$,"Pertz";
+ set .@pc_ans$,.@input$;
+ set .@ans_chk,compare(.@ans$,.@pc_ans$);
+ if (.@ans_chk == 1) {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Pertz rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ set .@job_rune_crash_go,rand(1,(((job_rune_edq3+1)+.@job_rune_crash)+.@job_rune_crash_check));
+ if (.@job_rune_crash_go == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Pertz rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set job_rune_edq3,job_rune_edq3 + 1;
+ close;
+ }
+ }
+ }
+ else if (.@job_rune_test_rand == 14) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this gold star shape is...";
+ next;
+ input .@input$;
+ set .@ans$,"Verkana";
+ set .@pc_ans$,.@input$;
+ set .@ans_chk,compare(.@ans$,.@pc_ans$);
+ if (.@ans_chk == 1) {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Verkana rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ set .@job_rune_crash_go,rand(1,(((job_rune_edq3+1)+.@job_rune_crash)+.@job_rune_crash_check));
+ if (.@job_rune_crash_go == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Verkana rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set job_rune_edq3,job_rune_edq3 + 1;
+ close;
+ }
+ }
+ }
+ else if (.@job_rune_test_rand == 15) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this yellow cone shape is...";
+ next;
+ input .@input$;
+ set .@ans$,"Gebo";
+ set .@pc_ans$,.@input$;
+ set .@ans_chk,compare(.@ans$,.@pc_ans$);
+ if (.@ans_chk == 1) {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Gebo rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ set .@job_rune_crash_go,rand(1,(((job_rune_edq3+1)+.@job_rune_crash)+.@job_rune_crash_check));
+ if (.@job_rune_crash_go == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Gebo rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set job_rune_edq3,job_rune_edq3 + 1;
+ set job_rune_edq3,job_rune_edq3 + 1;
+ close;
+ }
+ }
+ }
+ else if (.@job_rune_test_rand == 16) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this emerald oblique line is...";
+ next;
+ input .@input$;
+ set .@ans$,"Algiz";
+ set .@pc_ans$,.@input$;
+ set .@ans_chk,compare(.@ans$,.@pc_ans$);
+ if (.@ans_chk == 1) {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Algiz rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ set .@job_rune_crash_go,rand(1,(((job_rune_edq3+1)+.@job_rune_crash)+.@job_rune_crash_check));
+ if (.@job_rune_crash_go == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Algiz rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set job_rune_edq3,job_rune_edq3 + 1;
+ close;
+ }
+ }
+ }
+ else if (.@job_rune_test_rand == 17) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this gray diamond is...";
+ next;
+ input .@input$;
+ set .@ans$,"Arwez";
+ set .@pc_ans$,.@input$;
+ set .@ans_chk,compare(.@ans$,.@pc_ans$);
+ if (.@ans_chk == 1) {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Arwaz rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ set .@job_rune_crash_go,rand(1,(((job_rune_edq3+1)+.@job_rune_crash)+.@job_rune_crash_check));
+ if (.@job_rune_crash_go == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Arwaz rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set job_rune_edq3,job_rune_edq3 + 1;
+ close;
+ }
+ }
+ }
+ else if (.@job_rune_test_rand == 18) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this gold round is...";
+ next;
+ input .@input$;
+ set .@ans$,"Teiwaz";
+ set .@pc_ans$,.@input$;
+ set .@ans_chk,compare(.@ans$,.@pc_ans$);
+ if (.@ans_chk == 1) {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Teiwaz rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ set .@job_rune_crash_go,rand(1,(((job_rune_edq3+1)+.@job_rune_crash)+.@job_rune_crash_check));
+ if (.@job_rune_crash_go == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Teiwaz rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set job_rune_edq3,job_rune_edq3 + 1;
+ close;
+ }
+ }
+ }
+ else if (.@job_rune_test_rand == 19) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this emerald star shape is...";
+ next;
+ input .@input$;
+ set .@ans$,"Wunjo";
+ set .@pc_ans$,.@input$;
+ set .@ans_chk,compare(.@ans$,.@pc_ans$);
+ if (.@ans_chk == 1) {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Wunjo rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ set .@job_rune_crash_go,rand(1,(((job_rune_edq3+1)+.@job_rune_crash)+.@job_rune_crash_check));
+ if (.@job_rune_crash_go == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Wunjo rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set job_rune_edq3,job_rune_edq3 + 1;
+ close;
+ }
+ }
+ }
+ else if (.@job_rune_test_rand == 20) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this yellow round is...";
+ next;
+ input .@input$;
+ set .@ans$,"Jera";
+ set .@pc_ans$,.@input$;
+ set .@ans_chk,compare(.@ans$,.@pc_ans$);
+ if (.@ans_chk == 1) {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Jera rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ set .@job_rune_crash_go,rand(1,(((job_rune_edq3+1)+.@job_rune_crash)+.@job_rune_crash_check));
+ if (.@job_rune_crash_go == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Jera rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set job_rune_edq3,job_rune_edq3 + 1;
+ close;
+ }
+ }
+ }
+ else if (.@job_rune_test_rand == 21) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this yellow fan-shape is...";
+ next;
+ input .@input$;
+ set .@ans$,"Nosiege";
+ set .@pc_ans$,.@input$;
+ set .@ans_chk,compare(.@ans$,.@pc_ans$);
+ if (.@ans_chk == 1) {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Nosiege rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ set .@job_rune_crash_go,rand(1,(((job_rune_edq3+1)+.@job_rune_crash)+.@job_rune_crash_check));
+ if (.@job_rune_crash_go == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Nosiege rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set job_rune_edq3,job_rune_edq3 + 1;
+ close;
+ }
+ }
+ }
+ else if (.@job_rune_test_rand == 22) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this violet diamond shape is...";
+ next;
+ input .@input$;
+ set .@ans$,"Ingz";
+ set .@pc_ans$,.@input$;
+ set .@ans_chk,compare(.@ans$,.@pc_ans$);
+ if (.@ans_chk == 1) {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Ingz rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ set .@job_rune_crash_go,rand(1,(((job_rune_edq3+1)+.@job_rune_crash)+.@job_rune_crash_check));
+ if (.@job_rune_crash_go == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Ingz rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set job_rune_edq3,job_rune_edq3 + 1;
+ close;
+ }
+ }
+ }
+ else if (.@job_rune_test_rand == 23) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this silver round shape is...";
+ next;
+ input .@input$;
+ set .@ans$,"Fehu";
+ set .@pc_ans$,.@input$;
+ set .@ans_chk,compare(.@ans$,.@pc_ans$);
+ if (.@ans_chk == 1) {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Fehu rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ set .@job_rune_crash_go,rand(1,(((job_rune_edq3+1)+.@job_rune_crash)+.@job_rune_crash_check));
+ if (.@job_rune_crash_go == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Fehu rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set job_rune_edq3,job_rune_edq3 + 1;
+ close;
+ }
+ }
+ }
+ else if (.@job_rune_test_rand == 24) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this violet spiral is...";
+ next;
+ input .@input$;
+ set .@ans$,"Urj";
+ set .@pc_ans$,.@input$;
+ set .@ans_chk,compare(.@ans$,.@pc_ans$);
+ if (.@ans_chk == 1) {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Urj rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ set .@job_rune_crash_go,rand(1,(((job_rune_edq3+1)+.@job_rune_crash)+.@job_rune_crash_check));
+ if (.@job_rune_crash_go == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Urj rune was made normally.";
+ set job_rune_edq2,job_rune_edq2 + 1;
+ close;
+ }
+ else {
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set job_rune_edq3,job_rune_edq3 + 1;
+ close;
+ }
+ }
+ }
+ case 2:
+ close;
+ }
+ }
+ else {
+ mes "[Rune Knight Renoa]";
+ mes "You don't want to touch that thing. Believe me, I'm not kidding.";
+ close;
+ }
+}
+
+job3_rune01,40,54,1 script Runes and Rune Knights 844,{
+ if (job_rune_edq < 8) {
+ mes "[Rune Knight Renoa]";
+ mes "Besides touching stuff in this place without permission. Would you be able to understand the contents of the book?";
+ next;
+ mes "[Captain Tigris]";
+ mes "Hey Renoa go easy on that Knight. You there too, you'd better stop touching stuff here without a permission.";
+ close;
+ }
+ else if (job_rune_edq > 7) {
+ while(1) {
+ switch(select("The birth of Rune Knights:Runes and Magic Energy:Stop Reading")) {
+ case 1:
+ set job_rune_book1_1,job_rune_book1_1+job_rune_book1_1;
+ mes "Rune Knights are the gathering of evolved swordmen who have achieved the harmony of sword and magic.";
+ next;
+ mes "It had been achieved by the legendary swordman Beljeve who's been known as a Sword Master and a founder of dispensable expenditure.";
+ next;
+ mes "Rune Knights use rune stones as a medium for magic power rather than using the magical energy made directly within the body.";
+ next;
+ mes "Magic power could only previously be used by those who can harness magic power within their bodies through a long time of research";
+ next;
+ mes "However, for the direct research on the rune magical power which had broken the human's normal concept is now ongoing.";
+ next;
+ mes "It's known that the Sword Master Beljeve felt the limit of his power, so he studied the way to overcome the physical limitation of mortals.";
+ next;
+ mes "We guess he had been already in touch with the Laphine tribe long before the dimensional rift was discovered to get to the Ash Vacuum.";
+ next;
+ mes "The Laphine tribe are the fairies from the Ash Vacuum and are known to have a close relationship to the birth of the Rune Knights.";
+ next;
+ mes "Now it's possible for those who are normally unsuitted to using magic power to carry a medium that can carry magic that normal mortals could not wield before.";
+ next;
+ mes "The result of studying these techniques are the rune stones tuned in harmony with the physical power of swords.";
+ next;
+ mes "Beljeve's disciples who started to learn the way to harmoze their swords with rune stones became known as Rune Knights.";
+ next;
+ break;
+ case 2:
+ set job_rune_book1_2,job_rune_book1_2+1;
+ mes "A jewel called as a Rune is a medium that contains the formless existence, the magical power and the essence of it can be used directly.";
+ next;
+ mes "The Laphine Sage, Serpeone and the founder of Rune Knights Beljeve co-researched runes and the result of their research has only recently become to be known to the world.";
+ next;
+ mes "It's a limitless alternative energy source and research on them is still ongoing. ";
+ next;
+ mes "Unlike humans, the living things in the Ash Vacuum preserve magical energy by holding it in their bodies.";
+ next;
+ mes "The discovery of transvering this magical power into runes was refined by Beljeve and Serpeone and shared with the Rune Knights.";
+ next;
+ break;
+ case 3:
+ if ((job_rune_book1_1 > 0) && (job_rune_book1_2 > 0) && (job_rune_edq == 8))
+ set job_rune_edq,9;
+ else if ((job_rune_book1_1 > 0) && (job_rune_book1_2 > 0) && (job_rune_edq == 9))
+ set job_rune_edq,10;
+ else if ((job_rune_book1_1 > 0) && (job_rune_book1_2 > 0) && (job_rune_edq == 10))
+ set job_rune_edq,11;
+ close;
+ }
+ }
+ }
+ end;
+}
+
+job3_rune01,43,44,1 script The Principles of Runes 844,{
+ if (job_rune_edq < 8) {
+ mes "[Rune Knight Renoa]";
+ mes "Besides touching stuff in this place without permission. Would you be able to understand the contents of the book?";
+ next;
+ mes "[Captain Tigris]";
+ mes "Hey Renoa go easy on that Knight. You there too, you'd better stop touching stuff here without a permission.";
+ close;
+ }
+ else if (job_rune_edq > 7) {
+ while(1) {
+ switch(select("The principle use of Runes:The types of Runes:Stop Reading")) {
+ case 1:
+ set job_rune_book2_1,job_rune_book2_1+1;
+ mes "A rune is a kind of symbol that's been used on the Rune Midgard continent since ancient times. Up until now it has only been used by occult circles.";
+ next;
+ mes "A rune is a kind of symbol that's been used on the Rune Midgard continent since ancient times. Up until now it has only been used by occult circles.";
+ next;
+ mes "Runes are used as a symbol system, however, by the story handed down orally, it's known to be used for fortune-telling or used to draw out the human subconsciousness.";
+ next;
+ mes "Runes have their own system and types and can draw out various powers according to how they are arranged. But their power level can't currently be measured by known means.";
+ next;
+ mes "It is fortunate that the Rune Knights discovered their use for positive means. Runes have not been used for dark magic but it is certainly possible for their power to be misused if in the wrong hands.";
+ next;
+ break;
+ case 2:
+ set job_rune_book2_2,job_rune_book2_2+1;
+ mes "The runes are created from a a total of 25 small stones and they are very fragile to physical shock. So they require special care when being handled.";
+ next;
+ mes "The 25 stones have different meanings and among these, 14 when counter-positioned can have entirely different power and meaning from the original so it's essential to study the exceptional aspects.";
+ next;
+ mes "The other 11 runes have consistent power, not influenced by any position so if you don't master all 11 ordinary runes and the 14 inverse runes, you cannot draw out all the complete power.";
+ next;
+ mes "Among the 11 ordinary runes, the blank rune is an exception.";
+ next;
+ mes "The names of the 25 rune stones are the following:";
+ next;
+ mes "Ehwaz, Osilia, Mannaz, Ansuz, Hagalas, Kano, Rhydo, Turisus, Dagaz, Sowilo, Laguz, Isia, Pertz, Verkana, Gebo, Algiz, Arwez, Teiwaz, Wunjo, Jera, Nosiege, Ingz, Fehu, Urj.";
+ next;
+ break;
+ case 3:
+ if ((job_rune_book2_1 > 0) && (job_rune_book2_2 > 0) && (job_rune_edq == 8))
+ set job_rune_edq,9;
+ else if ((job_rune_book2_1 > 0) && (job_rune_book2_2 > 0) && (job_rune_edq == 9))
+ set job_rune_edq,10;
+ else if ((job_rune_book2_1 > 0) && (job_rune_book2_2 > 0) && (job_rune_edq == 10))
+ set job_rune_edq,11;
+ close;
+ }
+ }
+ }
+ end;
+}
+
+job3_rune01,50,36,1 script Runes, Make & Use 844,{
+ if (job_rune_edq < 8) {
+ mes "[Rune Knight Renoa]";
+ mes "Besides touching stuff in this place without permission. Would you be able to understand the contents of the book?";
+ next;
+ mes "[Captain Tigris]";
+ mes "Hey Renoa go easy on that Knight. You there too, you'd better stop touching stuff here without a permission.";
+ close;
+ }
+ else if (job_rune_edq > 7) {
+ while(1) {
+ switch(select("The Making of Rune Stones:Rune Stone Ability Details:Stop Reading")) {
+ case 1:
+ set job_rune_book3_1,job_rune_book3_1+1;
+ mes "The making of Rune stones is achieved through a skill called rune mastery which is learned when one becomes a Rune Knight.";
+ next;
+ mes "Rune Mastery is like a code that's been put into the body as a mark of a Rune Knight.";
+ next;
+ mes "Ordinary people can also learn this skill and it needs its own machine called a Rune Furnace.";
+ next;
+ mes "When you making a Rune stone with a Rune Furnace, the type of rune is determined by the magical energy put into it, and it cannot be changed.";
+ next;
+ mes "When making a rune stone by using Rune Mastery, it can be made into the rune property that you want but it's classified as a Rune Knights' own ability. ";
+ next;
+ mes "When you operate the Rune Furnace , the magical energy of the body gets concentrated through it and it enables the change into a Rune Stone.";
+ next;
+ break;
+ case 2:
+ set job_rune_book3_2,job_rune_book3_2+1;
+ switch(select("Chapter One:Chapter Two:Chapter Three:Chapter Four:Stop Reading")) {
+ case 1:
+ mes "Ehwaz - This rune means the enhancement of luck and positive power. It shapes the source in the form of a red spiral in a Rune Furnace.";
+ next;
+ mes "Osilia - This rune is an equivalent exchangement which means that you lose one and you gain one, and it also means the power that needs a cost. This is shaped into the form of a violet oblique line in a Rune Furnace.";
+ next;
+ mes "Mannaz - This rune means hope and a new start and also the positive power that can reverse a desperate situation. This is shaped into the form of an emerald diamond in a Rune Furnace.";
+ next;
+ mes "Ansuz - This rune means preparation or arrangement and the power that can overcome the uneasiness of the coming future. This is shaped into the form of an emerald round in a Rune Furnace. ";
+ next;
+ mes "Hagalas - This rune means the freedom and the power that resists restraint. This is shaped into the form of a skyblue colored star-shape in a Rune Furnace.";
+ next;
+ mes "Kano - This rune means flame and passion, and the power that ends everything. The source of it is shaped into the form of a red diamond in a Rune Furnace.";
+ next;
+ break;
+ case 2:
+ mes "Rhydo - This rune means the combination and recombination and the power of completion. This is shaped into the skyblue oblique line in a Rune Furnace.";
+ next;
+ mes "Turisus - This rune means the border and the power of limitation. This is shaped into a yellow round in a Rune Furnace.";
+ next;
+ mes "Dagaz - This rune means the talent and the power of enduring adversity. This is shaped into an emerald spiral in a Rune Furnace.";
+ next;
+ mes "Sowilo - This rune means victory and success and the power of arrangement and cessation. This is shaped into the form of a skyblue fan-shape in a Rune Furnace.";
+ next;
+ mes "Laguz -This rune means uncertainty and the power that protects the inside. This is shaped into a form of a yellow diamond in a Rune Furnace.";
+ next;
+ mes "Isia - This rune means the power that stops everything. This is shaped into a violet spiral in a Rune Furnace.";
+ next;
+ break;
+ case 3:
+ mes "Pertz - This rune means revelation and the power of chance. This is shaped into the form of silver spiral in a Rune Furnace.";
+ next;
+ mes "Verkana - This rune means richness, birth and the power of defense and protection. This is shaped into the form of a gold-color star in a Rune Furnace.";
+ next;
+ mes "Gebo - This rune means cooperation and the power of harmony. This is shaped into the form of a yellow cone in a Rune Furnace.";
+ next;
+ mes "Algiz - This rune means chance and the power of challenge. This is shaped into the form of an emerald oblique line in a Rune Furnace.";
+ next;
+ mes "Arwez - This rune means change, convulsion and the power of movement. This is shaped into the form of a gray diamond in a Rune Furnace.";
+ next;
+ mes "Teiwaz - This rune means perfect victory and the power of absolute solution. This is shaped into the form of a gold round in a Rune Furnace.";
+ next;
+ break;
+ case 4:
+ mes "Wunjo - This rune means intelligence and the power of wisdom. This is shaped into the form of an emerald star in a Rune Furnace.";
+ next;
+ mes "Jera - This rune means comfort and the power of rest. This is shaped into the form of a yellow round in a Rune Furnace.";
+ next;
+ mes "Nosiege - This rune means weakness and the power of attenuating. This is shaped into the form of a yellow fan-shape in a Rune Furnace.";
+ next;
+ mes "Ingz - This rune means disruption and the power of separation. This is shaped into the form of a violet diamond in a Rune Furnace.";
+ next;
+ mes "Fehu - This rune means attainment and the power of materialization. This is shaped into the form of a silver round in a Rune Furnace.";
+ next;
+ mes "Urj - This rune means destiny and the power of restriction. This is shaped into the form of a violet spiral line in a Rune Furnace.";
+ next;
+ break;
+ case 5:
+ close2;
+ break;
+ }
+ break;
+ case 3:
+ if ((job_rune_book3_1 > 0) && (job_rune_book3_2 > 0) && (job_rune_edq == 8))
+ set job_rune_edq,9;
+ else if ((job_rune_book3_1 > 0) && (job_rune_book3_2 > 0) && (job_rune_edq == 9))
+ set job_rune_edq,10;
+ else if ((job_rune_book3_1 > 0) && (job_rune_book3_2 > 0) && (job_rune_edq == 10))
+ set job_rune_edq,11;
+ close;
+ }
+ }
+ }
+ end;
+}
+
+mid_camp,238,250,3 script Rune Knight Sage Guard 468,{
+ if (BaseClass == Job_Rune_Knight) {
+ mes "[Rune Knight Sage Guard]";
+ mes "The sage Serpeone is the one who has been with us since the beginning of the Rune Knights.";
+ next;
+ mes "[Rune Knight Sage Guard]";
+ mes "I am very proud as a Rune Knight to serve beside her.";
+ close;
+ }
+ else if (BaseJob == Job_Knight) {
+ if (job_rune_edq < 11) {
+ mes "[Rune Knight Sage Guard]";
+ mes "You might be walking the way of the sword but you are not a Rune Knight yet. Don't wander around here too much if you know what I mean.";
+ close;
+ }
+ else if (job_rune_edq > 10) {
+ mes "[Rune Knight Sage Guard]";
+ mes "Splendide is the land of the Laphine. We are offering a convenience by an agreement between the Rune Knights and the expeditionary team.";
+ next;
+ mes "[Rune Knight Sage Guard]";
+ mes "Our agents are opening the way to Splendide only for the trainees who are taking the Rune Knight job change test.";
+ next;
+ mes "[Rune Knight Sage Guard]";
+ mes "But when you become a Rune Knight, you'll need to make sure that you join the expeditionary team in order to fully explore the Ash Vacuum.";
+ close;
+ }
+ }
+ else {
+ mes "[Rune Knight Sage Guard]";
+ mes "Hanging around this man won't be good for you. Keep going the way you were heading.";
+ close;
+ }
+}
+
+mid_camp,13,138,3 script Dispatched Rune Knight#1 83,{
+ if (BaseClass == Job_Rune_Knight) {
+ mes "[Dispatch Rune Knight Agent]";
+ mes "Thanks for your work. We will continue our mission for the Rune Knight testers.";
+ close;
+ }
+ else if (BaseJob == Job_Knight) {
+ if (job_rune_edq < 11) {
+ mes "[Dispatch Rune Knight Agent]";
+ mes "Shh... Our mission is not something to be revealed to the public. Please just move along.";
+ close;
+ }
+ else if (job_rune_edq > 10) {
+ mes "[Dispatch Rune Knight Agent]";
+ mes "I've been waiting for you Rune Knight candidate. I'm helping the candidates as a favor to Ms. Serpeone.";
+ next;
+ mes "[Dispatch Rune Knight Agent]";
+ mes "Do you want to go out to the Splendide field?";
+ next;
+ switch(select("Move to Splendide field:Cancel.")) {
+ case 1:
+ warp "spl_fild01",355,325;
+ end;
+ case 2:
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Dispatch Rune Knight Agent]";
+ mes "Shh... Our mission is not something to be revealed to the public. Please just move along.";
+ close;
+ }
+}
+
+spl_fild02,13,241,0 script #roadblock1 -1,10,10,{
+OnTouch:
+ if ((job_rune_edq > 0) && (job_rune_edq < 23)) {
+ mes "-Whispers of the sage Serpeone are delivered to my mind.-";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Until you become an honorable Rune Knight I cannot help you control your powers in Rune Midgard.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Please understand this and be devoted to this test.";
+ close2;
+ warp "spl_fild02",25,245;
+ }
+ end;
+}
+
+spl_fild01,361,327,3 script Dispatched Rune Knight#2 83,{
+ if (BaseClass == Job_Rune_Knight) {
+ mes "[Dispatch Rune Knight Agent]";
+ mes "Thanks for your work. We will continue our mission for the Rune Knight testers.";
+ close;
+ }
+ else if (BaseJob == Job_Knight) {
+ if (job_rune_edq < 11) {
+ mes "[Dispatch Rune Knight Agent]";
+ mes "Shh... Our mission is not something to be revealed to the public. Please just move along.";
+ close;
+ }
+ else if (job_rune_edq > 10) {
+ mes "[Dispatch Rune Knight Agent]";
+ mes "I've been waiting for you Rune Knight candidate. I'm helping the candidates as a favor to Ms. Serpeone.";
+ next;
+ mes "[Dispatch Rune Knight Agent]";
+ mes "Do you want to go back to the expeditionary team's post?";
+ next;
+ switch(select("Yes please.:Not yet.")) {
+ case 1:
+ warp "mid_camp",50,153;
+ end;
+ case 2:
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Dispatch Rune Knight Agent]";
+ mes "Shh... Our mission is not something to be revealed to the public. Please just move along.";
+ close;
+ }
+}
+
+mid_camp,235,250,3 script Sage Serpeone 435,{
+ if (BaseClass == Job_Rune_Knight) {
+ mes "[Sage Serpeone]";
+ mes "Finally you are an honorable Rune Knight. I'm happy to help you.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "The power of Runes are not perfect and more research still needs to be done to make it perfectly safe. It is up to me and other Rune Knights like you to make sure to continue that research.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Please be devoted to the Runes and hopefully your life will be illuminated by it.";
+ close;
+ }
+ else if (BaseJob == Job_Knight) {
+ if (job_rune_edq < 12) {
+ mes "[Sage Serpeone]";
+ mes "It must be surprising that I, a Laphine, am here in your people's base.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Some of us have been in contact with humans in special situations since even before the dimensional rift opened up.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "I have been having correspondences with humans for a number of years now. It was for mutual interests. Anyway, that's how I learned your language.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Maybe there needs to be a machine that can translate the Laphine language to make it easier for humans to understand us.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "More than that... I cannot tell you more. I cannot speak carelessly since I'm speaking for my people here and I am on a special pass to be allowed in your camp.";
+ close;
+ }
+ else if (job_rune_edq == 12) {
+ mes "[Sage Serpeone]";
+ mes "Welcome, you are the one taking the job training test of the Rune Knights. I am Serpeone.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "All Rune Knights that you've met so far are the disciples who were taught by me and Beljeve. Now you are on your way to joining them.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "I think you've already heard a basic explanation and instructions from Renoa. Now it seems that it's my turn to help you out.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "The magical power that the Rune Knights use are not technically the same as the magical power made in the human world.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Right this place... our sphere where you call as Ash Vacuum...it's the magical power made with";
+ next;
+ mes "[Sage Serpeone]";
+ mes "The living things in this place have been preserving the magical energy in our bodies unlike the living things in the human world.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "The power of the rune stones is the way of shaping the magical power in our bodies into runes which take place of our bodies as a medium.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "So to use the rune stone you need a direct understanding of the other sphere's living things.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "But, it must be too much for you to extract the magical energy from the living things in this land yet.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Now I'll cast a magic spell on your body so you can gather magic energy from other living things.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Temporarily you'll able to extract magic energy from evil creatures in the human world. Of course you won't be able to use the energy directly...";
+ next;
+ mes "[Sage Serpeone]";
+ mes "If you store up the energy by getting rid of evil creatures in the human world, I'll convert it to the energy that you can use.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "The vicious souls that they keep even after being dead is the great source of magical powers.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Please get rid of ^0000FF10 Dullahan^000000, ^0000FF10 Disguise^000000, ^0000FF10 Quve^000000, ^0000FF10 Heirozoist^000000 and gather their energy.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "I am telling you beforehand but I don't test or judge your qualification. A Rune Knight will be the judge of that.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "If you have any problems or any questions, please talk to me.";
+ set job_rune_edq,13;
+ changequest 3207,3208;
+ setquest 3209;
+ setquest 3210;
+ setquest 3211;
+ setquest 3212;
+ close;
+ }
+ else if (job_rune_edq == 13) {
+ mes "[Sage Serpeone]";
+ mes "Are you gathering enough magical energy? Or do you have any questions?";
+ next;
+ switch(select("I've gathered enough energy.:To the gathering place.:Stop the conversation.")) {
+ case 1:
+ mes "[Sage Serpeone]";
+ mes "Is it so? Then let's check this out.";
+ next;
+ set .@rune_hunt1,checkquest(3209,HUNTING);
+ set .@rune_hunt2,checkquest(3210,HUNTING);
+ set .@rune_hunt3,checkquest(3211,HUNTING);
+ set .@rune_hunt4,checkquest(3212,HUNTING);
+ if ((.@rune_hunt1 == 2) && (.@rune_hunt2 == 2) && (.@rune_hunt3 == 2) && (.@rune_hunt4 == 2)) {
+ mes "[Sage Serpeone]";
+ mes "Umm, this is great. Enough amount of living body magical energy has accumulated in your body.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Rune Knight Renoa will tell you the way of using rune stones.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Now I think my part is all over. I hope you will become an honorable Rune Knight.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "If you have any business here, I'll send you to the Rune Knight gathering place. If you are ready, please tell me.";
+ set job_rune_edq,14;
+ changequest 3208,3213;
+ completequest 3209;
+ completequest 3210;
+ completequest 3211;
+ completequest 3212;
+ close;
+ }
+ else {
+ mes "[Sage Serpeone]";
+ mes "You haven't collected enough magical energy yet.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Please brace yourself and gather enough energy by dispatching those monsters.";
+ close;
+ }
+ break;
+ case 2:
+ mes "[Sage Serpeone]";
+ mes "You want to go back to the gathering place? If you want I'll send you back there immediately. But to continue the test you'll need to come and see me again.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Do you want to go back the Rune Knight gathering place?";
+ next;
+ switch(select("I want to go back.:I want to cancel.")) {
+ case 1:
+ warp "job3_rune01",80,65;
+ end;
+ case 2:
+ close;
+ }
+ break;
+ case 3:
+ close;
+ }
+ }
+ else if (job_rune_edq == 14) {
+ mes "[Sage Serpeone]";
+ mes "Are you ready to go back to the Rune Knight gathering place?";
+ next;
+ switch(select("I want to go back now.:I am not ready yet.")) {
+ case 1:
+ warp "job3_rune01",80,65;
+ end;
+ case 2:
+ close;
+ }
+ }
+ else if (job_rune_edq > 14) {
+ mes "[Sage Serpeone]";
+ mes "Are the preparations going well?";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Aren't you in the wrong state right now?";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Then I'll send you to the Rune Knight gathering place where you should be.";
+ next;
+ switch(select("I'll go back now.:I'll stay.")) {
+ case 1:
+ warp "job3_rune01",80,65;
+ end;
+ case 2:
+ close;
+ }
+ }
+ }
+ else {
+ mes "[Sage Serpeone]";
+ mes "It must be surprising that I, a Laphine, am here in your people's base.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Some of us have been in contact with humans in special situations since even before the dimensional rift opened up.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "I have been having correspondences with humans for a number of years now. It was for mutual interests. Anyway, that's how I learned your language.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Maybe there needs to be a machine that can translate the Laphine language to make it easier for humans to understand us.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "More than that... I cannot tell you more. I cannot speak carelessly since I'm speaking for my people here and I am on a special pass to be allowed in your camp.";
+ close;
+ }
+}
+
+job3_rune01,114,50,3 script Rune Knight Velpino 468,{
+ set .@strRetPart1,getequipisequiped(EQI_HEAD_TOP);
+ set .@strRetPart2,getequipisequiped(EQI_ARMOR);
+ set .@strRetPart3,getequipisequiped(EQI_HAND_L);
+ set .@strRetPart4,getequipisequiped(EQI_HAND_R);
+ set .@strRetPart5,getequipisequiped(EQI_GARMENT);
+ set .@strRetPart6,getequipisequiped(EQI_SHOES);
+ set .@strRetPart7,getequipisequiped(EQI_ACC_L);
+ set .@strRetPart8,getequipisequiped(EQI_ACC_R);
+ set .@strRetPart10,getequipisequiped(EQI_HEAD_MID);
+ set .@strRetPart11,getequipisequiped(EQI_HEAD_LOW);
+ if (BaseClass == Job_Rune_Knight) {
+ mes "[Rune Knight Velpino]";
+ mes "You still smell like a fledging. Bring honor to the Rune Knights and raise your power...";
+ close;
+ }
+ else if (BaseJob == Job_Knight) {
+ if (job_rune_edq < 17) {
+ mes "A very cold feeling Rune Knight dressed in black from head to toe is scowling at me.";
+ next;
+ mes "Why are all of the Rune Knights blabberers or uncommunicative and combative...?";
+ next;
+ mes "[Captain Tigris]";
+ mes "Hey... What about me? I'm not like that!";
+ close;
+ }
+ else if (job_rune_edq == 17) {
+ mes "[Rune Knight Velpino]";
+ mes "I didn't think that a candidate would make it to me today...";
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "Congratulations! You are at the long-waited final test... I think you've mastered the basics now.";
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "The final test is relatively simple. Everything ends when you get rid of all the magical monsters in this Glast Heim...";
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "The only condition is that you have to get rid of these monsters by using the rune stones you made at the former test.";
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "For this test, only a one-hand weapon, a shield or a two-handed weapon can be equipped.";
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "The only set of weapons you can use should be within the weight limit of 400. Rune stones to be provided are 30 attack-only rune stones and 30 defense-only rune stones.";
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "To use these runes, I will cast a special buff spell over you.";
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "The magical monsters are the 3 kinds of magic monsters from Glast Heim that you might already know... It won't be an easy fight but if you just undergo this final suffering, you'll walk the path of a Rune Knight.";
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "To help the preparation we've made a contract with the Kafra center in Aldebaran by employing a kafra especially for this gathering place. So it would be good to visit her.";
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "If you are ready just talk to me again.";
+ set job_rune_edq,18;
+ changequest 3216,3217;
+ close;
+ }
+ else if ((job_rune_edq > 17) && (job_rune_edq < 21)) {
+ set .@rune_crush,countitem(12388);
+ set .@rune_storm,countitem(12389);
+ set .@rune_millenium,countitem(12390);
+ set .@rune_check,.@rune_crush + .@rune_storm + .@rune_millenium;
+ if (.@rune_check == 0) {
+ mes "[Rune Knight Velpino]";
+ mes "If all of your preparations are done, I'll send you to the final test field.";
+ set job_rune_edq,18;
+ next;
+ switch(select("Enter the final test field.:I'm not ready yet.")) {
+ case 1:
+ if ((.@strRetPart1 == 0) && (.@strRetPart2 == 0) && (.@strRetPart5 == 0) && (.@strRetPart6 == 0) && (.@strRetPart7 == 0) && (.@strRetPart8 == 0) && (.@strRetPart10 == 0) && (.@strRetPart11 == 0)) {
+ set .@test_miss_check,checkquest(3220,PLAYTIME);
+ if (.@test_miss_check == -1) {
+ if ($@job_rune_test1 == 0) {
+ if (Weight < 4001) {
+ set $@job_rune_test1,1;
+ //ConsumeSpecialItem Rune_Kn_Test_Int
+ sc_start SC_INCINT,300000,40;
+ getitem 12389,30; //Runstone_Storm
+ getitem 12390,30; //Runstone_Millennium
+ if (checkquest(3320) > -1) erasequest 3220;
+ setquest 3220;
+ warp "job3_rune02",38,40;
+ }
+ else {
+ mes "[Rune Knight Velpino]";
+ mes "For this test, only a one-hand weapon, a shield or a two-handed weapon can be equipped. Keep your other equipments with the Kafra Employee in the center.";
+ close;
+ }
+ }
+ else {
+ // custom translation
+ mes "[Rune Knight Velpino]";
+ mes "Looks like there is already an applicant in the test room.";
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "Be patient and wait your turn,";
+ close;
+ }
+ }
+ else if ((.@test_miss_check == 0) || (.@test_miss_check == 1)) {
+ mes "[Rune Knight Velpino]";
+ mes "Haven't you failed at the test... If you fail once, you cannot enter again for 10 minutes.";
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "It's a consideration for the other testers who are waiting for the test, just like you, so come back after the designated time.";
+ close;
+ }
+ else if (.@test_miss_check == 2) {
+ if ($@job_rune_test1 == 0) {
+ if (Weight < 4001) {
+ set $@job_rune_test1,1;
+ //ConsumeSpecialItem Rune_Kn_Test_Int
+ sc_start SC_INCINT,300000,40;
+ getitem 12389,30; //Runstone_Storm
+ getitem 12390,30; //Runstone_Millennium
+ if (checkquest(3320) > -1) erasequest 3220;
+ setquest 3220;
+ warp "job3_rune02",38,40;
+ }
+ else {
+ mes "[Rune Knight Velpino]";
+ mes "The only set of weapons you can use should be within the weight limit of 400. Rune stones to be provided are 30 attack-only rune stones and 30 defense-only rune stones.";
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "The remained stuff you are holding should be kept by the Kafra employee in the middle.";
+ close;
+ }
+ }
+ else {
+ // custom translation
+ mes "[Rune Knight Velpino]";
+ mes "Looks like there is already an applicant in the test room.";
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "Be patient and wait your turn,";
+ close;
+ }
+ }
+ end;
+ }
+ else {
+ mes "[Rune Knight Velpino]";
+ mes "For this test, only a one-hand weapon, a shield or a two-handed weapon can be equipped. Keep your other equipments with the Kafra Employee in the center.";
+ close;
+ }
+ break;
+ case 2:
+ break;
+ }
+ }
+ else {
+ set .@rune_crush,countitem(12388);
+ set .@rune_storm,countitem(12389);
+ set .@rune_millenium,countitem(12390);
+ if (.@rune_crush > 0) {
+ mes "[Rune Knight Velpino]";
+ mes "Wait, I'll collect all the rune stones provided before. There's a certain limit on using the rune stones that's made for the test.";
+ delitem 12388,.@rune_crush; //Runstone_Crush
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "I'll get new rune stones so if your preparation is all done, please talk to me again.";
+ close;
+ }
+ else if (.@rune_storm > 0) {
+ mes "[Rune Knight Velpino]";
+ mes "Wait, I'll collect all the rune stones provided before. There's a certain limit on using the rune stones that's made for the test.";
+ delitem 12389,.@rune_storm; //Runstone_Storm
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "I'll get new rune stones so if your preparation is all done, please talk to me again.";
+ close;
+ }
+ else if (.@rune_millenium > 0) {
+ mes "[Rune Knight Velpino]";
+ mes "Wait, I'll collect all the rune stones provided before. There's a certain limit on using the rune stones that's made for the test.";
+ delitem 12390,.@rune_millenium; //Runstone_Millennium
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "I'll get new rune stones so if your preparation is all done, please talk to me again.";
+ close;
+ }
+ else {
+ }
+ }
+ }
+ else if (job_rune_edq == 21) {
+ mes "[Rune Knight Velpino]";
+ mes "You've been very successful up to the last test.";
+ next;
+ set .@rune_crush,countitem(12388);
+ set .@rune_storm,countitem(12389);
+ set .@rune_millenium,countitem(12390);
+ set .@rune_check,.@rune_crush + .@rune_storm + .@rune_millenium;
+ if (.@rune_check == 0) {
+ mes "[Rune Knight Velpino]";
+ mes "Now all the tests you need to take are over. Go back to Captain Tigris and inform him of this test result, and then feel the deep emotion of being born again as a Rune Knight.";
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "Congratulations!";
+ mes "Well I'd better go now for the remaining candidates.";
+ set job_rune_edq,22;
+ changequest 3218,3219;
+ close;
+ }
+ else {
+ set .@rune_crush,countitem(12388);
+ set .@rune_storm,countitem(12389);
+ set .@rune_millenium,countitem(12390);
+ if (.@rune_crush > 0) {
+ mes "[Rune Knight Velpino]";
+ mes "Wait, I'll collect all the rune stones provided before. There's a certain limit on using the rune stones that's made for the test.";
+ delitem 12388,.@rune_crush; //Runstone_Crush
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "I'll need to re-use these unused rune stones. Talk to me again once I have taken all the test rune stones.";
+ close;
+ }
+ else if (.@rune_storm > 0) {
+ mes "[Rune Knight Velpino]";
+ mes "Wait, I'll collect all the rune stones provided before. There's a certain limit on using the rune stones that's made for the test.";
+ delitem 12389,.@rune_storm; //Runstone_Storm
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "I'll need to re-use these unused rune stones. Talk to me again once I have taken all the test rune stones.";
+ close;
+ }
+ else if (.@rune_millenium > 0) {
+ mes "[Rune Knight Velpino]";
+ mes "Wait, I'll collect all the rune stones provided before. There's a certain limit on using the rune stones that's made for the test.";
+ delitem 12390,.@rune_millenium; //Runstone_Millennium
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "I'll need to re-use these unused rune stones. Talk to me again once I have taken all the test rune stones.";
+ close;
+ }
+ }
+ }
+ else {
+ mes "A very cold feeling Rune Knight dressed in black from head to toe is scowling at me.";
+ close;
+ }
+ }
+ else {
+ mes "A very cold feeling Rune Knight dressed in black from head to toe is scowling at me.";
+ close;
+ }
+}
+
+job3_rune02,38,40,0 script #RK Test Hidden Portal 1 -1,10,10,{
+OnInit:
+ enablenpc "#RK Test Hidden Portal 1";
+ end;
+
+OnEnable:
+ enablenpc "#RK Test Hidden Portal 1";
+ end;
+
+OnDisable:
+ disablenpc "#RK Test Hidden Portal 1";
+ end;
+
+OnTouch:
+ if (job_rune_edq == 4) {
+ donpcevent "job_rune_edq#1st_broad::OnEnable";
+ donpcevent "#RK Test Hidden Portal 1::OnDisable";
+ }
+ else if ((job_rune_edq > 17) && (job_rune_edq < 21)) {
+ donpcevent "job_rune_edq#3rd_broad::OnEnable";
+ donpcevent "#RK Test Hidden Portal 1::OnDisable";
+ }
+ else {
+ donpcevent "#RK Test Hidden Portal 1::OnDisable";
+ donpcevent "job_rune_edq#1st_broad::OnDisable";
+ donpcevent "job_rune_edq#1st_control::OnDisable";
+ donpcevent "job_rune_edq#1st_con_mc::OnDisable";
+ donpcevent "job_rune_edq#1st_con_mc2::OnDisable";
+ donpcevent "job_rune_edq#1st_con_nc::OnDisable";
+ donpcevent "job_rune_edq#3rd_broad::OnDisable";
+ donpcevent "job_rune_edq#3rd_con::OnDisable";
+ set $@job_rune_test1,0;
+ set $@job_rune_test2,0;
+ donpcevent "#RK Test Hidden Portal 1::OnEnable";
+ mapwarp "job3_rune02","job3_rune01",80,65;
+ }
+ end;
+}
+
+job3_rune02,1,1,0 script job_rune_edq#1st_broad -1,{
+OnInit:
+ disablenpc "job_rune_edq#1st_broad";
+ end;
+
+OnEnable:
+ initnpctimer;
+ end;
+
+OnDisable:
+ stopnpctimer;
+ disablenpc "job_rune_edq#1st_broad";
+ end;
+
+OnTimer5000:
+ mapannounce "job3_rune02", "I'll start the first test of the Rune Knight Job Change.",bc_map,"0xFFFF00";
+ end;
+
+OnTimer8000:
+ mapannounce "job3_rune02", "The content of the test is to get rid of all the monsters for 5 minutes and survive.",bc_map,"0xFFFF00";
+ end;
+
+OnTimer11000:
+ mapannounce "job3_rune02", "If you fail to survive or cannot get rid of all the monsters within the time limit, I'll consider it a failure.",bc_map,"0xFFFF00";
+ end;
+
+OnTimer14000:
+ mapannounce "job3_rune02", "Now let's start the test.",bc_map,"0xFFFF00";
+ donpcevent "job_rune_edq#1st_control::OnEnable";
+ donpcevent "job_rune_edq#1st_broad::OnDisable";
+ end;
+}
+
+job3_rune02,1,2,0 script job_rune_edq#1st_control -1,{
+OnInit:
+ disablenpc "job_rune_edq#1st_control";
+ end;
+
+OnEnable:
+ initnpctimer;
+ donpcevent "job_rune_edq#1st_con_mc::OnEnable";
+ donpcevent "job_rune_edq#1st_con_nc::OnEnable";
+ end;
+
+OnDisable:
+ stopnpctimer;
+ disablenpc "job_rune_edq#1st_control";
+ end;
+
+OnTimer300000:
+ killmonsterall "job3_rune02";
+ mapannounce "job3_rune02", "You reached the limit time so I'll consider the test as a failure.",bc_map,"0xFFFF00";
+ end;
+
+OnTimer305000:
+ donpcevent "#RK Test Hidden Portal 1::OnDisable";
+ donpcevent "job_rune_edq#1st_broad::OnDisable";
+ donpcevent "job_rune_edq#1st_control::OnDisable";
+ donpcevent "job_rune_edq#1st_con_mc::OnDisable";
+ donpcevent "job_rune_edq#1st_con_mc2::OnDisable";
+ donpcevent "job_rune_edq#1st_con_nc::OnDisable";
+ donpcevent "job_rune_edq#3rd_broad::OnDisable";
+ donpcevent "job_rune_edq#3rd_con::OnDisable";
+ donpcevent "#RK Test Hidden Portal 1::OnEnable";
+ mapwarp "job3_rune02","job3_rune01",80,65;
+ set $@job_rune_test1,0;
+ set $@job_rune_test2,0;
+ stopnpctimer;
+ end;
+}
+
+job3_rune02,3,10,0 script job_rune_edq#1st_con_mc -1,{
+OnInit:
+ disablenpc "job_rune_edq#1st_con_mc";
+ end;
+
+OnEnable:
+ enablenpc "job_rune_edq#1st_con_mc";
+ initnpctimer;
+ end;
+
+OnDisable:
+ killmonster "job3_rune02","job_rune_edq#1st_con_mc::OnMyMobDead";
+ stopnpctimer;
+ disablenpc "job_rune_edq#1st_con_mc";
+ end;
+
+Onreset:
+ killmonsterall "job3_rune02";
+ end;
+
+OnTimer5000:
+ monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ end;
+
+OnTimer50000:
+ set .@job_rune_p,rand(1,6);
+ if (.@job_rune_p == 1) {
+ monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ }
+ else if ((.@job_rune_p == 2) || (.@job_rune_p == 4)) {
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ }
+ else if ((.@job_rune_p == 3) || (.@job_rune_p == 5)) {
+ monster "job3_rune02",0,0,"Phendark",1484,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rybio",1483,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ }
+ else if (.@job_rune_p == 6) {
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ }
+ end;
+
+OnTimer100000:
+ set .@job_rune_p,rand(1,6);
+ if (.@job_rune_p == 1) {
+ monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ }
+ else if ((.@job_rune_p == 2) || (.@job_rune_p == 4)) {
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ }
+ else if ((.@job_rune_p == 3) || (.@job_rune_p == 5)) {
+ monster "job3_rune02",0,0,"Phendark",1484,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rybio",1483,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ }
+ else if (.@job_rune_p == 6) {
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ }
+ end;
+
+OnTimer150000:
+ set .@job_rune_p,rand(1,6);
+ if (.@job_rune_p == 1) {
+ monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ }
+ else if ((.@job_rune_p == 2) || (.@job_rune_p == 4)) {
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ }
+ else if ((.@job_rune_p == 3) || (.@job_rune_p == 5)) {
+ monster "job3_rune02",0,0,"Phendark",1484,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rybio",1483,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ }
+ else if (.@job_rune_p == 6) {
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ }
+ end;
+
+OnTimer200000:
+ set .@job_rune_p,rand(1,6);
+ if (.@job_rune_p == 1) {
+ monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ }
+ else if ((.@job_rune_p == 2) || (.@job_rune_p == 4)) {
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ }
+ else if ((.@job_rune_p == 3) || (.@job_rune_p == 5)) {
+ monster "job3_rune02",0,0,"Phendark",1484,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rybio",1483,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ }
+ else if (.@job_rune_p == 6) {
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_con_mc::OnMyMobDead";
+ }
+ end;
+
+OnTimer250000:
+ killmonster "job3_rune02","job_rune_edq#1st_con_mc::OnMyMobDead";
+ donpcevent "job_rune_edq#1st_con_mc2::OnEnable";
+ donpcevent "job_rune_edq#1st_con_mc::OnDisable";
+ end;
+
+OnMyMobDead:
+ end;
+}
+
+job3_rune02,3,11,0 script job_rune_edq#1st_con_mc2 -1,{
+OnInit:
+ disablenpc "job_rune_edq#1st_con_mc2";
+ end;
+
+OnEnable:
+ enablenpc "job_rune_edq#1st_con_mc2";
+ initnpctimer;
+ set .@job_rune_p,rand(1,6);
+ if (.@job_rune_p == 1) {
+ monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_con_mc2::OnMyMobDead";
+ monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_con_mc2::OnMyMobDead";
+ monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_con_mc2::OnMyMobDead";
+ }
+ else if ((.@job_rune_p == 2) || (.@job_rune_p == 4)) {
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_con_mc2::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_con_mc2::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_con_mc2::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_con_mc2::OnMyMobDead";
+ }
+ else if ((.@job_rune_p == 3) || (.@job_rune_p == 5)) {
+ monster "job3_rune02",0,0,"Phendark",1484,1,"job_rune_edq#1st_con_mc2::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rybio",1483,1,"job_rune_edq#1st_con_mc2::OnMyMobDead";
+ }
+ else if (.@job_rune_p == 6) {
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_con_mc2::OnMyMobDead";
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_con_mc2::OnMyMobDead";
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_con_mc2::OnMyMobDead";
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_con_mc2::OnMyMobDead";
+ }
+ end;
+
+OnDisable:
+ killmonster "job3_rune02","job_rune_edq#1st_con_mc2::OnMyMobDead";
+ stopnpctimer;
+ disablenpc "job_rune_edq#1st_con_mc2";
+ end;
+
+OnMyMobDead:
+ if (mobcount("job3_rune02","job_rune_edq#1st_con_mc2::OnMyMobDead") < 1) {
+ set job_rune_edq,5;
+ erasequest 3220;
+ killmonster "job3_rune02","job_rune_edq#1st_con_mc2::OnMyMobDead";
+ mapannounce "job3_rune02", "Congratulations. You've passed the first test.",bc_map,"0xFFFF00";
+ mapwarp "job3_rune02","job3_rune01",80,65;
+ donpcevent "job_rune_edq#1st_broad::OnDisable";
+ donpcevent "job_rune_edq#1st_control::OnDisable";
+ donpcevent "job_rune_edq#1st_con_nc::OnDisable";
+ donpcevent "job_rune_edq#1st_con_mc::OnDisable";
+ donpcevent "job_rune_edq#1st_con_mc2::OnDisable";
+ donpcevent "#RK Test Hidden Portal 1::OnEnable";
+ set $@job_rune_test1,0;
+ set $@job_rune_test2,0;
+ }
+ end;
+}
+
+job3_rune02,1,10,0 script job_rune_edq#1st_con_nc -1,{
+OnInit:
+ disablenpc "job_rune_edq#1st_con_nc";
+ end;
+
+OnEnable:
+ enablenpc "job_rune_edq#1st_con_nc";
+ initnpctimer;
+ end;
+
+OnDisable:
+ disablenpc "job_rune_edq#1st_con_nc";
+ set $@job_rune_test2,0;
+ donpcevent "Captain Tigris#job::OnDisable";
+ donpcevent "Rune Knight Lunarea#job::OnDisable";
+ donpcevent "Rune Knight Renoa#job::OnDisable";
+ donpcevent "Rune Knight Velpino#job::OnDisable";
+ stopnpctimer;
+ end;
+
+Onuse:
+ mapannounce "job3_rune02", "Captain Tigris : Gentleman, Let's watch the test for a while.",bc_map,"0xFFFF00";
+ stopnpctimer;
+ set $@job_rune_test2,0;
+ donpcevent "Captain Tigris#job::OnDisable";
+ donpcevent "Rune Knight Lunarea#job::OnDisable";
+ donpcevent "Rune Knight Renoa#job::OnDisable";
+ donpcevent "Rune Knight Velpino#job::OnDisable";
+ donpcevent "job_rune_edq#1st_con_nc::OnEnable";
+ end;
+
+OnTimer30000:
+ mapannounce "job3_rune02", "Captain Tigris : Rune Knight Candidates... If you want to borrow our power talk to one of us.",bc_map,"0xFFFF00";
+ donpcevent "Captain Tigris#job::OnEnable";
+ donpcevent "Rune Knight Lunarea#job::OnEnable";
+ donpcevent "Rune Knight Renoa#job::OnEnable";
+ donpcevent "Rune Knight Velpino#job::OnEnable";
+ end;
+
+OnTimer60000:
+ mapannounce "job3_rune02", "Captain Tigris : It seems you don't need our help... Let's watch the test for a while.",bc_map,"0xFFFF00";
+ stopnpctimer;
+ donpcevent "Captain Tigris#job::OnDisable";
+ donpcevent "Rune Knight Lunarea#job::OnDisable";
+ donpcevent "Rune Knight Renoa#job::OnDisable";
+ donpcevent "Rune Knight Velpino#job::OnDisable";
+ donpcevent "job_rune_edq#1st_con_nc::OnEnable";
+ end;
+}
+
+job3_rune02,34,46,5 script Captain Tigris#job 470,{
+ set .@tigris,rand(1,6);
+ if ((job_rune_edq == 4) && (!$@job_rune_test2)) {
+ if (.@tigris == 1) {
+ set $@job_rune_test2,1;
+ // custom translation
+ mapannounce "job3_rune02", "Captain Tigris : May Beljeve bless you!",bc_map,"0xFFFF00";
+ //UseSkillToPC 34 0 0 0
+ skilleffect "AL_BLESSING",0;
+ initnpctimer;
+ }
+ else if ((.@tigris == 2) || (.@tigris == 4)) {
+ set $@job_rune_test2,1;
+ mapannounce "job3_rune02", "Captain Tigris : The Spark of life... may flame again.",bc_map,"0xFFFF00";
+ //UseSkillToPC 28 8 70 99
+ skilleffect "AL_HEAL",2000;
+ heal 2000,0;
+ initnpctimer;
+ }
+ else if (.@tigris == 3) {
+ set $@job_rune_test2,1;
+ // custom translation
+ mapannounce "job3_rune02", "Captain Tigris : Evil spirits! Return to your graves!",bc_map,"0xFFFF00";
+ specialeffect2 EF_METEORSTORM;
+ donpcevent "job_rune_edq#1st_con_mc::Onreset";
+ initnpctimer;
+ }
+ else if (.@tigris == 5) {
+ set $@job_rune_test2,1;
+ // custom translation
+ mapannounce "job3_rune02", "Captain Tigris : For a Rune Knight, this kind of ordeal is nothing!",bc_map,"0xFFFF00";
+ sc_start SC_STUN,10000,0;
+ initnpctimer;
+ }
+ else if (.@tigris == 6) {
+ set $@job_rune_test2,1;
+ // custom translation
+ mapannounce "job3_rune02", "Captain Tigris : For a Rune Knight, this kind of ordeal is nothing!",bc_map,"0xFFFF00";
+ sc_start SC_BLEEDING,10000,0;
+ initnpctimer;
+ }
+ else {
+ donpcevent "job_rune_edq#1st_con_nc::Onuse";
+ }
+ }
+ else {
+ donpcevent "job_rune_edq#1st_con_nc::Onuse";
+ }
+ end;
+
+OnTimer5000:
+ donpcevent "job_rune_edq#1st_con_nc::Onuse";
+ set $@job_rune_test2,0;
+ stopnpctimer;
+ end;
+OnInit:
+ disablenpc "Captain Tigris#job";
+ end;
+
+OnEnable:
+ enablenpc "Captain Tigris#job";
+ end;
+
+OnDisable:
+ disablenpc "Captain Tigris#job";
+ end;
+}
+
+job3_rune02,43,46,3 script Rune Knight Lunarea#job 469,{
+ set .@tigris,rand(1,6);
+ if ((job_rune_edq == 4) && (!$@job_rune_test2)) {
+ if (.@tigris == 1) {
+ set $@job_rune_test2,1;
+ // custom translation
+ mapannounce "job3_rune02", "Rune Knight Lunarea : Quickly...find and strike at the enemy's vital points!",bc_map,"0xFFFF00";
+ //UseSkillToPC 29 0 0 0
+ skilleffect "AL_INCAGI",0;
+ initnpctimer;
+ }
+ else if ((.@tigris == 2) || (.@tigris == 4)) {
+ set $@job_rune_test2,1;
+ mapannounce "job3_rune02", "Rune Knight Lunarea : It's not over... you need more power...",bc_map,"0xFFFF00";
+ //UseSkillToPC 28 8 60 90
+ skilleffect "AL_HEAL",1500;
+ heal 1500,0;
+ initnpctimer;
+ }
+ else if (.@tigris == 3) {
+ set $@job_rune_test2,1;
+ // custom translation
+ mapannounce "job3_rune02", "Rune Knight Lunarea : Everything shall return from whence it came!",bc_map,"0xFFFF00";
+ //UseSkillToPC 35 0 0 0
+ skilleffect "AL_CURE",0;
+ initnpctimer;
+ }
+ else if (.@tigris == 5) {
+ set $@job_rune_test2,1;
+ mapannounce "job3_rune02", "Rune Knight Lunarea : There can't be growth without a trial.",bc_map,"0xFFFF00";
+ sc_start SC_POISON,30000,0;
+ initnpctimer;
+ }
+ else if (.@tigris == 6) {
+ set $@job_rune_test2,1;
+ mapannounce "job3_rune02", "Rune Knight Lunarea : There can't be growth without a trial.",bc_map,"0xFFFF00";
+ sc_start SC_CURSE,30000,0;
+ initnpctimer;
+ }
+ else {
+ donpcevent "job_rune_edq#1st_con_nc::Onuse";
+ }
+ }
+ else {
+ donpcevent "job_rune_edq#1st_con_nc::Onuse";
+ }
+ end;
+
+OnTimer5000:
+ donpcevent "job_rune_edq#1st_con_nc::Onuse";
+ set $@job_rune_test2,0;
+ stopnpctimer;
+ end;
+
+OnInit:
+ disablenpc "Rune Knight Lunarea#job";
+ end;
+
+OnEnable:
+ enablenpc "Rune Knight Lunarea#job";
+ end;
+
+OnDisable:
+ disablenpc "Rune Knight Lunarea#job";
+ end;
+}
+
+job3_rune02,43,34,1 script Rune Knight Renoa#job 469,{
+ set .@tigris,rand(1,6);
+ if ((job_rune_edq == 4) && (!$@job_rune_test2)) {
+ if (.@tigris == 1) {
+ set $@job_rune_test2,1;
+ // custom translation
+ mapannounce "job3_rune02", "Rune Knight Renoa : The rune of Blast! May it give you strength!",bc_map,"0xFFFF00";
+ //UseSkillToPC 29 0 0 0
+ skilleffect "AL_INCAGI",0;
+ initnpctimer;
+ }
+ else if ((.@tigris == 2) || (.@tigris == 4)) {
+ set $@job_rune_test2,1;
+ mapannounce "job3_rune02", "Rune Knight Renoa : The rune of birth! May give you the power of life!",bc_map,"0xFFFF00";
+ //UseSkillToPC 28 8 60 90
+ skilleffect "AL_HEAL",1500;
+ heal 1500,0;
+ initnpctimer;
+ }
+ else if (.@tigris == 3) {
+ set $@job_rune_test2,1;
+ // custom translation
+ mapannounce "job3_rune02", "Rune Knight Renoa : I am faster than others! Stronger than others!",bc_map,"0xFFFF00";
+ specialeffect2 EF_PIERCESELF;
+ donpcevent "job_rune_edq#1st_con_mc::Onreset";
+ initnpctimer;
+ }
+ else if (.@tigris == 5) {
+ set $@job_rune_test2,1;
+ mapannounce "job3_rune02", "Rune Knight Renoa : For a Rune Knight, this kind of ordeal is nothing!",bc_map,"0xFFFF00";
+ sc_start SC_POISON,30000,0;
+ initnpctimer;
+ }
+ else if (.@tigris == 6) {
+ set $@job_rune_test2,1;
+ mapannounce "job3_rune02", "Rune Knight Renoa : For a Rune Knight, this kind of ordeal is nothing!",bc_map,"0xFFFF00";
+ sc_start SC_CURSE,30000,0;
+ initnpctimer;
+ }
+ else {
+ donpcevent "job_rune_edq#1st_con_nc::Onuse";
+ }
+ }
+ else {
+ donpcevent "job_rune_edq#1st_con_nc::Onuse";
+ }
+ end;
+
+OnTimer5000:
+ set $@job_rune_test2,0;
+ donpcevent "job_rune_edq#1st_con_nc::Onuse";
+ stopnpctimer;
+ end;
+
+OnInit:
+ disablenpc "Rune Knight Renoa#job";
+ end;
+
+OnEnable:
+ enablenpc "Rune Knight Renoa#job";
+ end;
+
+OnDisable:
+ disablenpc "Rune Knight Renoa#job";
+ end;
+}
+
+job3_rune02,34,34,7 script Rune Knight Velpino#job 468,{
+ set .@tigris,rand(1,6);
+ if ((job_rune_edq == 4) && (!$@job_rune_test2)) {
+ if (.@tigris == 1) {
+ set $@job_rune_test2,1;
+ mapannounce "job3_rune02", "Rune Knight Velpino : You are not one who gets to fall down in this kind of place.",bc_map,"0xFFFF00";
+ //UseSkillToPC 28 8 60 90
+ skilleffect "AL_HEAL",1500;
+ heal 1500,0;
+ initnpctimer;
+ }
+ else if ((.@tigris == 2) || (.@tigris == 4)) {
+ set $@job_rune_test2,1;
+ // custom translation
+ mapannounce "job3_rune02", "Rune Knight Velpino : Charge! Knock them all down!",bc_map,"0xFFFF00";
+ //UseSkillToPC 29 0 0 0
+ skilleffect "AL_INCAGI",0;
+ initnpctimer;
+ }
+ else if (.@tigris == 3) {
+ set $@job_rune_test2,1;
+ // custom translation
+ mapannounce "job3_rune02", "Rune Knight Velpino : You are not alone. We are by your side.",bc_map,"0xFFFF00";
+ //UseSkillToPC 34 0 0 0
+ skilleffect "AL_BLESSING",0;
+ initnpctimer;
+ }
+ else if (.@tigris == 5) {
+ set $@job_rune_test2,1;
+ // custom translation
+ mapannounce "job3_rune02", "Rune Knight Velpino : Fight and win! Do not hesitate in the face of this test!",bc_map,"0xFFFF00";
+ sc_start SC_FREEZE,10000,0;
+ initnpctimer;
+ }
+ else if (.@tigris == 6) {
+ set $@job_rune_test2,1;
+ mapannounce "job3_rune02", "Rune Knight Velpino : It's not a big trial for a true Rune Knight!",bc_map,"0xFFFF00";
+ sc_start SC_SLEEP,10000,0;
+ initnpctimer;
+ }
+ else {
+ donpcevent "job_rune_edq#1st_con_nc::Onuse";
+ }
+ }
+ else {
+ donpcevent "job_rune_edq#1st_con_nc::Onuse";
+ }
+ end;
+
+OnTimer5000:
+ set $@job_rune_test2,0;
+ donpcevent "job_rune_edq#1st_con_nc::Onuse";
+ stopnpctimer;
+ end;
+
+OnInit:
+ disablenpc "Rune Knight Velpino#job";
+ end;
+
+OnEnable:
+ enablenpc "Rune Knight Velpino#job";
+ end;
+
+OnDisable:
+ disablenpc "Rune Knight Velpino#job";
+ end;
+}
+
+job3_rune02,2,1,0 script job_rune_edq#3rd_broad -1,{
+OnInit:
+ disablenpc "job_rune_edq#3rd_broad";
+ end;
+
+OnEnable:
+ initnpctimer;
+ end;
+
+OnDisable:
+ stopnpctimer;
+ disablenpc "job_rune_edq#3rd_broad";
+ end;
+
+OnTimer5000:
+ mapannounce "job3_rune02", "I'll start the last test of the Rune Knight Job change.",bc_map,"0xFFFF00";
+ end;
+
+OnTimer8000:
+ mapannounce "job3_rune02", "Get rid of monsters appearing here within 8 minutes by using the provided rune stones.",bc_map,"0xFFFF00";
+ end;
+
+OnTimer11000:
+ mapannounce "job3_rune02", "If you die or can't get rid of all the monsters within the time limit, I'll consider the try as a failure.",bc_map,"0xFFFF00";
+ end;
+
+OnTimer14000:
+ mapannounce "job3_rune02", "Now I'll start the test.",bc_map,"0xFFFF00";
+ donpcevent "job_rune_edq#3rd_con::OnEnable";
+ donpcevent "job_rune_edq#3rd_broad::OnDisable";
+ end;
+}
+
+job3_rune02,2,2,0 script job_rune_edq#3rd_con -1,{
+OnInit:
+ disablenpc "job_rune_edq#3rd_con";
+ end;
+
+OnEnable:
+ initnpctimer;
+ donpcevent "job_rune_edq#3rd_con_1::OnEnable";
+ end;
+
+OnDisable:
+ stopnpctimer;
+ donpcevent "job_rune_edq#3rd_con_1::OnDisable";
+ donpcevent "job_rune_edq#3rd_con_2::OnDisable";
+ donpcevent "job_rune_edq#3rd_con_3::OnDisable";
+ disablenpc "job_rune_edq#3rd_con";
+ end;
+
+OnTimer480000:
+ killmonsterall "job3_rune02";
+ mapannounce "job3_rune02", "You reached the limit time so I'll consider the test as a failure.",bc_map,"0xFFFF00";
+ end;
+
+OnTimer482000:
+ mapwarp "job3_rune02","job3_rune01",80,65;
+ donpcevent "job_rune_edq#1st_broad::OnDisable";
+ donpcevent "job_rune_edq#1st_control::OnDisable";
+ donpcevent "job_rune_edq#1st_con_nc::OnDisable";
+ donpcevent "job_rune_edq#1st_con_mc2::OnDisable";
+ donpcevent "job_rune_edq#1st_con_mc::OnDisable";
+ donpcevent "job_rune_edq#3rd_broad::OnDisable";
+ donpcevent "job_rune_edq#3rd_con::OnDisable";
+ donpcevent "#RK Test Hidden Portal 1::OnEnable";
+ set $@job_rune_test1,0;
+ set $@job_rune_test2,0;
+ stopnpctimer;
+ end;
+}
+
+job3_rune02,2,3,0 script job_rune_edq#3rd_con_1 -1,{
+OnInit:
+ disablenpc "job_rune_edq#3rd_con_1";
+ end;
+
+OnEnable:
+ enablenpc "job_rune_edq#3rd_con_1";
+ monster "job3_rune02",40,40,"Executioner",2039,1,"job_rune_edq#3rd_con_1::OnMyMobDead";
+ end;
+
+OnDisable:
+ killmonster "job3_rune02","job_rune_edq#3rd_con_1::OnMyMobDead";
+ disablenpc "job_rune_edq#3rd_con_1";
+ end;
+
+OnMyMobDead:
+ if (mobcount("job3_rune02","job_rune_edq#3rd_con_1::OnMyMobDead") < 1) {
+ set job_rune_edq,19;
+ killmonster "job3_rune02","job_rune_edq#3rd_con_1::OnMyMobDead";
+ donpcevent "job_rune_edq#3rd_con_2::OnEnable";
+ donpcevent "job_rune_edq#3rd_con_1::OnDisable";
+ }
+ end;
+}
+
+job3_rune02,2,4,0 script job_rune_edq#3rd_con_2 -1,{
+OnInit:
+ disablenpc "job_rune_edq#3rd_con_2";
+ end;
+
+OnEnable:
+ enablenpc "job_rune_edq#3rd_con_2";
+ monster "job3_rune02",40,40,"Ogretooth",2040,1,"job_rune_edq#3rd_con_2::OnMyMobDead";
+ end;
+
+OnDisable:
+ killmonster "job3_rune02","job_rune_edq#3rd_con_2::OnMyMobDead";
+ disablenpc "job_rune_edq#3rd_con_2";
+ end;
+
+OnMyMobDead:
+ if (mobcount("job3_rune02","job_rune_edq#3rd_con_2::OnMyMobDead") < 1) {
+ set job_rune_edq,20;
+ killmonster "job3_rune02","job_rune_edq#3rd_con_2::OnMyMobDead";
+ donpcevent "job_rune_edq#3rd_con_3::OnEnable";
+ donpcevent "job_rune_edq#3rd_con_2::OnDisable";
+ }
+ end;
+}
+
+job3_rune02,2,5,0 script job_rune_edq#3rd_con_3 -1,{
+OnInit:
+ disablenpc "job_rune_edq#3rd_con_3";
+ end;
+
+OnEnable:
+ enablenpc "job_rune_edq#3rd_con_3";
+ monster "job3_rune02",40,40,"Mysteltainn",2041,1,"job_rune_edq#3rd_con_3::OnMyMobDead";
+ end;
+
+OnDisable:
+ killmonster "job3_rune02","job_rune_edq#3rd_con_3::OnMyMobDead";
+ disablenpc "job_rune_edq#3rd_con_3";
+ end;
+
+OnMyMobDead:
+ if (mobcount("job3_rune02","job_rune_edq#3rd_con_3::OnMyMobDead") < 1) {
+ set job_rune_edq,21;
+ changequest 3217,3218;
+ erasequest 3220;
+ killmonster "job3_rune02","job_rune_edq#3rd_con_3::OnMyMobDead";
+ mapannounce "job3_rune02", "Congratulations. You've passed the second test.",bc_map,"0xFFFF00";
+ mapwarp "job3_rune02","job3_rune01",80,65;
+ donpcevent "job_rune_edq#1st_broad::OnDisable";
+ donpcevent "job_rune_edq#1st_control::OnDisable";
+ donpcevent "job_rune_edq#1st_con_nc::OnDisable";
+ donpcevent "job_rune_edq#1st_con_mc2::OnDisable";
+ donpcevent "job_rune_edq#1st_con_mc::OnDisable";
+ donpcevent "job_rune_edq#3rd_broad::OnDisable";
+ donpcevent "job_rune_edq#3rd_con::OnDisable";
+ donpcevent "#RK Test Hidden Portal 1::OnEnable";
+ set $@job_rune_test1,0;
+ set $@job_rune_test2,0;
+ }
+ end;
+}
+
+job3_rune01,92,62,3 script Kafra Employee#rk 114,{
+ cutin "kafra_04",2;
+ mes "[Kafra Employee]";
+ mes "Hello. Kafra Service are always with you.";
+ mes "What can I help you with?";
+ next;
+ switch(select("Use Storage:Rent a Pushcart:Use Teleport Service:Check Other Information:Cancel")) {
+ case 1:
+ if(basicskillcheck() && getskilllv("NV_BASIC") < 6){
+ mes "[Kafra Employee]";
+ mes "I'm sorry, but you";
+ mes "need the Novice's";
+ mes "Basic Skill Level 6 to";
+ mes "use the Storage Service.";
+ }
+ else if ((countitem(7059) != 0) || (Zeny >= 50)) {
+ if (countitem(7059) != 0)
+ delitem 7059,1; //Cargo_Free_Ticket
+ else {
+ set RESRVPTS,RESRVPTS+5;
+ set zeny,zeny-80;
+ }
+ mes "[Kafra Employee]";
+ mes "Here, let me open";
+ mes "your Storage for you.";
+ mes "Thank you for using";
+ mes "the Kafra Service.";
+ close2;
+ cutin "kafra_04",255;
+ openstorage;
+ end;
+ }
+ else {
+ mes "[Kafra Employee]";
+ mes "I'm sorry, but you don't";
+ mes "have enough zeny to use";
+ mes "the Storage Service. Our";
+ mes "Storage access fee is 80 zeny.";
+ }
+ break;
+ case 2:
+ if (BaseClass != Job_Merchant) {
+ mes "[Kafra Employee]";
+ mes "I'm sorry, but the";
+ mes "Pushcart rental service";
+ mes "is only available to Merchants,";
+ mes "Blacksmiths, Master Smiths,";
+ mes "Alchemists, Biochemists,";
+ mes "Mechanics and Geneticists.";
+ }
+ else if (checkcart()) {
+ mes "[Kafra Employee]";
+ mes "You already have";
+ mes "a Pushcart equipped.";
+ mes "Unfortunately, we can't";
+ mes "rent more than one to";
+ mes "each customer at a time.";
+ }
+ else {
+ if (!getskilllv("MC_CART")) {
+ mes "[Kafra Employee]";
+ mes "You do not have the skill level required to rent a Pushcart.";
+ }
+ if (countitem(7061) != 0)
+ delitem 7061,1; //Cart_Free_Ticket
+ else {
+ mes "[Kafra Employee]";
+ mes "The Pushcart rental";
+ mes "fee is 700 zeny. Would";
+ mes "you like to rent a Pushcart?";
+ next;
+ switch(select("Rent a Pushcart.:Cancel")) {
+ case 1:
+ if (Zeny >= 700) {
+ set RESRVPTS,RESRVPTS+85;
+ set zeny,zeny-700;
+ }
+ else {
+ mes "[Kafra Employee]";
+ mes "I'm sorry, but you";
+ mes "don't have enough";
+ mes "zeny to pay the Pushcart";
+ mes "rental fee of 700 zeny.";
+ }
+ break;
+ case 2:
+ break;
+ }
+ }
+ setcart;
+ }
+ break;
+ case 3:
+ mes "[Kafra Employee]";
+ mes "Please tell me the destination.";
+ next;
+ switch(select("Izlude -> 600 z:Geffen -> 1200 z:Payon -> 1200 z:Morroc -> 1200 z:Alberta -> 1800 z:Cancel.")) {
+ case 1:
+ if ((countitem(7060) != 0) || (Zeny >= 600)) {
+ if (countitem(7060) != 0)
+ delitem 7060,1; //Warp_Free_Ticket
+ else {
+ set zeny,zeny-600;
+ set RESRVPTS,RESRVPTS+60;
+ }
+ cutin "kafra_04",255;
+ warp "izlude",91,105;
+ end;
+ }
+ else {
+ mes "[Kafra Employee]";
+ mes "I'm sorry, but you don't have";
+ mes "enough zeny for the Teleport";
+ mes "Service. The fee to teleport";
+ mes "to Izlude is 600 zeny.";
+ }
+ break;
+ case 2:
+ if ((countitem(7060) != 0) || (Zeny >= 1200)) {
+ if (countitem(7060) != 0)
+ delitem 7060,1; //Warp_Free_Ticket
+ else {
+ set zeny,zeny-1200;
+ set RESRVPTS,RESRVPTS+120;
+ }
+ cutin "kafra_04",255;
+ warp "geffen",120,39;
+ end;
+ }
+ else {
+ mes "[Kafra Employee]";
+ mes "I'm sorry, but you don't have";
+ mes "enough zeny for the Teleport";
+ mes "Service. The fee to teleport";
+ mes "to Geffen is 1,200 zeny.";
+ }
+ break;
+ case 3:
+ if ((countitem(7060) != 0) || (Zeny >= 1200)) {
+ if (countitem(7060) != 0) {
+ delitem 7060,1; //Warp_Free_Ticket
+ }
+ else {
+ set zeny,zeny-1200;
+ set RESRVPTS,RESRVPTS+120;
+ }
+ cutin "kafra_04",255;
+ warp "payon",161,58;
+ end;
+ }
+ else {
+ mes "[Kafra Employee]";
+ mes "I'm sorry, but you don't have";
+ mes "enough zeny for the Teleport";
+ mes "Service. The fee to teleport";
+ mes "to Payon is 1,200 zeny.";
+ }
+ break;
+ case 4:
+ if ((countitem(7060) != 0) || (Zeny >= 1200)) {
+ if (countitem(7060) != 0)
+ delitem 7060,1; //Warp_Free_Ticket
+ else {
+ set zeny,zeny-1200;
+ set kf_100_pit,kf_100_pit+1;
+ set kf_10_pit,kf_10_pit+2;
+ }
+ cutin "kafra_04",255;
+ warp "morocc",156,46;
+ end;
+ }
+ else {
+ mes "[Kafra Employee]";
+ mes "I'm sorry, but you don't have";
+ mes "enough zeny for the Teleport";
+ mes "Service. The fee to teleport";
+ mes "to Morroc is 1,200 zeny.";
+ }
+ break;
+ case 5:
+ if ((countitem(7060) != 0) || (Zeny >= 1800)) {
+ if (countitem(7060) != 0)
+ delitem 7060,1; //Warp_Free_Ticket
+ else {
+ set zeny,zeny-1800;
+ set RESRVPTS,RESRVPTS+180;
+ }
+ cutin "kafra_04",255;
+ warp "alberta",117,56;
+ end;
+ }
+ else {
+ mes "[Kafra Employee]";
+ mes "I'm sorry, but you don't have";
+ mes "enough zeny for the Teleport";
+ mes "Service. The fee to teleport";
+ mes "to Alberta is 1,800 zeny.";
+ }
+ break;
+ case 6:
+ break;
+ }
+ break;
+ case 4:
+ switch(select("Check Special Reserve Points.:Cancel")) {
+ case 1:
+ mes "[Kafra Employee]";
+ mes "Let's see...";
+ mes "" + strcharinfo(0) + "...";
+ mes "Ah, you have a total of";
+ mes "" + RESRVPTS + " Special Reserve Points.";
+ next;
+ mes "[Kafra Employee]";
+ mes "You can exchange your";
+ mes "Special Reserve Points for";
+ mes "rewards at the Kafra Main Office in Al De Baran. Please use our";
+ mes "convenient services to see the benefits of our rewards program.";
+ break;
+ case 2:
+ break;
+ }
+ break;
+ case 5:
+ mes "[Kafra Employee]";
+ mes "We, here at Kafra Corporation,";
+ mes "are always endeavoring to provide you with the best services. We hope that we meet your adventuring needs and standards of excellence.";
+ break;
+ }
+ close2;
+ cutin "kafra_04",255;
+ end;
+}
+
+/*
+npc "sec_in02" "·ûÎÄÆïʿתְÈ볡¹ÜÀíԱ" 4_M_KNIGHT_SILVER 34 167 3 1 1
+ mes "ÇëÊäÈëÃÜÂ롣";
+ next;
+ set keyword,1854;
+ input .@input$;
+ if (inputstr == keyword) {
+ mes "·ûÎÄÆïʿתְ¹ÜÀíģ¿鿪ʼ";
+ next;
+ switch(select("¼ì²éȫ¾ֱäÁ¿:ÐÄȫ¾ֱäÁ¿")) {
+ case 1:
+ set rune_global,job_rune_test1;
+ set rune_mapcount,job3_rune02.gat;
+ mes "µ±ǰ·ûÎÄÆïʿתְ±äÁ¿ÊÇ" + rune_global + "¡£";
+ mes "µ±ǰ·ûÎÄÆïʿ¿¼³¡ÖеÄÈËÊýΪ" + rune_mapcount + "Èˡ£";
+ close;
+ break;
+ case 2:
+ set rune_global,job_rune_test1;
+ set $@job_rune_test1,0;
+ mes "½«·ûÎÄÆïʿתְȫ¾ֱäÁ¿ÐÄΪ0¡£¿¼³¡¿ÉÒÔʹÓá£";
+ close;
+ break;
+ }
+ }
+ else {
+ }
+}
+*/
|