diff options
Diffstat (limited to 'npc/jobs')
42 files changed, 29895 insertions, 0 deletions
diff --git a/npc/jobs/1-1/acolyte.txt b/npc/jobs/1-1/acolyte.txt new file mode 100644 index 000000000..83c2d6095 --- /dev/null +++ b/npc/jobs/1-1/acolyte.txt @@ -0,0 +1,322 @@ +//===== eAthena Script =======================================
+//= Acolyte Job Quest
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= <Description>
+//===== 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]
+//============================================================
+
+
+// -- Father Mareusis --
+prt_church.gat,184,41,4 script Father Mareusis 60,{
+ callfunc "F_ToHigh",28,"Acolyte High",32,"High Priest",156,0,0,0,"Father Mareusis";
+ mes "[Father Mareusis]";
+ if(BaseJob==Job_Novice && job_acolyte_q > 0) goto L_Check;
+ mes "What is it you are looking for?";
+ next;
+ menu "Father, I want to become an Acolyte.",M_0,"The Requirements.",M_1,"I'm just looking around that's all",M_End;
+ close;
+
+ M_0:
+ mes "[Father Mareusis]";
+ callfunc "Aco_check";
+ mes "Do you truly wish to become a servant of God?";
+ next;
+ menu "Yes, Father, I do.",sM_0,"Nope, I lied.",sM_1;
+ close;
+
+ sM_0:
+ mes "[Father Mareusis]";
+ mes "Good. I accept your will to become an Acolyte.";
+ mes "You understand that you need to do penance before you become a servant of God, don't you?";
+ next;
+ mes "[Father Mareusis]";
+ mes "Well then, here is your Divine Quest.....";
+ next;
+ mes "[Father Mareusis]";
+ set job_acolyte_q, rand(1,3);
+ if(job_acolyte_q == 2) goto sR_2;
+ if(job_acolyte_q == 3) goto sR_3;
+
+ sR_1:
+ mes "Please visit ^0000ffFather Rubalkabara^000000, a member of the Prontera Parish and report back here.";
+ mes "He has been Practicing Asceticism near the ^0000ffSt. Capitolina Abbey, 1 map North, and 2 maps East of Prontera City.^000000.";
+ goto sL_End;
+
+ sR_2:
+ mes "Please Visit ^0000ffMother Marthilda^000000 and report back here.";
+ mes "She has been Practicing Asceticism in the ^0000ffSograt Desert, one map north from the town of Morroc^000000. Morroc is SouthWest from Prontera.";
+ goto sL_End;
+
+ sR_3:
+ mes "Please Visit ^0000ffFather Yosuke^000000 and report back here.";
+ mes "He has been Practicing Asceticism on ^0000ffa very small island 2 maps West, and 1 map North, of Prontera City.^000000.";
+
+ sL_End:
+ next;
+ mes "[Father Mareusis]";
+ mes "May the Grace of God enlighten your path.";
+ close;
+
+ sM_1:
+ mes "[Father Mareusis]";
+ mes "Lying is a sin my child!";
+ mes "Please come back when you are ready";
+ emotion 19;
+ close;
+
+ M_1:
+ mes "[Father Mareusis]";
+ if(BaseJob == Job_Acolyte) goto M1b;
+ if(BaseJob != Job_Novice) goto M1a;
+
+ mes "So you wish to become an Acolyte do you?";
+ mes "Here are the two requirements you must fullfill first in order to do so.";
+ next;
+ mes "[Father Mareusis]";
+ mes "First of all, you have to reach ^0000ffnovice job Level 9^000000 and learn the ^0000ffBasic Skills^000000 that come with it.";
+ next;
+ mes "[Father Mareusis]";
+ mes "Secondly, you have to embark on a Divine Quest!!";
+ next;
+ mes "[Father Mareusis]";
+ mes "You'll will become an Acolyte in no time if, from the bottom of your heart, you are truly eager to become a servant of God.";
+ close;
+
+ M1a:
+ mes "You have already devoted your life to another profession....";
+ close;
+ M1b:
+ mes "You have already devoted your life to the lord my child. Please go with God's blessing.";
+ close;
+
+ M_End:
+ mes "[Father Mareusis]";
+ mes "I see. I pray for your salvation.";
+ close;
+
+L_Check:
+ mes "Oh, You've come back. Let me check to see if you are ready to serve God... Let's see...";
+ next;
+ mes "[Father Mareusis]";
+ if(job_acolyte_q < 4) goto sL_NotRdy;
+ if(SkillPoint > 0) goto sL_Skpoint;
+ mes "Your prayers have been answered my child. That which has been asked of you has been fullfilled!!.";
+ next;
+ mes "[Father Mareusis]";
+ mes "With the powers vested in me I hearby make you, ^0000ff"+strcharinfo(0)+"^000000, an Acolyte!!!";
+ next;
+ mes "(whispers a prayer)";
+ next;
+ callfunc "Job_Change",Job_Acolyte;
+ callfunc "F_ClearJobVar"; // clears all job variables for the current player
+ mes "[Father Mareusis]";
+ mes "Remember to be thankful to God, who is taking care of us all of the time.";
+ mes "That you have the unique chance to serve him...you should feel very fortunate and blessed.";
+ next;
+ mes "[Father Mareusis]";
+ mes "Now go forth my child and VANQUISH the EVILS of this world. You have my blessing and the blessing of the church.";
+ close;
+
+ sL_NotRdy:
+ mes "Hmm... you don't seem to have finished your Divine Quest my child.";
+ next;
+ mes "[Father Mareusis]";
+ if(job_acolyte_q == 1) goto sR_1;
+ if(job_acolyte_q == 2) goto sR_2;
+ if(job_acolyte_q == 3) goto sR_3;
+ close;
+
+ sL_Skpoint:
+ mes "Before we can move on, please use up all of your skill points my child.";
+ close;
+}
+
+
+// == Devine Quest ==
+// -- Father Rubalkabara --
+prt_fild03.gat,365,259,2 script Father Rubalkabara 110,{
+ mes "[Father Rubalkabara]";
+ if(BaseJob==Job_Acolyte || BaseJob==Job_Priest) callfunc "F_FatherRub";
+ if(BaseJob==Job_Novice) goto L_Novice;
+
+L_Other:
+ mes "Oh.. Have you come here to train Or are you just a Wanderer..?";
+ next;
+ mes "[Father Rubalkabara]";
+ mes "Whoever you are, please take care of yourself. Monsters in here are shockingly Strong contrary to their Cute apprearance.";
+ close;
+
+L_Novice:
+ if(job_acolyte_q==4) goto QuestOver;
+ if(job_acolyte_q > 0) goto L_Start;
+ mes "Huh..? What brings you here? This is a Very dangerous place for a Novice like you. Please Go back quickly.";
+ emotion 0;
+ close;
+
+L_Start:
+ mes "Oh... Are you the young one who wishes to become an Acolyte...? I've already received the news of your comming from the Santuary.";
+ next;
+ mes "[Father Rubalkabara]";
+ mes "Let me just check my list of candidates here to make sure you are at the right place......";
+ next;
+ mes "[Father Rubalkabara]";
+ if(job_acolyte_q != 1) goto Goback;
+ mes "You're ^0000ff"+strcharinfo(0)+"^000000, right? Thank you for comming to vist me.";
+ next;
+ mes "[Father Rubalkabara]";
+ mes "I believe you have already been informed about Acolytes from Father Mareusis. So I won't bother to bore you with any futher lectures on the subject.";
+ next;
+ mes "[Father Rubalkabara]";
+ mes "Besides, I know your generation doesn't like to be lectured by old men like myself. Hahaha...";
+ emotion 18;
+ next;
+ mes "[Father Rubalkabara]";
+ mes "But you might have to learn to endure what your elders say, because God loves to teach his children. You will see.";
+ next;
+ mes "[Father Rubalkabara]";
+ mes "I will send a message to Father Mareusis stating that you visted me as proof of the completion of your Divine Quest.";
+ next;
+ mes "[Father Rubalkabara]";
+ mes "You may go back to Prontera now. Farewell and may God bless you.";
+ set job_acolyte_q,4;
+ close;
+
+ QuestOver:
+ mes "Your Divine Quest is has been completed. You may continue in your journey to serve God.";
+ close;
+
+ Goback:
+ mes "Hmmm... I do not think you name is on my list of candidates.";
+ emotion 20;
+ next;
+ mes "[Father Rubalkabara]";
+ mes "...... Why don't you go back to the Santuary and check again.";
+ close;
+}
+
+// -- Mother Marthilda --
+moc_fild07.gat,36,354,4 script Mother Marthilda 79,{
+ mes "[Mother Marthilda]";
+ if(BaseJob == Job_Acolyte || BaseJob==Job_Priest) callfunc "F_MotherMart";
+ if(BaseJob == Job_Novice) goto L_Novice;
+
+L_Other:
+ mes "Hello and welcome. I am Mother Marthilda. Are you a weary traveler or a mighty warrior?";
+ mes "Whoever you are please make sure to keep your faith in God.";
+ close;
+
+L_Novice:
+ if(job_acolyte_q == 5) goto QuestOver;
+ if(job_acolyte_q > 0) goto L_Start;
+ mes "My!! Aren't you a little far from your town? A novice like you could get hurt. Please be safe.";
+ emotion 0;
+ close;
+L_Start:
+ mes "Ah, You are one of the Acolyte Applicants. I sincerely welcome you.";
+ next;
+ mes "[Mother Marthilda]";
+ mes "Let me just check my list of candidates here to make sure you are at the right place......";
+ next;
+ if(job_acolyte_q != 2) goto Goback;
+ mes "[Mother Marthilda]";
+ mes ".... ^0000ff"+strcharinfo(0)+"^000000, Yes! I found you.";
+ next;
+ mes "[Mother Marthilda]";
+ mes "I will send a message to 'Father Mareusis' stating that you visted me as proof of the completion of your Divine Quest.";
+ next;
+ mes "[Mother Marthilda]";
+ mes "Thank you for visiting me. I am even more greatfull that you chose to follow your heart and devote your life to the divinity.";
+ mes "God is only as powerfull as our devotion to him. Remember that.";
+ next;
+ mes "[Mother Marthilda]";
+ mes "You may go back to Prontera now.";
+ mes "Be safe and may God bless.";
+ set job_acolyte_q,5;
+ close;
+
+ Goback:
+ mes "[Mother Marthilda]";
+ mes "Hmm....let's see....";
+ mes "..Well... I can't find your name on the List ....";
+ emotion 20;
+ next;
+ mes "[Mother Marthilda]";
+ mes "I recommend that you to return to the Santuary and Check again.";
+ close;
+
+ QuestOver:
+ mes "Your Divine Quest is has been completed. You may continue in your journey to serve God.";
+ close;
+}
+
+// -- Father Yosuke --
+prt_fild00.gat,208,218,6 script Father Yosuke 120,{
+ mes "[Father Yosuke]";
+ if(BaseJob == Job_Acolyte || BaseJob==Job_Priest) callfunc "F_FatherYos";
+ if(BaseJob == Job_Novice) goto L_Novice;
+
+L_Other:
+ mes "What brings you to this place. Try not to bother me ok.";
+ close;
+
+L_Novice:
+ if(job_acolyte_q == 6) goto QuestOver;
+ if(job_acolyte_q > 0) goto L_Start;
+ mes "You, Novice...wanna tell me something?";
+ mes "If not go back home.";
+ close;
+
+L_Start:
+ mes "Hey!! You there.";
+ next;
+ mes "[Father Yosuke]";
+ mes "You look like an Acolyte Applicant...am I right?";
+ next;
+ mes "[Father Yosuke]";
+ mes "Let me just check my list of candidates here to make sure you are at the right place......";
+ next;
+ if(job_acolyte_q != 3) goto Goback;
+ mes "[Father Yosuke]";
+ mes "Here we are, ^0000ff"+strcharinfo(0)+"^000000, correct? Not bad, Not bad. You withstood the long journey to get here pretty well.";
+ next;
+ mes "[Father Yosuke]";
+ mes "I will send a message to 'Father Mareusis' stating that you visted me as proof of the completion of your Divine Quest.";
+ next;
+ mes "[Father Yosuke]";
+ mes "Now go back to the Sanctuary and don't forget to carry God's teachings with you where ever you go!";
+ emotion 27;
+ set job_acolyte_q,6;
+ close;
+
+ Goback:
+ mes "[Father Yosuke]";
+ mes "Interesting.. I can't find your name on my list..";
+ emotion 20;
+ next;
+ mes "[Father Yosuke]";
+ mes "I think you've come here by mistake.";
+ mes "Go back to the Santuary and check with Father Mareusis.";
+ close;
+
+ QuestOver:
+ mes "What ? You Have more Business with me?";
+ emotion 1;
+ next;
+ mes "[Father Yosuke]";
+ mes "Your Divine Quest is complete. Go back to the Sanctuary Now!";
+ emotion 27;
+ close;
+}
+
diff --git a/npc/jobs/1-1/archer.txt b/npc/jobs/1-1/archer.txt new file mode 100644 index 000000000..399aa39cf --- /dev/null +++ b/npc/jobs/1-1/archer.txt @@ -0,0 +1,162 @@ +//===== eAthena Script =======================================
+//= Archer Job Quest
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= <Description>
+//===== 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]
+//============================================================
+
+
+// -- Archer Guildsman --
+payon_in02.gat,64,71,4 script Archer Guildsman 59,{
+ callfunc "F_ToHigh",27,"High Archer",35,"Sniper",147,148,0,0,"Archer Guildsman";
+ mes "[Archer Guildsman]";
+ if(BaseJob==Job_Novice && job_archer_q == 1) goto L_Check;
+ mes "Good Day. How may I help you?";
+ next;
+ menu "I would like to become an Archer.",M_0,"What are the Requirements?",M_1,"Never mind.",M_End;
+
+ M_0:
+ mes "[Archer Guildsman]";
+ callfunc "Arc_check";
+ mes "Looks good. You have the necesssary skills to become an archer....";
+ next;
+ mes "[Archer Guildsman]";
+ mes "but.... ";
+ next;
+ mes "[Archer Guildsman]";
+ mes "you must first pass a test in order to do so. I hope you didn't think becoming an archer was going to be that easy. Ha ha!";
+ next;
+ mes "[Archer Guildsman]";
+ mes "A well made bow is essential for a good archer, and high quality wood is in turn essential for a well made bow.";
+ mes "You will be tested on how well you are able to gather high quality wood.";
+ next;
+ mes "[Archer Guildsman]";
+ mes "The higher the quality of the wood you gather the higher your score.";
+ mes "You must recieve a score of ^ff0000at least 25^000000 in order to ^ff0000pass the test^000000.";
+ next;
+ mes "[Archer Guildsman]";
+ mes "You can find wood by battling ^0000ff'Willows'^000000, a type of tree monster found outside of town in Payon forest.";
+ mes "They drop the wood in the form of^0000ff 'Trunks'^000000.";
+ next;
+ mes "[Archer Guildsman]";
+ mes "There are a total of 4 different kind of trunks each with a different point value. Gather a variety of trunks and bring them back here for me to grade.";
+ next;
+ mes "[Archer Guildsman]";
+ mes "I must warn you, the Willows can be tough monsters so be carefull and remember to rest and use your healing items. Good luck!";
+ close;
+
+ M_1:
+ mes "[Archer Guildsman]";
+ if(BaseJob == Job_Archer) goto sM_1a;
+ if(BaseJob != Job_Novice) goto sM_1b;
+ mes "Let me explain the requirements for becoming an archer to you:";
+ next;
+ mes "[Archer Guildsman]";
+ mes "First of all, you have to have a job level of 9 and you must learn all of the skills that come with that job level.";
+ next;
+ mes "[Archer Guildsman]";
+ mes "Secondly, you will have to take a test that will determine whether or not you have the skills to become an archer.";
+ next;
+ mes "[Archer Guildsman]";
+ mes "Those are the requirements. Fullfill them and you will be able to live life as only an Archer can.";
+ close;
+
+ sM_1a:
+ mes "Have you already forgotten how you became an Archer?....";
+ emotion 1;
+ close;
+ sM_1b:
+ mes "Telling you the requirements won't help you become an Archer since you already have another job.";
+ close;
+
+ M_End:
+ mes "[Archer Guildsman]";
+ mes "Ok then, take care.";
+ close;
+
+L_Check:
+ mes "Oh, I see you've come back.";
+ next;
+ mes "[Archer Guildsman]";
+ if((countitem(1066) == 0) && (countitem(1067) == 0) && (countitem(1068) == 0) && (countitem(1019) == 0)) goto sL_NotRdy;
+ if(SkillPoint > 0) goto sL_SkPoints;
+ set @Trunk1, countitem(1066)*5;
+ set @Trunk2, countitem(1067)*3;
+ set @Trunk3, countitem(1068)*2;
+ set @Trunk4, countitem(1019);
+ set @TrunkTotal, @Trunk1 + @Trunk2 + @Trunk3 + @Trunk4;
+
+ mes "Lets see.....";
+ next;
+ mes "[Archer Guildsman]";
+ mes "You have:";
+ mes "^0000FF" +countitem(1066)+ "^000000 Fine grained trunks for ^ff0000" +@Trunk1+ "^000000 points,";
+ mes "^0000FF" +countitem(1067)+ "^000000 Solid trunks for ^ff0000" +@Trunk2+ "^000000 points,";
+ mes "^0000FF" +countitem(1068)+ "^000000 Barren trunks for ^ff0000" +@Trunk3+ "^000000 points,";
+ mes "^0000FF" +countitem(1019)+ "^000000 Trunks for ^ff0000" +@Trunk4+ "^000000 points.....";
+ next;
+ mes "[Archer Guildsman]";
+ mes "That gives you a total score of: ^ff0000" +@TrunkTotal+"^000000";
+ next;
+ mes "[Archer Guildsman]";
+ if(@TrunkTotal < 25) goto sL_Failed;
+
+ mes "Very good! You have passed the test. Congratulations, you are now fully qualified to become an archer.";
+ emotion 21;
+ next;
+ mes "[Archer Guildsman]";
+ mes "I will now transform you...";
+ next;
+ callfunc "Job_Change",Job_Archer;
+ callfunc "F_ClearJobVar"; // clears all job variables for the current player
+ mes "[Archer Guildsman]";
+ mes "In exchange for the trunks you brought in I will give you this Bow and some arrows. Please take them.";
+ next;
+ getitem 1702,1;//Items: Bow_,
+ getitem 1750,200;//Items: Arrow,
+ delitem 1066, countitem(1066);//Items: Fine-grained_Trunk,
+ delitem 1067, countitem(1067);//Items: Solid_Trunk,
+ delitem 1068, countitem(1068);//Items: Barren_Trunk,
+ delitem 1019, countitem(1019);//Items: Trunk,
+ mes "[Archer Guildsman]";
+ mes "An Archer knows no bounds so live your life to its fullest. I know you will make an exellent archer.";
+ next;
+ mes "[Archer Guildsman]";
+ mes "Farewell and good luck on your journey.";
+ close;
+
+ sL_NotRdy:
+ mes "What? You didn't bring any trunks back for me to grade? Let me explain the test requirements again just in case you forgot...";
+ emotion 1;
+ next;
+ mes "[Archer Guildsman]";
+ mes "There are a total of ^5555FF4 different kind of Trunks^000000 each with a different point value.";
+ mes "Gather a variety of Trunks and bring them back here for me to grade.";
+ next;
+ mes "[Archer Guildsman]";
+ mes "You can find Trunks by battling ^0000ff'Willows'^000000, a type of tree monster found outside of town in Payon forest.";
+ close;
+ sL_SkPoints:
+ mes "You need to use up all of your skill points before I can make you an Archer.";
+ close;
+ sL_Failed:
+ mes "I'm sorry but your score is too low. I'm afraid that you have failed the test.";
+ next;
+ mes "[Archer Guildsman]";
+ mes "Fortunatley for you I'm somewhat softhearted so I'll give you another chance. Go gather some more trunks and come back.";
+ next;
+ mes "[Archer Guildsman]";
+ mes "Hopefull they will be of a high enough quality for you to pass the test.";
+ close;
+
+}
diff --git a/npc/jobs/1-1/mage.txt b/npc/jobs/1-1/mage.txt new file mode 100644 index 000000000..7407ac4ae --- /dev/null +++ b/npc/jobs/1-1/mage.txt @@ -0,0 +1,469 @@ +//===== eAthena Script =======================================
+//= Mage Job Quest
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= <Description>
+//===== 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]
+//============================================================
+
+
+// -- Expert Mage --
+geffen_in.gat,164,124,4 script Expert Mage 123,{
+ callfunc "F_ToHigh",26,"High Mage",33,"High Wizard",157,0,0,0,"Expert Mage";
+ if(BaseJob==Job_Novice && job_magician_q >= 1) goto L_BeMage;
+
+ mes "[Expert Mage]";
+ mes "Hi hi! What can I help you with today?";
+M_Menu:
+ next;
+ menu "I'm in love with magic, make me a Mage!",M_0,"Tell me the Requirements.",M_1,"Nothing thanks.",M_End;
+
+ M_0:
+ mes "[Expert Mage]";
+ mes "You wanna be a Mage? Hmmm.....";
+ next;
+ mes "[Expert Mage]";
+ callfunc "Mag_check";
+ mes "The only thing left to do is to pass the official Geffen Mage Test. Let me give you the details of the test.";
+ next;
+ set job_magician_q, rand(1,4);
+
+ L_Explain:
+ mes "[Expert Mage]";
+ if(job_magician_q == 1) mes "Your test is to make ^0000ff'Mixed Solution No.1'^000000 and bring it back to me.";
+ if(job_magician_q == 2) mes "Your test is to make ^00aa00'Mixed Solution No.2'^000000 and bring it back to me.";
+ if(job_magician_q == 3) mes "Your test is to make ^ff0000'Mixed Solution No.3'^000000 and bring it back to me.";
+ if(job_magician_q == 4) mes "Your test is to make ^ffbb00'Mixed Solution No.4'^000000 and bring it back to me.";
+
+ next;
+ if(countitem(1092) == 0) getitem 1092,1;//Items: Empty_Test_Tube,
+ mes "[Expert Mage]";
+ mes "You can get the necessary ingredients in the ^5533FF'Guide Book'^000000 in this room.";
+ mes "Refer to it to get a list of the proper ingredients for the solution.";
+ next;
+ mes "[Expert Mage]";
+ mes "When you are ready to mix it, use the ^ff0000'Mixing Machine'^000000 in the center to mix the solution.";
+ next;
+ mes "[Expert Mage]";
+ mes "Good Luck! I'll be waiting.";
+ close;
+
+ M_1:
+ mes "[Expert Mage]";
+ mes "First of all, you have to reach Novice Level 9 and have learned all of the Basic Skills.";
+ mes "Secondly, you have to pass the Mage Test.";
+ goto M_Menu;
+ M_End:
+ mes "[Expert Mage]";
+ mes "Okays. Bye bye.";
+ close;
+
+L_BeMage:
+ mes "[Expert Mage]";
+ mes "Oh, you're back. Lets see....";
+ next;
+ mes "[Expert Mage]";
+ if(countitem(1090) >= 1) goto L_Retry;//Items: Unknown_Test_Tube,
+ if((countitem(1071)<1) && (countitem(1085)<1) && (countitem(1086)<1) && (countitem(1087)<1)) goto L_NoSol;//Items: Unknown_Test_Tube, Unknown_Test_Tube, Unknown_Test_Tube, Unknown_Test_Tube,
+
+ if(SkillPoint > 0) mes "You need to use up all of your skill points before I can make you a Mage.";
+ if(SkillPoint > 0) close;
+
+ mes ".....The color's not quit right.... there is a little to much percipitate..... hmmm......";
+ next;
+ mes "[Expert Mage]";
+ mes "Well it's not perfect but it seems you worked very hard on this so...... alright! I'll let you pass! You are now officialy qualified to become a mage!";
+ emotion 21;
+ next;
+ mes "[Expert Mage]";
+ mes "Abra-kadabra and hocus pocus, turn this young novice into a ^00aa00MAGE^000000!!";
+ next;
+ callfunc "Job_Change",Job_Mage;
+
+ set Zeny,Zeny+500;
+ if(job_magician_q == 1) delitem 1071,1;//Items: Unknown_Test_Tube,
+ if(job_magician_q == 2) delitem 1085,1;//Items: Unknown_Test_Tube,
+ if(job_magician_q == 3) delitem 1086,1;//Items: Unknown_Test_Tube,
+ if(job_magician_q == 4) delitem 1087,1;//Items: Unknown_Test_Tube,
+
+ callfunc "F_ClearJobVar"; // clears all job variables for the current player
+ mes "[Expert Mage]";
+ mes "'Welcome to My World~ teh hehe. I've always wanted to say that. Anyways, congratulations!. You're one of us now so let's be friends okays!";
+ emotion 18;
+ next;
+ mes "[Expert Mage]";
+ mes "Good luck to ya and take care!";
+ close;
+
+ L_Retry:
+ mes "I'm sorry but the solution you have is no good. I'm afraid that you didn't pass the test. You can try again though.";
+ mes "Let me exlpain the test for you once more okays.";
+ emotion 4;
+ next;
+ delitem 1090,1;//Items: Unknown_Test_Tube,
+ goto L_Explain;
+
+ L_NoSol:
+ mes "Where is the solution I asked for? I'm sorry but I can't check the solution when you don't have it. Let me remind you what solution you need.";
+ emotion 1;
+ next;
+ goto L_Explain;
+
+}
+
+// -- Solutions Guide Book --
+geffen_in.gat,177,112,1 script Solutions Guide Book 111,{
+ mes "[Solutions Guide Book]";
+ mes "I belong to Geffen Magic Academy. Please handle with care.";
+ next;
+ menu "Solution No. 1.",Sol1,"Solution No. 2.",Sol2,"Solution No. 3.",Sol3,"Solution No. 4.",Sol4,"Close.",Cancel;
+
+ Sol1:
+ mes "[Mage Test Solution No. 1]";
+ mes "* Ingredients list *";
+ mes " - Jellopy 2 ea";
+ mes " - Fluff 3 ea";
+ mes " - Milk 1 ea";
+ next;
+ mes "[Mage Test Solution No. 1]";
+ mes "* Solvent Agent *";
+ mes " Payon Solution";
+ mes " Where to find: A Small Spring in";
+ mes " Archer Village, Payon.";
+ next;
+ mes "[Mage Test Solution No. 1]";
+ mes "* Chemical ingredients *";
+ mes " - 8472";
+ next;
+ mes "[Mage Test Solution No. 1]";
+ mes "* A Catalyst *";
+ mes " - Yellow Gemstone";
+ mes " (Mixing Machine Will provide";
+ mes " this item.)";
+ close;
+ Sol2:
+ mes "[Mage Test Solution No. 2]";
+ mes "* Ingredients list *";
+ mes " - Jellopy 3 ea";
+ mes " - Fluff 1 ea";
+ mes " - Milk 1 ea";
+ next;
+ mes "[Mage Test Solution No. 2]";
+ mes "* Solvent Agent *";
+ mes " - Not Appliable.";
+ next;
+ mes "[Mage Test Solution No. 2]";
+ mes "* Chemical ingredients *";
+ mes " - 3735";
+ next;
+ mes "[Mage Test Solution No. 2]";
+ mes "* A Catalyst *";
+ mes " - Red Gemstone";
+ mes " (Mixing Machine Will provide";
+ mes " this item.)";
+ close;
+ Sol3:
+ mes "[Mage Test Solution No. 3]";
+ mes "* Ingredients list *";
+ mes " - Jellopy 6 ea";
+ mes " - Fluff 1 ea";
+ next;
+ mes "[Mage Test Solution No. 3]";
+ mes "* Solvent Agent *";
+ mes " Payon Solution";
+ mes " Where to find: A Small Spring in";
+ mes " Archer Village, Payon.";
+ next;
+ mes "[Mage Test Solution No. 3]";
+ mes "* Chemical ingredients *";
+ mes " - 2750";
+ next;
+ mes "[Mage Test Solution No. 3]";
+ mes "* A Catalyst *";
+ mes " - Blue Gemstone";
+ mes " (Mixing Machine Will provide";
+ mes " this item.)";
+ close;
+ Sol4:
+ mes "[Mage Test Solution No. 4]";
+ mes "* Ingredients list *";
+ mes " - Jellopy 2 ea";
+ mes " - Fluff 3 ea";
+ next;
+ mes "[Mage Test Solution No. 4]";
+ mes "* Solvent Agent *";
+ mes " Morroc Solution";
+ mes " Where to find: A Small Spring";
+ mes " Near the Enterance of Pyramid";
+ mes " in Morroc.";
+ next;
+ mes "[Mage Test Solution No. 4]";
+ mes "* Chemical ingredients *";
+ mes " - 5429";
+ next;
+ mes "[Mage Test Solution No. 4]";
+ mes "* A Catalyst *";
+ mes " - 1 carat Diamond";
+ mes " (Mixing Machine Will provide";
+ mes " this item.)";
+ close;
+ Cancel:
+ close;
+}
+
+// -- Mixing Machine --
+geffen_in.gat,164,112,1 script Mixing Machine 111,{
+ mes "[Mixing Machine]";
+ mes "This is the unique Mixing Machine designed only for making magic solutions. It is the property of the Geffen Magic Academy.";
+ next;
+ mes "[Mixing Machine]";
+ mes "Would you like to use this machine?";
+ next;
+ menu "Yes.",M_Start, "No.",M_End;
+
+ M_Start:
+ mes "[Mixing Machine]";
+ mes "Please specify the ingredients you will be using.";
+ next;
+ sM_Menu:
+ menu "Jellopy",sM_0, "Fluff",sM_1, "Milk",sM_2, "Move on to the next step.",sM_3;
+
+ sM_0:
+ input @JELLOPY;
+ if (@JELLOPY<0 || @JELLOPY>100) set @JELLOPY,0; //set 0 if wrong input
+ goto sM_Menu;
+ sM_1:
+ input @FLUFF;
+ if (@FLUFF<0 || @FLUFF>100) set @FLUFF,0; //set 0 if wrong input
+ goto sM_Menu;
+ sM_2:
+ input @MILK;
+ if (@MILK<0 || @MILK>100) set @MILK,0; //set 0 if wrong input
+ goto sM_Menu;
+ sM_3:
+ mes "[Mixing Machine]";
+ mes "Please specify a solvent.";
+ next;
+ menu "Payon Solvent.",ssM_0, "Morroc Solvent",ssM_1, "No Solvent.",ssM_2;
+
+ ssM_0:
+ set @SOLVENT, 1089;
+ set @SOLVENT$, "Payon";
+ goto L_Cont;
+ ssM_1:
+ set @SOLVENT, 1088;
+ set @SOLVENT$, "Morroc";
+ goto L_Cont;
+ ssM_2:
+ set @SOLVENT, 0;
+ set @SOLVENT$, "No";
+
+ L_Cont:
+ mes "[Mixing Machine]";
+ mes "Here is your current list of ingredients:";
+ mes "^4444FF"+@JELLOPY+"^000000 Jellopy,";
+ mes "^4444FF"+@FLUFF+"^000000 Fluff,";
+ mes "^4444FF"+@MILK+"^000000 Milk,";
+ mes "and ^4444FF"+@SOLVENT$+"^000000 Solvent.";
+ mes "Is this correct?";
+ next;
+ menu "Yes.",-, "No.",M_Start;
+
+ mes "[Mixing Machine]";
+ mes "Please put all of the items into the drum. Now enter the magic serial number.";
+ next;
+
+ L_Input:
+ input @INPUT;
+ mes "[Mixing Machine]";
+ mes "You have inputed the number ^5555FF"+@INPUT+". Is this correct?";
+ next;
+ menu "Yes.",-, "No.",L_Input;
+
+ mes "[Mixing Machine]";
+ mes "For the last item, choose a catalyst stone.";
+ next;
+ menu "Yellow Gemstone.",ssM_Yell, "Red Gemstone.",ssM_Red, "Blue Gemstone.",ssM_Blue, "1 Carat Diamond.",ssM_Diamd;
+
+ ssM_Yell:
+ if(countitem(909)<@JELLOPY || countitem(914)<@FLUFF || countitem(519)<@MILK) goto sL_NotEnuf;//Items: Jellopy, Fluff, Milk,
+ if(@SOLVENT$!=("No") && countitem(@SOLVENT)<1) goto sL_NotEnuf;
+ mes "[Mixing Machine]";
+ mes "All set. Initiating the mixing process. Please wait.";
+ next;
+ mes "[Mixing Machine]";
+ mes "~rumble~rumble~rumble~";
+ next;
+ mes "[Mixing Machine]";
+ if(job_magician_q != 1 || @INPUT != 8472 || @JELLOPY!=2 || @FLUFF!=3 || @MILK!=1 || @SOLVENT!=1089) goto sL_FAIL;
+ delitem 909,2;//Items: Jellopy,
+ delitem 914,3;//Items: Fluff,
+ delitem 519,1;//Items: Milk,
+ delitem 1089,1;//Items: Payon_Solution,
+ delitem 1092,1;//Items: Empty_Test_Tube,
+ mes "Mixing complete.";
+ getitem 1071,1;//Items: Unknown_Test_Tube,
+ close;
+
+ ssM_Red:
+ if(countitem(909)<@JELLOPY || countitem(914)<@FLUFF || countitem(519)<@MILK) goto sL_NotEnuf;//Items: Jellopy, Fluff, Milk,
+ mes "[Mixing Machine]";
+ mes "All set. Initiating the mixing process. Please wait.";
+ next;
+ mes "[Mixing Machine]";
+ mes "~rumble~rumble~rumble~";
+ next;
+ mes "[Mixing Machine]";
+ if(job_magician_q != 2 || @INPUT != 3735 || @JELLOPY!=3 || @FLUFF!=1 || @MILK!=1 || @SOLVENT!=0) goto sL_FAIL;
+ delitem 909,3;//Items: Jellopy,
+ delitem 914,1;//Items: Fluff,
+ delitem 519,1;//Items: Milk,
+ delitem 1092,1;//Items: Empty_Test_Tube,
+ mes "Mixing complete.";
+ getitem 1085,1;//Items: Unknown_Test_Tube,
+ close;
+
+ ssM_Blue:
+ if(countitem(909)<@JELLOPY || countitem(914)<@FLUFF) goto sL_NotEnuf;//Items: Jellopy, Fluff,
+ if(@SOLVENT$!=("No") && countitem(@SOLVENT)<1) goto sL_NotEnuf;
+ mes "[Mixing Machine]";
+ mes "All set. Initiating the mixing process. Please wait.";
+ next;
+ mes "[Mixing Machine]";
+ mes "~rumble~rumble~rumble~";
+ next;
+ mes "[Mixing Machine]";
+ if(job_magician_q != 3 || @INPUT != 2750 || @JELLOPY!=6 || @FLUFF!=1 || @MILK!=0 || @SOLVENT!=1089) goto sL_FAIL;
+ delitem 909,6;//Items: Jellopy,
+ delitem 914,1;//Items: Fluff,
+ delitem 1089,1;//Items: Payon_Solution,
+ delitem 1092,1;//Items: Empty_Test_Tube,
+ mes "Mixing complete.";
+ getitem 1086,1;//Items: Unknown_Test_Tube,
+ close;
+
+ ssM_Diamd:
+ if(countitem(909)<@JELLOPY || countitem(914)<@FLUFF) goto sL_NotEnuf;//Items: Jellopy, Fluff,
+ if(@SOLVENT$!=("No") && countitem(@SOLVENT)<1) goto sL_NotEnuf;
+ mes "[Mixing Machine]";
+ mes "All set. Initiating the mixing process. Please wait.";
+ next;
+ mes "[Mixing Machine]";
+ mes "~rumble~rumble~rumble~";
+ next;
+ mes "[Mixing Machine]";
+ if(job_magician_q != 4 || @INPUT != 5429 || @JELLOPY!=2 || @FLUFF!=3 || @MILK!=0 || @SOLVENT!=1088) goto sL_FAIL;
+ delitem 909,2;//Items: Jellopy,
+ delitem 914,3;//Items: Fluff,
+ delitem 1088,1;//Items: Morroc_Solution,
+ delitem 1092,1;//Items: Empty_Test_Tube,
+ mes "Mixing complete.";
+ getitem 1087,1;//Items: Unknown_Test_Tube,
+ close;
+
+ sL_FAIL:
+ delitem 909, @JELLOPY;//Items: Jellopy,
+ delitem 914, @FLUFF;//Items: Fluff,
+ delitem 519, @MILK;//Items: Milk,
+ delitem @SOLVENT,1;
+ mes "Mixing complete.";
+ getitem 1090,1;//Items: Unknown_Test_Tube,
+ close;
+
+ sL_NotEnuf:
+ mes "[Mixing Machine]";
+ mes "You do not have enough ingredients to mix into a solution.";
+ close;
+ M_End:
+ close;
+
+}
+
+
+// -- Morroc Solution --
+moc_ruins.gat,91,150,5 script Ponka-Hontas 93,{
+ mes "[Mage Guildsman]";
+ mes "You want the Solution? Then give me 50 Zeny and at least 1 Empty Testube.";
+ next;
+ menu "Allright, Deal",L0,"Nah, forget it.",L1;
+
+ L0:
+ if(countitem(1092)<1) goto L0NoT;//Items: Empty_Test_Tube,
+ if(Zeny<50) goto L0NoZ;
+ mes "[Mage Guildsman]";
+ mes "Ok, you have the money and a empty Testube, that's good!";
+ delitem 1092,1;//Items: Empty_Test_Tube,
+ set Zeny,Zeny-50;
+ next;
+ mes "[Mage Guildsman]";
+ getitem 1088,1;//Items: Morroc_Solution,
+ mes "Thank you, I think you will be a great mage, you are so generous.";
+ mes "I hope i'll see you soon again here";
+ emotion 21;
+ close;
+
+ L0NoT:
+ mes "[Mage Guildsman]";
+ mes "You can't Carry on Fluid without a bottle, are you sure you want to become a mage?";
+ mes "Bring an Empty Testube";
+ close;
+
+ L0NoZ:
+ mes "[Mage Guildsman]";
+ mes "Pfff, You are too poor to buy our noble Solution!";
+ mes "Bring 50 Zeny, go to the mercant sell something, it will not be too hard I hope";
+ close;
+ L1:
+ mes "[Mage Guildsman]";
+ close;
+}
+
+
+// -- Payon Solution --
+pay_arche.gat,122,100,5 script Dollshoi 88,{
+ mes "[Mage Guildsman]";
+ mes "You want the Solution? Then give me 50 Zeny and at least 1 Empty Testube.";
+ next;
+ menu "Allright, Deal",L0,"Nah, forget it.",L1;
+
+ L0:
+ if(countitem(1092)<1) goto L0NoT;//Items: Empty_Test_Tube,
+ if(Zeny<50) goto L0NoZ;
+ mes "[Mage Guildsman]";
+ mes "Ok, you have the money and a empty Testube, that's good!";
+ delitem 1092,1;//Items: Empty_Test_Tube,
+ set Zeny,Zeny-50;
+ next;
+ mes "[Mage Guildsman]";
+ getitem 1089,1;//Items: Payon_Solution,
+ mes "Thank you, I think you will be a great mage, you are so generous.";
+ mes "I hope i'll see you soon again here";
+ emotion 21;
+ close;
+
+ L0NoT:
+ mes "[Mage Guildsman]";
+ mes "You can't Carry on Fluid without a bottle, are you sure you want to become a mage?";
+ mes "Bring an Empty Testube";
+ close;
+
+ L0NoZ:
+ mes "[Mage Guildsman]";
+ mes "Pfff, You are too poor to buy our noble Solution!";
+ mes "Bring 50 Zeny, go to the mercant sell something, it will not be too hard I hope";
+ close;
+ L1:
+ mes "[Mage Guildsman]";
+ close;
+}
+
diff --git a/npc/jobs/1-1/merchant.txt b/npc/jobs/1-1/merchant.txt new file mode 100644 index 000000000..a38da60d9 --- /dev/null +++ b/npc/jobs/1-1/merchant.txt @@ -0,0 +1,940 @@ +//===== eAthena Script =======================================
+//= Merchant Job Quest
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.5
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= <Description>
+//===== 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]
+//============================================================
+
+
+// == Guild NPCs ==
+// -- Mahnsoo --
+alberta_in.gat,53,43,6 script Chief Mahnsoo 86,{
+ callfunc "F_ToHigh",29,"Merchant High",34,"White Smith",153,154,155,0,"Chief Mahnsoo";
+ mes "[Chief Mahnsoo]";
+ if(BaseJob==Job_Novice && job_merchant_q3 == 4) goto L_MakeMerc;
+ if(BaseJob==Job_Novice && job_merchant_q3 == 3) goto L_GiveRecpt;
+ if(BaseJob==Job_Novice && job_merchant_q3 == 5) goto L_Failed;
+ if(BaseJob==Job_Novice && job_merchant_q2 > 0) goto L_Back;
+
+ mes "What brings you here? Something on your mind?";
+M_Menu:
+ next;
+ menu "I want to be a Merchant.",M_0,"What exactly is a Merchant?",M_1,"Give me the Requirements.",M_2,"End.",M_End;
+
+ M_0:
+ callfunc "Mer_check";
+ next;
+ menu "Sure why not. Who needs college anyways.",sM_0a,"Maybe, later...",sM_0b;
+
+ sM_0a:
+ mes "[Chief Mahnsoo]";
+ mes "I'm glad to hear that. So how do you wish to pay the Membership Fee?";
+ sM_Menu:
+ next;
+ menu "Pay 1000 Zeny Now.",m_0a,"2 payments of 500 Zeny.",m_0b,"Nevermind.",m_0End;
+
+ m_0a:
+ mes "[Chief Mahnsoo]";
+ if(Zeny < 1000) goto sl_Short1k;
+ set Zeny,Zeny-1000;
+ set job_merchant_q,1;
+ mes "Let's see... 1000 Zeny.... Good.";
+ goto L_Cont0;
+
+ sl_Short1k:
+ mes "Looks like your a little short on zeny. Why not make a minimal payment of 500 Zeny first?";
+ mes "You can worry about the rest later.";
+ emotion 4;
+ goto sM_Menu;
+ close;
+
+ m_0b:
+ mes "[Chief Mahnsoo]";
+ if(Zeny < 500) goto sl_Short500z;
+ set Zeny,Zeny-500;
+ set job_merchant_q,2;
+ mes "Let's See... 500 Zeny.... Good enough to start off... though I don't really think splitting paymenst is a good habbit for any Merchant.";
+ goto L_Cont0;
+
+ sl_Short500z:
+ mes "Looks like your a little short on zeny. Come back when you have enough.";
+ emotion 4;
+ close;
+
+ m_0End:
+ mes "[Chief Mahnsoo]";
+ mes "You have no money now? Ok, No Problem. Take your time, Ok?";
+ close;
+
+ sM_0b:
+ mes "[Chief Mahnsoo]";
+ mes "Feel free to return anytime when you are ready, Alright?.";
+ close;
+
+
+ L_Cont0:
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "Now that that's settled, let me talk to you about the Merchant License Test. You will be given a task to fullfill.";
+ mes "How well you perform the task will determine whether or not you will become a merchant.";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "Oh, but before we get started I must say 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 sincerely hope you will not turn out to be like them. You won't... will you??..... (stares at you intently)";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "Anywho, here is your task. You will need to....";
+ next;
+ mes "[Chief Mahnsoo]";
+
+ set @TEMP,rand(4);
+ if(@TEMP ==1) goto R_1;
+ if(@TEMP ==2) goto R_2;
+ if(@TEMP ==3) goto R_3;
+
+ R_0:
+ mes "retrieve a ^ff0000product^000000 from the ^0000ffWharehouse^000000 and deliver it to the ^00aa00Kafra Worker in the Former Swordman Association in Prontera^000000.";
+ if(job_merchant_q2 == 1) goto sR_0a;
+ if(job_merchant_q2 == 2) goto sR_0b;
+ set @TEMP,rand(2);
+ if(@TEMP !=0) goto sR_0b;
+
+ sR_0a:
+ mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00002485741^000000.";
+ set job_merchant_q2, 1;
+ next;
+ goto L_Cont1;
+ sR_0b:
+ mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00002328137^000000.";
+ set job_merchant_q2, 2;
+ next;
+ goto L_Cont1;
+
+ R_1:
+ mes "retrieve a ^ff0000product^000000 from the ^0000ffWharehouse^000000 and deliver it to a member of the ^00aa00Mage Guild in Geffen^000000.";
+ next;
+ mes "[Chief Mahnsoo]";
+ if(job_merchant_q2 == 3) goto sR_1a;
+ if(job_merchant_q2 == 4) goto sR_1b;
+ set @TEMP,rand(2);
+ if(@TEMP !=0) goto sR_1b;
+
+ sR_1a:
+ mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00002989396^000000.";
+ set job_merchant_q2, 3;
+ next;
+ goto L_Cont1;
+ sR_1b:
+ mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00002191737^000000.";
+ set job_merchant_q2, 4;
+ next;
+ goto L_Cont1;
+
+ R_2:
+ mes "retrieve a ^ff0000product^000000 from the ^0000ffWharehouse^000000 and deliver it to ^00aa00Java Dullihan, the Dyermaker in Morroc^000000.";
+ next;
+ mes "[Chief Mahnsoo]";
+ if(job_merchant_q2 == 5) goto sR_2a;
+ if(job_merchant_q2 == 6) goto sR_2b;
+ set @TEMP,rand(2);
+ if(@TEMP !=0) goto sR_2b;
+
+ sR_2a:
+ mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00003012685^000000.";
+ set job_merchant_q2,5;
+ next;
+ goto L_Cont1;
+ sR_2b:
+ mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00003487372^000000.";
+ set job_merchant_q2,6;
+ next;
+ goto L_Cont1;
+
+ R_3:
+ mes "retrieve a ^ff0000product^000000 from the ^0000ffWharehouse^000000 and deliver it to the ^00aa00Kafra worker in Byalan island^000000.";
+ next;
+ mes "[Chief Mahnsoo]";
+ if(job_merchant_q2 == 7) goto sR_3a;
+ if(job_merchant_q2 == 8) goto sR_3b;
+ set @TEMP,rand(2);
+ if(@TEMP !=0) goto sR_3b;
+
+ sR_3a:
+
+ mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00003318702^000000.";
+ set job_merchant_q2,7;
+ goto M00R3;
+ sR_3b:
+ mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00003543625^000000.";
+ set job_merchant_q2,8;
+ goto M00R3;
+
+ M00R3:
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "Umm and... this is my personal request. Include this message in your delivery please~";
+ if(countitem(1072)==0) getitem 1072,1;//Items: Delivery_Message,
+ next;
+ goto L_Cont1;
+
+
+ L_Cont1:
+ mes "[Chief Mahnsoo]";
+ mes "Keep track of the ^ff0000'Serial Number'^000000 and the ^ff0000'Destination'^000000 of the product.";
+ mes "The Wharehouse Manager will need them to assist you in getting the right product.";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "The Wharehouse itself is located to my right.";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "After you've finished making the delivery come back here and give the Receipt to the Wharehouse Manager. Then come see me. Is that clear?";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "Alright, good luck!";
+ close;
+
+ M_1:
+ mes "[Chief Mahnsoo]";
+ mes "Merchants are people who are in the business of buying and selling goods. We focus on finding rare items and selling them to those who desire or need them.";
+ mes "We are not particularly good at fighting nor do we have any usefull support skills. What we Merchants can do is buy Goods at lower prices as well as sell them at Highter prices.";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "As far as what weapons go, we can use most of them. Bows, Rods, and Two-Handed Swords are the only types of weapons we can't use.";
+ mes "The skill Mannomite even lets us use zeny as a weapon.";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "Whatever people may say about us, making money is important to a merchants lively hood.";
+ goto M_Menu;
+ close;
+
+ M_2:
+ mes "[Chief Mahnsoo]";
+ mes "There are three conditions to be qualified if you want to be a Merchant.";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "First of all, You have to be at Novice job level 9 with fulfilled Basic Skills.";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "Secondly, You have to pay 1000 Zeny for acquire a Memebrship. I believe a Merchant Candidate will be able to earn 1000 Zeny at ease. Oh yeah~";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "Third, There is a License Test to examine your basic Physical Strength and a Sense of Direction. You must Deliever the Goods to the Specific person in the Specific Town.";
+ goto M_Menu;
+ close;
+
+ M_End:
+ close;
+
+L_GiveRecpt:
+ mes "Ah, " + strcharinfo(0) + ". You're back! I take it things went well? Tell you what, go give the Receipt to the Storekeeper and then hurry back here ok.";
+ close;
+
+L_Back:
+ mes "What are you doing back here?";
+ emotion 1;
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "You didn't leave yet?";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "You are supposed to be on your way by now. Don't tell me you already forgot the product number and destination?";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "Alright numskull, do you want me to repeat it to you one more time?";
+ next;
+ menu "Yes please", M_Yes,"Never mind.",M_No;
+
+ M_Yes:
+ mes "[Chief Mahnsoo]";
+ if((job_merchant_q2==1) || (job_merchant_q2==2)) goto R_0;
+ if((job_merchant_q2==3) || (job_merchant_q2==4)) goto R_1;
+ if((job_merchant_q2==5) || (job_merchant_q2==6)) goto R_2;
+ if((job_merchant_q2==7) || (job_merchant_q2==8)) goto R_3;
+ close;
+
+ M_No:
+ close;
+
+L_MakeMerc:
+ if(Sex == 1) mes "Mr. ^0000cc" + strcharinfo(0) + "^000000.....";
+ if(Sex == 0) mes "Ms. ^0000cc" + strcharinfo(0) + "^000000.......";
+ next;
+ mes "[Chief Mahnsoo]";
+ if(SkillPoint > 0) mes "You need to use up all of your skill points before I can make you a Merchant.";
+ if(SkillPoint > 0) close;
+
+ mes "WELL DONE! Well done indeed!! I just read Wharehouse Manager Kays' evaluation of your performance, and I was very impressed. I have great news for you!";
+ next;
+ if(job_merchant_q == 2) goto L_MemFee;
+
+ mes "[Chief Mahnsoo]";
+ mes "Because of your HARD work, The Merchant Guild as decided to ACCEPT YOU as one of its members!";
+ next;
+ callfunc "Job_Change",Job_Merchant;
+ callfunc "F_ClearJobVar"; // clears all job variables for the current player
+
+ mes "[Chief Mahnsoo]";
+ mes "Congratulations! You are now one of us, A PROUD MERCHANT!!";
+ emotion 21;
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "I am very pleased that you decided to join the Merchant Guild and I hope you will play an active role in Rune Midgards' economy! The best of luck to you!!";
+ if((job_merchant_q2==7) || (job_merchant_q2==8)) goto L_Favor;
+ close;
+
+ L_Favor:
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "(Oh, here is a little something for Delivering the Message for me. Thanks very much)";
+ set Zeny,Zeny+100;
+ close;
+
+ L_MemFee:
+ mes "[Chief Mahnsoo]";
+ mes "Um... before I go on... there was the little issue of the Membership Fee if you recall. I will need the rest of it before I can proceed with your initiation.";
+ emotion 20;
+ next;
+ menu "Pay the remaining 500 Zeny",sM_1a,"...(run away!)...",sM_1b;
+
+ sM_1a:
+ if(Zeny < 500) goto sL_NotEnough;
+ set Zeny,Zeny-500;
+ set job_merchant_q,1;
+
+ mes "[Chief Mahnsoo]";
+ mes "Very good! Now I can go on. Now where was I?..... oh yes, I remember.....";
+ goto L_MakeMerc;
+
+ sL_NotEnough:
+ mes "[Chief Mahnsoo]";
+ mes "Eh em.... you seem to be a little short. Now that you've come this far, don't let a little fee impede your progress. Go forth and do something about it!";
+ emotion 4;
+ close;
+
+ sM_1b:
+ mes "[Chief Mahnsoo]";
+ mes "WHAT THE??? Hey come back here! YOU STILL HAVE TO PAY THE FEE!!!!!";
+ emotion 19;
+ close;
+
+L_Failed:
+ set job_merchant_q2,0;
+ set job_merchant_q3,0;
+
+ mes "I just finished reading Wharehouse Manager Kays' evalutation of your work......";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "What a shame, what a shame! HOW could you be so CARLESS??!! I'm sure Wharehouse Manager Kay has already given you an earfull so I will not go on with anymore critizism.";
+ emotion 32;
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "^ff0000"+strcharinfo(0) + "^000000, you have failed in the Merchant License Test! However...... if you are TRUELY interested in becoming a Merchant, and will work EXTREMELY HARD to do so....";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "... I will allow you to retake the test. What do you say?";
+ next;
+ menu "Thank you very much for this opportunity!",M_Thanks,"Maybe some other time",M_NoThanks;
+
+ M_Thanks:
+ set job_merchant_q2,0;
+ set job_merchant_q3,0;
+ goto L_Cont0;
+
+ M_NoThanks:
+ mes "[Chief Mahnsoo]";
+ mes "Remeber these words: In life, failure is NOT an option!!!";
+ emotion 0;
+ set job_merchant_q,0;
+ set job_merchant_q2,0;
+ set job_merchant_q3,0;
+ close;
+
+}
+
+
+// -- Wharehouse Manager Kay --
+alberta_in.gat,28,29,2 script Merchant Guildsman 83,{
+ if(BaseJob==Job_Novice && job_merchant_q3 > 0) goto L_Check;
+
+ mes "[Wharehouse Manager Kay]";
+ mes "Hey~ What brings you here?";
+ next;
+ menu "I came here for the Merchant Test.",M_0,"I came here for a Part Time job.",M_1,"Nope,Nothing.",M_End;
+
+ M_0:
+ mes "[Wharehouse Manager Kay]";
+ if(BaseJob!=0) goto L_NotNov;
+ if(job_merchant_q==0) goto L_NotRdy;
+ mes "You're ^0000cc"+ strcharinfo(0) +"^000000, right? Ok I'll give you a product to deliver. First I'll need the destination";
+ next;
+ menu "Prontera.",sM_0,"Geffen.",sM_1,"Morroc.",sM_2,"Byalan Island(Izlude).",sM_3;
+
+ sM_0:
+ set @s_flag,1;
+ goto L_Cont0;
+ sM_1:
+ set @s_flag,2;
+ goto L_Cont0;
+ sM_2:
+ set @s_flag,3;
+ goto L_Cont0;
+ sM_3:
+ set @s_flag,4;
+
+ L_Cont0:
+ mes "[Wharehouse Manager Kay]";
+ mes "Now, I'll need the Serial Number of the product. Just type it in the box. If you want to Cancel, just type '0' in the box, alright?";
+ next;
+ input @input;
+ if(@input ==0 ) goto sL_Cancel;
+ if((@input < 1000000) || (@input > 5000000)) goto sL_Error;
+
+ mes "[Wharehouse Manager Kay]";
+ if(@s_flag==1) mes "Destination is Prontera. The Serial Number is "+@input+" . ^ff0000Is this correct^000000?";
+ if(@s_flag==2) mes "Destination is Geffen. Phew~ Really far from here~ A little unlucky there huh? The Serial Number is "+@input+" . ^ff0000Is this correct^000000?";
+ if(@s_flag==3) mes "Destination is Morroc. Phew~ Really far from here~ A little unlucky there huh? The Serial Number is "+@input+" . ^ff0000Is this correct^000000?";
+ if(@s_flag==4) mes "Destination is Byalan. The Serial Number is "+@input+" . ^ff0000Is this correct^000000?";
+ next;
+ menu "Positive.",sM_Pos,"Negative.",sM_Neg;
+
+ sM_Pos:
+ if(@s_flag==1 && @input==2485741 && job_merchant_q2 == 1) goto ssL_Prod1;
+ if(@s_flag==2 && @input==2989396 && job_merchant_q2 == 3) goto ssL_Prod1;
+ if(@s_flag==3 && @input==3012685 && job_merchant_q2 == 5) goto ssL_Prod1;
+ if(@s_flag==4 && @input==3318702 && job_merchant_q2 == 7) goto ssL_Prod1;
+ if(@s_flag==1 && @input==2328137 && job_merchant_q2 == 2) goto ssL_Prod2;
+ if(@s_flag==2 && @input==2191737 && job_merchant_q2 == 4) goto ssL_Prod2;
+ if(@s_flag==3 && @input==3487372 && job_merchant_q2 == 6) goto ssL_Prod2;
+ if(@s_flag==4 && @input==3543625 && job_merchant_q2 == 8) goto ssL_Prod2;
+ getitem 1083,1;//Items: Delivery_Box__,
+ goto L_Cont1;
+
+ ssL_Prod1:
+ getitem 1081,1;//Items: Delivery_Box,
+ goto L_Cont1;
+
+ ssL_Prod2:
+ getitem 1082,1;//Items: Delivery_Box_,
+ goto L_Cont1;
+
+ sM_Neg:
+ close;
+
+ sL_Cancel:
+ mes "[Wharehouse Manager Kay]";
+ mes "Are you sure that you wanna cancel?";
+ next;
+ menu "Oh yes.",m_yes,"No way.",m_no;
+
+ m_yes:
+ mes "[Wharehouse Manager Kay]";
+ mes "Do as you wish~I cancel~";
+ close;
+ m_no:
+ next;
+ goto L_Cont0;
+
+ sL_Error:
+ mes "[Wharehouse Manager Kay]";
+ mes "Hey~ Hey~ That number is out of the valid Serial number range. A valid Serial number should be betwwen 1000000 and 5000000.";
+ next;
+ goto L_Cont0;
+
+
+ L_Cont1:
+ mes "[Wharehouse Manager Kay]";
+ mes "Be very carefull with this product and make sure you do not loose it. It cannot be replaced. If you do loose it you will not be able to become a Merchant.";
+ next;
+ mes "[Wharehouse Manager Kay]";
+ mes "After you've made the delivery be sure to get a Receipt. Good luck!";
+ set job_merchant_q3, 1;
+ close;
+
+ L_NotRdy:
+ mes "Speak with the chief about that";
+ close;
+
+ L_NotNov:
+ mes "I'm sorry but only novices are allowed to take the Merchant License Test.";
+ close;
+
+ M_1:
+ mes "[Wharehouse Manager Kay]";
+ mes "Part Time job? Nothing is available right now. We're currently in a budget crisis and can't afford to hire any new employees.";
+ close;
+ M_End:
+ mes "[Wharehouse Manager Kay]";
+ mes "...? Huh..? Huh..? What..?";
+ close;
+
+L_Check:
+ if( job_merchant_q3 == 4) goto L_Done;
+ mes "[Wharehouse Manager Kay]";
+ if(job_merchant_q3 == 1) goto L_Back;
+ if(job_merchant_q3 == 5) goto L_Failed;
+ if((job_merchant_q3 == 2) && (countitem(1083) ==1)) goto L_WrongProd;//Items: Delivery_Box__,
+
+ mes "I see your back ^0000cc"+ strcharinfo(0) +"^000000. I hope things went well. Lets see.... you were supposed to deliver a product to a....";
+ next;
+ mes "[Wharehouse Manager Kay]";
+ if((countitem(1073) == 1) || (countitem(1074) == 1)) goto L_0;//Items: Voucher, Voucher_,
+ if((countitem(1075) == 1) || (countitem(1076) == 1)) goto L_1;//Items: Voucher__, Voucher___,
+ if((countitem(1077) == 1) || (countitem(1078) == 1)) goto L_2;//Items: Voucher____, Voucher_____,
+ if((countitem(1079) == 1) || (countitem(1080) == 1)) goto L_3;//Items: Voucher______, Voucher_______,
+ goto L_LostRecpt;
+
+ L_0:
+ mes "...Kafra employee in Prontera. And indeed the receipt veryifies that the delivery was successfully made.";
+ if(countitem(1073) == 1) delitem 1073,1;//Items: Voucher,
+ if(countitem(1074) == 1) delitem 1074,1;//Items: Voucher_,
+ next;
+ goto L_Done;
+
+ L_1:
+ mes "...member of the Geffen Magic Academy. And indeed the receipt veryifies that the delivery was successfully made";
+ if(countitem(1075) == 1) delitem 1075,1;//Items: Voucher__,
+ if(countitem(1076) == 1) delitem 1076,1;//Items: Voucher___,
+ next;
+ goto L_Done;
+
+ L_2:
+ mes "...Dyermaker in Morroc. And indeed the receipt veryifies that the delivery was successfully made.";
+ if(countitem(1077) == 1) delitem 1077,1;//Items: Voucher____,
+ if(countitem(1078) == 1) delitem 1078,1;//Items: Voucher_____,
+ next;
+ goto L_Done;
+
+ L_3:
+ mes "...Kafra employee in Byalan. And indeed the receipt veryifies that the delivery was successfully made.";
+ if(countitem(1079) == 1) delitem 1079,1;//Items: Voucher______,
+ if(countitem(1080) == 1) delitem 1080,1;//Items: Voucher_______,
+ next;
+
+ L_Done:
+ mes "[Wharehouse Manager Kay]";
+ mes "Great! Everything went perfectly! I will send my evaluation of your performance to 'Chief Mahnsoo' imiediately.";
+ mes "Go ahead and speak with Chief Mahnsoo so that he can finalize the process to make you a Merchant.";
+ emotion 21;
+ set job_merchant_q3,4;
+ close;
+ L_LostRecpt:
+ mes "Lets see here...... you say you delivered the correct Product to the correct person...... but you have no reciept.....";
+ next;
+ mes "[Wharehouse Manager Kay]";
+ mes "YOU HAVE NO RECIEPT?????";
+ emotion 23;
+ next;
+ mes "[Wharehouse Manager Kay]";
+ mes "HOW the HECK am I gonna know that you delievered it then? This was an ABSOLUTE FAILURE!!";
+ mes "Your evaluation is not going to look good. I suggest you find some good excuses by the time you speak with Chief Mahnsoo.";
+ emotion 32;
+ set job_merchant_q3,5;
+ close;
+ L_WrongProd:
+ mes "You delivered the WRONG PRODUCT??? DO YOU know how much TIME you've WASTED???? UCK! This was a total failure!";
+ emotion 6;
+ next;
+ mes "[Wharehouse Manager Kay]";
+ mes "Your evaluation is not going to look good. I suggest you find some good excuses when you go to speak with Chief Mahnsoo.";
+ delitem 1083, 1;//Items: Delivery_Box__,
+ set job_merchant_q3,5;
+ close;
+ L_Failed:
+ mes "Go speak to the Chief about your failure........";
+ close;
+
+L_Back:
+ if((countitem(1081) != 1) && (countitem(1082) != 1) && (countitem(1083) != 1)) goto L_LostProd;//Items: Delivery_Box, Delivery_Box_, Delivery_Box__,
+ mes "Huh? Back so soon? Don't tell me you ran into problems already....";
+ emotion 20;
+ next;
+ menu "Please Exchange the Product.",M_Exch,"Nope, never mind.",M_Nvmnd;
+
+ M_Exch:
+ mes "[Wharehouse Manager Kay]";
+ mes "Sigh... this is not a good way to start your test you know. Make sure you get the RIGHT Product this time! ";
+ emotion 32;
+ if(countitem(1081) ==1) delitem 1081,1;//Items: Delivery_Box,
+ if(countitem(1082) ==1) delitem 1082,1;//Items: Delivery_Box_,
+ if(countitem(1083) ==1) delitem 1083,1;//Items: Delivery_Box__,
+ set job_merchant_q3,0;
+ next;
+ goto M_0;
+
+ M_Nvmnd:
+ close;
+
+ L_LostProd:
+ mes "Huh? Oh~ How was the Trip?";
+ next;
+ mes "[Wharehouse Manager Kay]";
+ mes "WHAT???";
+ emotion 1;
+ next;
+ mes "[Wharehouse Manager Kay]";
+ mes "Holy crap!! YOU LOST the product??!! What have you done, you moron!!!";
+ emotion 23;
+ next;
+ mes "[Wharehouse Manager Kay]";
+ mes "Your evaluation is not going to look good. I suggest you find some good excuses when you go to speak with Chief Mahnsoo.";
+ emotion 7;
+ set job_merchant_q3,5;
+ close;
+
+}
+
+
+
+// == Customers ==
+// -- Kafra(Byalan) --
+function script F_MercKafra {
+
+ if (job_merchant_q3 == 3) goto L_3;
+
+ mes "[Kafra]";
+ if(job_merchant_q3 ==2) goto L_WrongProd;
+ mes "A delivery from the Merchant Guild?? Oh, Right! Yes! I almost forgot.";
+ next;
+ mes "[Kafra]";
+ mes "Let's see, the serial number for the product should be.......";
+ next;
+ mes "[Kafra]";
+ if((countitem(1081) ==0) && (countitem(1082) ==0) && (countitem(1083) ==0)) goto L_NoProd;//Items: Delivery_Box, Delivery_Box_, Delivery_Box__,
+ if((job_merchant_q2 !=7) && (job_merchant_q2 !=8)) goto L_WrongDest;
+ if(countitem(1083) == 1) goto L_WrongProd;//Items: Delivery_Box__,
+
+ mes "Oh, here it is. Yes! This is the one we ordered. Thank you very much. Here is your receipt.";
+ next;
+
+ set job_merchant_q3, 3;
+ if(countitem(1081) == 1) goto L_0;//Items: Delivery_Box,
+ if(countitem(1082) == 1) goto L_1;//Items: Delivery_Box_,
+
+ L_0:
+ getitem 1079,1;//Items: Voucher______,
+ delitem 1081,1;//Items: Delivery_Box,
+ goto L_3;
+
+ L_1:
+ getitem 1080,1;//Items: Voucher_______,
+ delitem 1082,1;//Items: Delivery_Box_,
+ goto L_3;
+
+ L_3:
+ if(countitem(1072) == 1) goto L_Msg;//Items: Delivery_Message,
+ mes "[Kafra]";
+ mes "Thanks so much for comming all this way to deliver the product to me. Take care now. By bye.";
+ emotion 15;
+ cutin "kafra_03",255;
+ close;
+
+ L_Msg:
+ mes "[Kafra]";
+ mes "Oh,My good Lord! Mr. Mansoo wrote me a Letter? Thank you, Thank you~";
+ mes "I though he would send one, one of these days, but I've never expected it would be at a time like this.....";
+ emotion 1;
+ next;
+ mes "[Kafra]";
+ mes "I really appreciate what you've done for me. Here is a small gift to show you my thanks.";
+ emotion 15;
+ delitem 1072,1;//Items: Delivery_Message,
+ set @TEMP,rand(2);
+ if(@TEMP !=0) goto R1;
+
+ R0:
+
+ getitem 513,3;//Items: Banana,
+ cutin "kafra_03",255;
+ close;
+ R1:
+ getitem 512,3;//Items: Apple,
+ cutin "kafra_03",255;
+ close;
+
+L_NoProd:
+ mes ".... I thought we what we ordered was OVERSIZED and HEAVY.... but.... you seem to carry it on without any difficulty.........";
+ emotion 1;
+ cutin "kafra_03",255;
+ close;
+
+L_WrongProd:
+ mes "......? Excuse me! I think you gave me the wrong item. Our order should have the serial number 3318702 or 3543625...";
+ emotion 4;
+ set job_merchant_q3,2;
+ cutin "kafra_03",255;
+ close;
+
+L_WrongDest:
+ mes "......? Excuse me.... I think you have the wrong person.... our order should have the serial number 3318702 or 3543625...";
+ emotion 4;
+ cutin "kafra_03",255;
+ close;
+}
+
+// -- Kafra(Prontera) --
+prontera.gat,248,42,8 script Kafra 115,{
+ cutin "kafra_03",2;
+ if(BaseJob==Job_Novice && job_merchant_q3>0) goto L_Start;
+L_Other:
+ mes "[Kafra]";
+ mes "Hello. I am a Kafra Service Agent. As you can see, the ^3355FFSwordsman Association^000000 has moved to Izlude.";
+ mes "I can warp you there for a small fee of 600 zeny however.";
+ next;
+ menu "Warp.",M_Warp, "Cancel.",M_End;
+
+ M_Warp:
+ if(Zeny < 600) goto sL_NdZeny;
+ set Zeny, Zeny - 600;
+ set RESRVPTS, RESRVPTS + 37;
+ warp "izlude.gat",91,105;
+ cutin "kafra_03",255;
+ end;
+
+ sL_NdZeny:
+ mes "[Kafra]";
+ mes "I'm sorry but you do not have enough zeny.";
+ cutin "kafra_03",255;
+ close;
+
+ M_Pass:
+ if(countitem(1084)<1) goto sL_NdPass;//Items: Kafra_Pass,
+ mes "[Kafra]";
+ mes "You are now using a Kafra Pass.";
+ delitem 1084,1;//Items: Kafra_Pass,
+ cutin "kafra_03",255;
+ close;
+
+ sL_NdPass:
+ mes "[Kafra]";
+ mes "I'm sorry but you have no pass....";
+ cutin "kafra_03",255;
+ close;
+ M_End:
+ mes "[Kafra]";
+ mes "Thank you for using Kafra Corp. Services. We will be with you wherever you go.";
+ emotion 15;
+ cutin "kafra_03",255;
+ close;
+
+
+L_Start:
+ if(job_merchant_q3 ==3) goto L_3;
+ mes "[Kafra]";
+ if(job_merchant_q3 ==2) goto L_WrongProd;
+
+ mes "Oh, you're from the Merchant Guild and you have a delivery for me?";
+ mes "I really appreciate you comming all this way..........";
+ next;
+ mes "[Kafra]";
+
+ if((countitem(1081) ==0) && (countitem(1082) ==0) && (countitem(1083) ==0)) goto L_NoProd;//Items: Delivery_Box, Delivery_Box_, Delivery_Box__,
+ if((job_merchant_q2 !=1) && (job_merchant_q2 !=2)) goto L_WrongDest;
+ if(countitem(1083) == 1) goto L_WrongProd;//Items: Delivery_Box__,
+
+ mes "Yes! This is the Product we ordered. Thank you. Here, let me give you a Receipt.";
+ next;
+
+ set job_merchant_q3,3;
+ if(countitem(1081) == 1) goto L_0;//Items: Delivery_Box,
+ if(countitem(1082) == 1) goto L_1;//Items: Delivery_Box_,
+
+ L_0:
+ getitem 1073,1;//Items: Voucher,
+ delitem 1081,1;//Items: Delivery_Box,
+ goto L_3;
+
+ L_1:
+ getitem 1074,1;//Items: Voucher_,
+ delitem 1082,1;//Items: Delivery_Box_,
+ goto L_3;
+
+ L_3:
+ mes "[Kafra]";
+ mes "Thank you again for the delivery.";
+ emotion 15;
+ cutin "kafra_03",255;
+ close;
+
+L_NoProd:
+ mes "Umm......... excuse me... but where is the Product your supposed to give me....?";
+ emotion 20;
+ cutin "kafra_03",255;
+ close;
+
+L_WrongProd:
+ mes "Oh, Dear... this isn't what I ordered. It should have a serial number of either ^ff00002485741 or 2328137^000000.";
+ mes "It looks like there was a mix up at the wharehouse and you got the wrong product. I'd appreciate it if you could sort this out.";
+ emotion 4;
+ set job_merchant_q3,2;
+ cutin "kafra_03",255;
+ close;
+
+L_WrongDest:
+ mes "Oh, Dear... this isn't what I ordered. You see here, it's addressed to someone else. It looks like this Product is supposed to go to someone else.";
+ emotion 4;
+ cutin "kafra_03",255;
+ close;
+}
+
+
+// == Other Npcs ==
+// -- Guild Staff --
+geffen_in.gat,155,122,4 script Guild Staff 47,{
+
+ if(BaseJob==Job_Novice && job_merchant_q3>0) goto L_Start;
+L_Other:
+ mes "[Guild Staff]";
+ mes "It should be arriving any time now...... it seems to be late.... Hmm...";
+ close;
+
+L_Start:
+ if(job_merchant_q3 ==3) goto L_3;
+ mes "[Guild Staff]";
+ if(job_merchant_q3 ==2) goto L_WrongProd;
+
+ mes "Oh hi there. You're from the Merchant Guild you say? That means.........";
+ next;
+ mes "[Guild Staff]";
+ mes "WOW! IT'S HERE! It's here!! They FINALLY sent the Box!...... ";
+ next;
+ mes "[Guild Staff]";
+ mes "Oh excuse me, I'm so sorry. You must be very tired from having to travel in such hot weather. My thanks for your effort.";
+ next;
+ mes "[Guild Staff]";
+ mes "Alright, let me just ckeck the Serial Number to make sure.........";
+ next;
+ mes "[Guild Staff]";
+ if((countitem(1081) !=1) && (countitem(1082) !=1) && (countitem(1083) !=1)) goto L_NoProd;//Items: Delivery_Box, Delivery_Box_, Delivery_Box__,
+ if((job_merchant_q2 !=3) && (job_merchant_q2 !=4)) goto L_WrongDest;
+ if(countitem(1083) == 1) goto L_WrongProd;//Items: Delivery_Box__,
+
+ mes "YES! This is it! Here, let me give you a Receipt.";
+ next;
+ set job_merchant_q3,3;
+ if(countitem(1081) == 1) goto L_0;//Items: Delivery_Box,
+ if(countitem(1082) == 1) goto L_1;//Items: Delivery_Box_,
+
+ L_0:
+ getitem 1075,1;//Items: Voucher__,
+ delitem 1081,1;//Items: Delivery_Box,
+ goto L_3;
+
+ L_1:
+ getitem 1076,1;//Items: Voucher___,
+ delitem 1082,1;//Items: Delivery_Box_,
+ goto L_3;
+
+ L_3:
+ mes "[Guild Staff]";
+ mes "Heheh~ Thank you, Bye Bye.";
+ emotion 15;
+ close;
+L_NoProd:
+ mes "Huh? Where? Where is the Box?";
+ emotion 1;
+ close;
+
+L_WrongDest:
+ mes "Hey wait a Minute! This is not what we ordered! The Serial Number should either be 2989396 or 2191737.";
+ mes "It looks like this is addressed to someone else. I think you got the wrong delivery destination.";
+ emotion 19;
+ close;
+
+L_WrongProd:
+ mes "Hey wait a Minute! This is not what we ordered! The Serial Number should either be 2989396 or 2191737.";
+ mes "I don't know how you could make this mistake but please correct it. I really need that Product.";
+ emotion 19;
+ set job_merchant_q3,2;
+ close;
+}
+
+
+// -- Dyer's Student --
+morocc_in.gat,140,102,4 script Dyer's Student 86,{
+ if(BaseJob==Job_Novice && job_merchant_q3>0) goto L_Start;
+
+L_Other:
+ mes "[Dyer's Student]";
+ mes "Mr. JavaDullihan is one and Only the Best in Midgard continent.";
+ mes "Aaaand I am his Student!! How proude of I am!!!!";
+ next;
+ mes "[Dyer's Student]";
+ mes ".....That's what I am saying..";
+ close;
+
+L_Start:
+ if(job_merchant_q3 ==3) goto L_3;
+ mes "[Dyer's Student]";
+ if(job_merchant_q3 ==2) goto L_WrongProd;
+
+ mes "You're from the Merchant Guild...? Ah, Yes! I've been expecting you.";
+ next;
+ mes "[Dyer's Student]";
+ mes "Let me check the Serial Number of the Product just to make sure.......";
+ next;
+ mes "[Dyer's Student]";
+ if((countitem(1081) !=1) && (countitem(1082) !=1) && (countitem(1083) !=1)) goto L_NoProd;//Items: Delivery_Box, Delivery_Box_, Delivery_Box__,
+ if((job_merchant_q2 !=5) && (job_merchant_q2 !=6)) goto L_WrongDest;
+ if(countitem(1083) == 1) goto L_WrongProd;//Items: Delivery_Box__,
+
+ mes "Great! This is what we ordered. Here, let me give you a Receipt.";
+ set job_merchant_q3,3;
+ if(countitem(1081) == 1) goto L_0;//Items: Delivery_Box,
+ if(countitem(1082) == 1) goto L_1;//Items: Delivery_Box_,
+
+ L_0:
+ getitem 1077,1;//Items: Voucher____,
+ delitem 1081,1;//Items: Delivery_Box,
+ goto L_3;
+
+ L_1:
+ getitem 1078,1;//Items: Voucher_____,
+ delitem 1082,1;//Items: Delivery_Box_,
+ goto L_3;
+
+ L_3:
+ mes "[Dyer's Student]";
+ mes "Thank you, See you next time~";
+ emotion 15;
+ close;
+
+L_NoProd:
+ mes "But where's the Product?";
+ emotion 20;
+ close;
+
+L_WrongProd:
+ mes "Um..... excuse me? I don't think this is what we ordered? The Serial Number should be either 3012685 or 3487372.";
+ emotion 20;
+ next;
+ mes "[Dyer's Student]";
+ mes "I see. There was a mix up at the wharehouse and you got the wrong product.";
+ next;
+ mes "[Dyer's Student]";
+ mes "Well this sucks. Please come back with the correct Product.";
+ emotion 32;
+ set job_merchant_q3,2;
+ close;
+
+L_WrongDest:
+ mes "Um.... excuse me? I don't think this is what we ordered? The Serial Number should be either 3012685 or 3487372.";
+ mes "I think you have the wrong delivery destination. Maybe you should try someone else.";
+ emotion 20;
+ close;
+
+
+}
diff --git a/npc/jobs/1-1/swordman.txt b/npc/jobs/1-1/swordman.txt new file mode 100644 index 000000000..bba2e838c --- /dev/null +++ b/npc/jobs/1-1/swordman.txt @@ -0,0 +1,779 @@ +//===== eAthena Script =======================================
+//= Swordsman Job Quest
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.6
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= <Description>
+//===== 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.gat",40,170.
+//= v1.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]
+//= v1.5 Optimised and moved first checker to Jfunc1-1 [massdriller]
+//= 1.6 Fixed possible EXP abuse [Lupus]
+//============================================================
+
+
+// == Monsters ==
+//Spawn is included in this file so make shure its not elsewhere to!
+sword_1-1.gat,35,78,0,0 monster Fabre 1184,4,0,0,0
+sword_1-1.gat,50,108,0,0 monster Fabre 1184,2,0,0,0
+sword_1-1.gat,61,28,0,0 monster Fabre 1184,4,0,0,0
+sword_1-1.gat,61,92,0,0 monster Fabre 1184,2,0,0,0
+//
+sword_1-1.gat,110,112,0,0 monster Fabre 1184,3,0,0,0
+sword_1-1.gat,161,94,0,0 monster Fabre 1184,2,0,0,0
+sword_1-1.gat,130,76,0,0 monster Fabre 1184,2,0,0,0
+sword_1-1.gat,103,58,0,0 monster Fabre 1184,2,0,0,0
+sword_1-1.gat,130,24,0,0 monster Fabre 1184,3,0,0,0
+//
+sword_1-1.gat,201,36,0,0 monster Fabre 1184,2,0,0,0
+sword_1-1.gat,201,16,0,0 monster Fabre 1184,2,0,0,0
+sword_1-1.gat,239,44,0,0 monster Fabre 1184,2,0,0,0
+sword_1-1.gat,239,76,0,0 monster Fabre 1184,2,0,0,0
+sword_1-1.gat,231,101,0,0 monster Fabre 1184,2,0,0,0
+sword_1-1.gat,234,117,0,0 monster Fabre 1184,2,0,0,0
+sword_1-1.gat,198,91,0,0 monster Fabre 1184,2,0,0,0
+sword_1-1.gat,200,63,0,0 monster Fabre 1184,2,0,0,0
+
+
+// == Warp ==
+// -- Warp to test room --
+izlude_in.gat,62,170,0 script w1039 45,1,1,{
+ if(BaseJob==Job_Novice && job_sword_q > 0) warp "izlude_in.gat",40,170;
+ if(job_sword_q == 0) doevent "Swordsman::OnStart";
+ end;
+}
+
+
+// == Npcs ==
+// -- Master Swordsman --
+izlude_in.gat,74,172,5 script Master Swordsman 119,{
+ callfunc "F_ToHigh",25,"Swordman High",31,"Lord Knight",144,145,146,0,"Master Swordsman";
+ mes "[Master Swordsman]";
+ if(BaseJob==Job_Novice && job_sword_q == 2) goto L_Done;
+ mes "Welcome to the Swordsman Association! So.. What business brings you to us?";
+L_Menu:
+ next;
+ menu "Make me a Swordsman!",M_0,"About being a Swordsman.",M_1,"The job requirements.",M_2,"Cancel.",M_End;
+ close;
+
+ M_0:
+ mes "[Master Swordsman]";
+ callfunc "Swo_check";
+
+ O_1a:
+ set job_sword_q,1;
+ savepoint "izlude_in.gat",65,165;
+ mes "Okay. Let me just review your information......";
+ next;
+ mes "[Master Swordsman]";
+ mes "Ah!! I see that you have met the necessary requirements.....";
+ next;
+ mes "[Master Swordsman]";
+ mes "But there is one last thing you need to do to before I can make you an offical Swordsman.";
+ mes "You must prove your valour by taking the Izlude Swordsman Test!!!";
+ next;
+ mes "[Master Swordsman]";
+ mes "Are you willing to do so?";
+ next;
+ menu "Yes.",sM_0,"No.",sM_1;
+
+ sM_0:
+ mes "[Master Swordsman]";
+ mes "Very good!!! The testing room is too my right.";
+ next;
+ mes "[Master Swordsman]";
+ mes "Good luck young warrior!!!";
+ close;
+
+ sM_1:
+ mes "[Master Swordsman]";
+ mes "Very well then. Your registration is complete. When you are ready to take the test, just enter the testing room to my right.";
+ close;
+
+ M_1:
+ mes "[Master Swordsman]";
+ mes "So you wish to know about the Swordsman profession... very good then! I will explain it to you.";
+ next;
+ mes "[Master Swordsman]";
+ mes "The primary advantage of being a Swordsman is that you will become superior in pure strength and mele combat compared with those in the other professions.";
+ next;
+ mes "[Master Swordsman]";
+ mes "There are 3 reasons why the swordsman is unparalled in hand to hand combat v.s. those of the other job types!";
+ next;
+ mes "[Master Swordsman]";
+ mes " - 1st, the swordsman has a skill that gives him/her an excellent hp regeration rate.";
+ mes " - 2nd, the swordsman is capable of using more kinds of weapons than those in the other job types.";
+ mes " - 3rd, Most of the swordsman's skills enhance and increase physical attacks making him/her an elite warrior.";
+ next;
+ mes "[Master Swordsman]";
+ mes "A Simple but adequte explanation for a newbie like you.";
+ next;
+ mes "[Master Swordsman]";
+ mes "Aside from this, in my personal opinion, being a 'Swordsman' is greatest job in all the land!";
+ mes "Muhahahah!!!";
+ emotion 18;
+ goto L_Menu;
+
+ M_2:
+ mes "[Master Swordsman]";
+ mes "So you wish to become a swordsman....";
+ next;
+ if(BaseJob == Job_Novice) goto O_2a;
+ if(BaseJob == Job_Swordman) goto O_2b;
+ mes "[Master Swordsman]";
+ mes "But you already have another job.... it's too late for you to become a Swordsman.";
+ next;
+ mes "[Master Swordsman]";
+ mes "Still you seek knowledge about the Swordsman proffession ay?... very well then....";
+ next;
+
+ O_2a:
+ mes "[Master Swordsman]";
+ mes "First, You must learn all 9 Basic Skills. If you can't satisfy this condition, you won't be able to become anything.";
+ next;
+ mes "[Master Swordsman]";
+ mes "Secondly you must pass the legendary Izlude Swordsman Test.";
+ next;
+ mes "[Master Swordsman]";
+ mes "When you fullfill these 2 conditions, you can become an offical Swordsman.";
+ goto L_Menu;
+
+ O_2b:
+ mes "[Master Swordsman]";
+ mes "....but you're already a Swordsman...????";
+ emotion 20;
+ close;
+
+ M_End:
+ mes "[Master Swordsman]";
+ mes "Enjoy your youth before you lose it~~ Muhahahaha!!!!";
+ emotion 18;
+ close;
+
+L_Done:
+ mes "Let me see here....so you've past the test aye??....";
+ next;
+ if(SkillPoint > 0) goto L_Skillpt;
+ mes "[Master Swordsman]";
+ mes "Congratulations! Now you are now fully qualified to become a Real Swordsman! I will transform you right away!!";
+ next;
+ callfunc "Job_Change",Job_Swordman;
+ callfunc "F_ClearJobVar"; // clears all job variables for the current player
+ mes "[Master Swordsman]";
+ mes "As you set forth on your journey I will expect you to represent the Swordsman Assosiation of Izlude with great honor and integrity.";
+ next;
+ mes "[Master Swordsman]";
+ mes "Muhahahaha!!!";
+ close;
+
+ L_Skillpt:
+ mes "[Master Swordsman]";
+ mes "Hmm... just a momement... it seems you still have skill points left over.";
+ mes "Please use them up so that I can make you a Swordsman.";
+ close;
+}
+
+// -- Swordsman --
+izlude_in.gat,65,171,5 script Swordsman 85,{
+ doevent "Swordsman";
+ end;
+}
+
+// -- Hidden Npc --
+izlude_in.gat,65,171,5 script Swordsman -1,{
+
+OnStart:
+ mes "[Swordsman]";
+ if(BaseJob == 1) goto L_Sword;
+ if(BaseJob == 0) goto L_Novice;
+
+L_Other:
+ mes "Who might you be?! Those who are not Novices are not permitted to go in! Please leave.";
+ emotion 1;
+ close;
+L_Sword:
+ mes "You're already a Swordsman!! You don't need to take this silly test!";
+ emotion 0;
+ close;
+
+L_Novice:
+ if(job_sword_q == 1) goto L_Start;
+ if(job_sword_q == 2) goto L_Done;
+
+ mes "Halt! Do you want to take the Swordsman Test?";
+ mes "If so, please fill out the swordsman application first.";
+ mes "Speak with the 'Master Swordsman' for more information.";
+ emotion 0;
+ close;
+
+ L_Start:
+ mes "Please enter the testing room when you are ready. Good luck!";
+ close;
+
+ L_Done:
+ mes "Speak with the Master Swordsman so that he can make you a Swordsman.";
+ close;
+}
+
+// -- Test Guide --
+izlude_in.gat,30,175,4 script Test Guide 92,{
+ mes "[Test Guide]";
+ mes "I will tell you about the legendary Izlude Swordsman Test! Listen VERY CAREFULLY for I won't repeat this again!";
+ next;
+ mes "[Test Guide]";
+ mes "The purpose of this test is to decide wheather or not you qualify to become a Swordsman.";
+ mes "As you know, a Swordsman needs superior physical Strength as well as an iron will!";
+ mes "If you possess neither of these attributes you will surely fail this grueling test.";
+ next;
+ mes "[Test Guide]";
+ mes "The objective of the test is very simple!";
+ next;
+ mes "[Test Guide]";
+ mes "You need to make through an obsticale course within ^FF00007 minutes^000000 in order to pass.";
+ next;
+ mes "[Test Guide]";
+ mes "The obsticale course is made up of 3 parts and is littered with booby-traps so be carefull!";
+ mes "Some traps will reduce your HP while others will warp you to an random underground cave causing you to start over.";
+ next;
+ mes "[Test Guide]";
+ mes "If you `Surrender' or if you excede the 'time limit', you will be fail the test.";
+ next;
+ mes "[Test Guide]";
+ mes "That is everything you need to know in order to take the test.";
+ mes "May God bless you.";
+ close;
+}
+
+
+// -- Test Hall Staff 1 --
+izlude_in.gat,30,163,8 script Test Hall Staff 105,{
+ mes "[Test Hall Staff]";
+ if(SWTEST == 1) goto L_Option2;
+ if(SWTEST >= 2) goto L_Option3;
+ set SWTEST, 0;
+
+ mes " So you want to take the test huh? You look confident.. that's good. Stay relaxed and do your best. This is not a difficult test.";
+ next;
+ mes "[Test Hall Staff]";
+ mes "Are you ready?";
+ next;
+ menu "Let me at it!!",M_yes,"Ah..maybe later..",M_no;
+ close;
+
+ M_yes:
+ set SWTEST, SWTEST + 1;
+ savepoint "izlude_in.gat",39,170;
+ stopnpctimer;
+ initnpctimer "TimerSwrdmn";
+ warp "sword_1-1.gat",10,245;
+ end;
+
+ M_no:
+ mes "[Test Hall Staff]";
+ mes "Check back with me when you are ready.";
+ close;
+
+L_Option2:
+ mes "Taking the test over?.... Keep your head up. I like those who never back down from a challange! Now take this and cheer up!";
+ getitem 512,3;//Items: Apple,
+ next;
+ goto M_yes;
+ end;
+L_Option3:
+ mes "Don't give up! I know you will pass this time!";
+ mes "(you catch him whispering '...loooooseerrr...')";
+ getitem 512,5;//Items: Apple,
+ next;
+ goto M_yes;
+ end;
+}
+sword_1-1.gat,1,1,0 script TimerSwrdmn -1,{
+ OnTimer4000:
+ areaannounce "sword_1-1.gat", 0, 0, 400, 400, "[Test Hall Staff]: Your 7 minutes starts now!",0;
+ end;
+ OnTimer184000:
+ areaannounce "sword_1-1.gat", 0, 0, 400, 400, "[Test Hall Staff]: You have 4 minutes left!",0;
+ end;
+ OnTimer304000:
+ areaannounce "sword_1-1.gat", 0, 0, 400, 400, "[Test Hall Staff]: You have 2 minutes left!",0;
+ end;
+ OnTimer364000:
+ areaannounce "sword_1-1.gat", 0, 0, 400, 400, "[Test Hall Staff]: You have 1 minutes left!",0;
+ end;
+ OnTimer394000:
+ areaannounce "sword_1-1.gat", 0, 0, 400, 400, "[Test Hall Staff]: You have 30 seconds left, hurry!",0;
+ end;
+ OnTimer424000:
+ areaannounce "sword_1-1.gat", 0, 0, 400, 400, "[Test Hall Staff]: Your times up! You failed the test.",0;
+ end;
+ OnTimer428000:
+ stopnpctimer "TimerSwrdmn";
+ warp "izlude_in.gat",39,170;
+ end;
+}
+
+
+// -- Medic 1 --
+sword_1-1.gat,230,245,2 script Medic 105,{
+ mes "[Medic]";
+ mes "This is the 1st check point! You're doing great!";
+ percentheal 100, 100;
+ close;
+}
+
+// -- Test Hall Staff 2 --
+sword_1-1.gat,230,242,2 script Test Hall Staff 105,{
+ mes "[Test Hall Staff]";
+ mes "Do you surrender?";
+ next;
+ menu "Yes.",M_0,"No.",M_1;
+
+ M_0:
+ warp "izlude_in.gat",65,165;
+ close;
+ M_1:
+ mes "[Test Hall Staff]";
+ mes "Bravo! Go for it again!";
+ close;
+}
+
+// -- Medic 2 --
+sword_1-1.gat,230,207,2 script Medic 105,{
+ mes "[Medic]";
+ mes "This is the 2nd check point! Keep up the good work!";
+ percentheal 100, 100;
+ close;
+}
+
+// -- Test Hall Staff 3 --
+sword_1-1.gat,230,204,2 script Test Hall Staff 105,{
+ mes "[Test Hall Staff]";
+ mes "Do you surrender?";
+ next;
+ menu "Yes.",M_0,"No.",M_1;
+
+ M_0:
+ warp "izlude_in.gat",65,165;
+ close;
+ M_1:
+ mes "[Test Hall Staff]";
+ mes "Bravo! Go for it again!";
+ close;
+}
+
+// -- Mae (Medic 3) --
+sword_1-1.gat,223,167,2 script Mae 92,{
+ mes "[Mae]";
+ mes "I sincerely congratulate you for passing the test!";
+ mes "I've already sent your test results to the 'Master Swordsman'.";
+ mes "Please inquire with him about your results. Thank you.";
+ next;
+ stopnpctimer "TimerSwrdmn";
+ percentheal 100, 100;
+ set job_sword_q,2;
+ set SWTEST,0;
+ warp "izlude_in.gat",66,173;
+ close;
+}
+
+
+
+
+// == Green Traps ==
+// reduce hp when stepped on
+
+// -- First Section --
+// - Left -
+sword_1-1.gat,22,172,1 script 1green_1::green 139,0,0,{
+ heal (-4),0;
+ end;
+}
+
+// -- Duplicates --
+sword_1-1.gat,22,173,1 duplicate(green) 1green_2 139,0,0
+sword_1-1.gat,23,172,1 duplicate(green) 1green_3 139,0,0
+sword_1-1.gat,23,173,1 duplicate(green) 1green_4 139,0,0
+sword_1-1.gat,34,172,1 duplicate(green) 1green_5 139,0,0
+sword_1-1.gat,34,173,1 duplicate(green) 1green_6 139,0,0
+sword_1-1.gat,35,172,1 duplicate(green) 1green_7 139,0,0
+sword_1-1.gat,35,173,1 duplicate(green) 1green_8 139,0,0
+sword_1-1.gat,66,170,1 duplicate(green) 1green_9 139,0,0
+sword_1-1.gat,66,171,1 duplicate(green) 1green_10 139,0,0
+sword_1-1.gat,67,170,1 duplicate(green) 1green_11 139,0,0
+sword_1-1.gat,67,171,1 duplicate(green) 1green_12 139,0,0
+sword_1-1.gat,70,170,1 duplicate(green) 1green_13 139,0,0
+sword_1-1.gat,70,171,1 duplicate(green) 1green_14 139,0,0
+sword_1-1.gat,71,170,1 duplicate(green) 1green_15 139,0,0
+sword_1-1.gat,71,171,1 duplicate(green) 1green_16 139,0,0
+
+// - Right -
+sword_1-1.gat,22,164,1 duplicate(green) 1green_17 139,0,0
+sword_1-1.gat,22,165,1 duplicate(green) 1green_18 139,0,0
+sword_1-1.gat,23,164,1 duplicate(green) 1green_19 139,0,0
+sword_1-1.gat,23,165,1 duplicate(green) 1green_20 139,0,0
+sword_1-1.gat,34,164,1 duplicate(green) 1green_21 139,0,0
+sword_1-1.gat,34,165,1 duplicate(green) 1green_22 139,0,0
+sword_1-1.gat,35,164,1 duplicate(green) 1green_23 139,0,0
+sword_1-1.gat,35,165,1 duplicate(green) 1green_24 139,0,0
+sword_1-1.gat,66,166,1 duplicate(green) 1green_25 139,0,0
+sword_1-1.gat,66,167,1 duplicate(green) 1green_26 139,0,0
+sword_1-1.gat,67,166,1 duplicate(green) 1green_27 139,0,0
+sword_1-1.gat,67,167,1 duplicate(green) 1green_28 139,0,0
+sword_1-1.gat,70,166,1 duplicate(green) 1green_29 139,0,0
+sword_1-1.gat,70,167,1 duplicate(green) 1green_30 139,0,0
+sword_1-1.gat,71,166,1 duplicate(green) 1green_31 139,0,0
+sword_1-1.gat,71,167,1 duplicate(green) 1green_32 139,0,0
+// - Center -
+sword_1-1.gat,86,168,1 duplicate(green) 1green_33 139,0,0
+sword_1-1.gat,86,169,1 duplicate(green) 1green_34 139,0,0
+sword_1-1.gat,87,168,1 duplicate(green) 1green_35 139,0,0
+sword_1-1.gat,87,169,1 duplicate(green) 1green_36 139,0,0
+
+// -- Second Section --
+// - Left -
+sword_1-1.gat,83,171,1 duplicate(green) 2green_1 139,0,1
+sword_1-1.gat,82,171,1 duplicate(green) 2green_2 139,0,1
+sword_1-1.gat,90,171,1 duplicate(green) 2green_3 139,0,1
+sword_1-1.gat,91,171,1 duplicate(green) 2green_4 139,0,1
+sword_1-1.gat,84,173,1 duplicate(green) 2green_5 139,1,0
+sword_1-1.gat,90,173,1 duplicate(green) 2green_6 139,1,0
+sword_1-1.gat,83,166,1 duplicate(green) 2green_7 139,0,1
+sword_1-1.gat,82,166,1 duplicate(green) 2green_8 139,0,1
+sword_1-1.gat,90,166,1 duplicate(green) 2green_9 139,0,1
+sword_1-1.gat,91,166,1 duplicate(green) 2green_10 139,0,1
+sword_1-1.gat,84,164,1 duplicate(green) 2green_11 139,1,0
+sword_1-1.gat,90,164,1 duplicate(green) 2green_12 139,1,0
+sword_1-1.gat,102,168,1 duplicate(green) 2green_13 139,0,0
+sword_1-1.gat,102,169,1 duplicate(green) 2green_14 139,0,0
+// - Right -
+sword_1-1.gat,102,172,1 duplicate(green) 2green_15 139,0,0
+sword_1-1.gat,102,173,1 duplicate(green) 2green_16 139,0,0
+sword_1-1.gat,103,172,1 duplicate(green) 2green_17 139,0,0
+sword_1-1.gat,103,173,1 duplicate(green) 2green_18 139,0,0
+sword_1-1.gat,106,172,1 duplicate(green) 2green_19 139,0,0
+sword_1-1.gat,106,173,1 duplicate(green) 2green_20 139,0,0
+sword_1-1.gat,107,172,1 duplicate(green) 2green_21 139,0,0
+sword_1-1.gat,107,173,1 duplicate(green) 2green_22 139,0,0
+sword_1-1.gat,110,172,1 duplicate(green) 2green_23 139,0,0
+sword_1-1.gat,110,173,1 duplicate(green) 2green_24 139,0,0
+sword_1-1.gat,111,172,1 duplicate(green) 2green_25 139,0,0
+sword_1-1.gat,111,173,1 duplicate(green) 2green_26 139,0,0
+// - Center -
+sword_1-1.gat,102,164,1 duplicate(green) 2green_27 139,0,0
+sword_1-1.gat,102,165,1 duplicate(green) 2green_28 139,0,0
+sword_1-1.gat,103,164,1 duplicate(green) 2green_29 139,0,0
+sword_1-1.gat,103,165,1 duplicate(green) 2green_30 139,0,0
+sword_1-1.gat,106,164,1 duplicate(green) 2green_31 139,0,0
+sword_1-1.gat,106,165,1 duplicate(green) 2green_32 139,0,0
+sword_1-1.gat,107,164,1 duplicate(green) 2green_33 139,0,0
+sword_1-1.gat,107,165,1 duplicate(green) 2green_34 139,0,0
+sword_1-1.gat,110,164,1 duplicate(green) 2green_35 139,0,0
+sword_1-1.gat,110,165,1 duplicate(green) 2green_36 139,0,0
+sword_1-1.gat,111,164,1 duplicate(green) 2green_37 139,0,0
+sword_1-1.gat,111,165,1 duplicate(green) 2green_38 139,0,0
+
+
+// -- Third Section --
+sword_1-1.gat,121,172,1 duplicate(green) 3green_1 139,2,0
+sword_1-1.gat,121,173,1 duplicate(green) 3green_2 139,2,0
+sword_1-1.gat,121,164,1 duplicate(green) 3green_3 139,2,0
+sword_1-1.gat,121,165,1 duplicate(green) 3green_4 139,2,0
+sword_1-1.gat,121,168,1 duplicate(green) 3green_5 139,2,0
+sword_1-1.gat,121,169,1 duplicate(green) 3green_6 139,2,0
+
+// -- Fourth Section --
+sword_1-1.gat,130,169,1 duplicate(green) 4green_1 139,0,4
+sword_1-1.gat,131,169,1 duplicate(green) 4green_2 139,0,4
+sword_1-1.gat,135,164,1 duplicate(green) 4green_3 139,5,0
+sword_1-1.gat,136,165,1 duplicate(green) 4green_4 139,4,0
+sword_1-1.gat,140,169,1 duplicate(green) 4green_5 139,0,3
+sword_1-1.gat,141,168,1 duplicate(green) 4green_6 139,0,4
+sword_1-1.gat,137,172,1 duplicate(green) 4green_7 139,2,0
+sword_1-1.gat,138,173,1 duplicate(green) 4green_8 139,3,0
+sword_1-1.gat,134,171,1 duplicate(green) 4green_9 139,0,2
+sword_1-1.gat,135,168,1 duplicate(green) 4green_10 139,0,1
+sword_1-1.gat,135,170,1 duplicate(green) 4green_11 139,1,0
+
+// -- Fifth Section --
+sword_1-1.gat,144,169,1 duplicate(green) 5green_1 139,0,4
+sword_1-1.gat,145,169,1 duplicate(green) 5green_2 139,0,4
+sword_1-1.gat,148,164,1 duplicate(green) 5green_3 139,4,0
+sword_1-1.gat,149,165,1 duplicate(green) 5green_4 139,3,0
+sword_1-1.gat,156,166,1 duplicate(green) 5green_5 139,0,2
+sword_1-1.gat,157,166,1 duplicate(green) 5green_6 139,0,2
+sword_1-1.gat,153,169,1 duplicate(green) 5green_7 139,4,0
+sword_1-1.gat,152,168,1 duplicate(green) 5green_8 139,3,0
+sword_1-1.gat,149,171,1 duplicate(green) 5green_9 139,0,1
+sword_1-1.gat,148,171,1 duplicate(green) 5green_10 139,0,2
+sword_1-1.gat,154,173,1 duplicate(green) 5green_11 139,2,0
+sword_1-1.gat,154,172,1 duplicate(green) 5green_12 139,2,0
+
+// -- Last Section --
+sword_1-1.gat,164,172,1 duplicate(green) 6green_1 139,0,0
+sword_1-1.gat,164,173,1 duplicate(green) 6green_2 139,0,0
+sword_1-1.gat,165,172,1 duplicate(green) 6green_3 139,0,0
+sword_1-1.gat,165,173,1 duplicate(green) 6green_4 139,0,0
+sword_1-1.gat,172,172,1 duplicate(green) 6green_5 139,0,0
+sword_1-1.gat,172,173,1 duplicate(green) 6green_6 139,0,0
+sword_1-1.gat,173,172,1 duplicate(green) 6green_7 139,0,0
+sword_1-1.gat,173,173,1 duplicate(green) 6green_8 139,0,0
+
+sword_1-1.gat,164,168,1 duplicate(green) 6green_9 139,0,0
+sword_1-1.gat,164,169,1 duplicate(green) 6green_10 139,0,0
+sword_1-1.gat,165,168,1 duplicate(green) 6green_11 139,0,0
+sword_1-1.gat,165,169,1 duplicate(green) 6green_12 139,0,0
+sword_1-1.gat,172,168,1 duplicate(green) 6green_13 139,0,0
+sword_1-1.gat,172,169,1 duplicate(green) 6green_14 139,0,0
+sword_1-1.gat,173,168,1 duplicate(green) 6green_15 139,0,0
+sword_1-1.gat,173,169,1 duplicate(green) 6green_16 139,0,0
+
+sword_1-1.gat,164,164,1 duplicate(green) 6green_17 139,0,0
+sword_1-1.gat,164,165,1 duplicate(green) 6green_18 139,0,0
+sword_1-1.gat,165,164,1 duplicate(green) 6green_19 139,0,0
+sword_1-1.gat,165,165,1 duplicate(green) 6green_20 139,0,0
+sword_1-1.gat,172,164,1 duplicate(green) 6green_21 139,0,0
+sword_1-1.gat,172,165,1 duplicate(green) 6green_22 139,0,0
+sword_1-1.gat,173,164,1 duplicate(green) 6green_23 139,0,0
+sword_1-1.gat,173,165,1 duplicate(green) 6green_24 139,0,0
+
+
+
+// == Fall Warps ==
+
+sword_1-1.gat,16,251,4 script 1_blank_1a#1::1_blank 139,0,1,{
+ set @TEMP,rand(5);
+ if (@TEMP==0) warp "sword_1-1.gat",65,56;
+ if (@TEMP==1) warp "sword_1-1.gat",29,26;
+ if (@TEMP==2) warp "sword_1-1.gat",43,16;
+ if (@TEMP==3) warp "sword_1-1.gat",23,112;
+ if (@TEMP==4) warp "sword_1-1.gat",58,83;
+ end;
+}
+
+// -- Duplicates --
+sword_1-1.gat,19,251,4 duplicate(1_blank) 1_blank_1b 139,0,1
+sword_1-1.gat,17,250,4 duplicate(1_blank) 1_blank_1c 139,1,0
+sword_1-1.gat,17,251,4 duplicate(1_blank) 1_blank_1a 139,1,1
+sword_1-1.gat,18,251,4 duplicate(1_blank) 1_blank_1b 139,1,1
+sword_1-1.gat,17,251,4 duplicate(1_blank) 1_blank_1c 139,1,1
+sword_1-1.gat,16,238,4 duplicate(1_blank) 1_blank_2a 139,0,1
+sword_1-1.gat,19,238,4 duplicate(1_blank) 1_blank_2b 139,0,1
+sword_1-1.gat,17,239,4 duplicate(1_blank) 1_blank_2c 139,0,1
+sword_1-1.gat,28,246,4 duplicate(1_blank) 1_blank_3a 139,4,1
+sword_1-1.gat,33,245,4 duplicate(1_blank) 1_blank_3b 139,0,2
+sword_1-1.gat,29,242,4 duplicate(1_blank) 1_blank_3c 139,4,0
+sword_1-1.gat,24,244,4 duplicate(1_blank) 1_blank_3d 139,0,2
+sword_1-1.gat,38,251,4 duplicate(1_blank) 1_blank_4a 139,0,1
+sword_1-1.gat,41,251,4 duplicate(1_blank) 1_blank_4b 139,0,1
+sword_1-1.gat,39,250,4 duplicate(1_blank) 1_blank_4c 139,1,0
+sword_1-1.gat,38,238,4 duplicate(1_blank) 1_blank_5a 139,0,1
+sword_1-1.gat,41,238,4 duplicate(1_blank) 1_blank_5_b 139,0,1
+sword_1-1.gat,39,239,4 duplicate(1_blank) 1_blank_5_c 139,1,0
+sword_1-1.gat,54,251,4 duplicate(1_blank) 1_blank_6_a 139,0,1
+sword_1-1.gat,71,251,4 duplicate(1_blank) 1_blank_6_b 139,0,1
+sword_1-1.gat,62,250,4 duplicate(1_blank) 1_blank_6_c 139,9,0
+sword_1-1.gat,62,247,4 duplicate(1_blank) 1_blank_7_a 139,8,0
+sword_1-1.gat,71,244,4 duplicate(1_blank) 1_blank_7_b 139,0,2
+sword_1-1.gat,63,242,4 duplicate(1_blank) 1_blank_7_c 139,8,0
+sword_1-1.gat,54,244,4 duplicate(1_blank) 1_blank_7_d 139,0,2
+sword_1-1.gat,54,238,4 duplicate(1_blank) 1_blank_8_a 139,0,1
+sword_1-1.gat,71,238,4 duplicate(1_blank) 1_blank_8_b 139,0,1
+sword_1-1.gat,62,239,4 duplicate(1_blank) 1_blank_8_c 139,9,0
+sword_1-1.gat,102,247,4 duplicate(1_blank) 1_blank_9_a 139,2,0
+sword_1-1.gat,105,245,4 duplicate(1_blank) 1_blank_9_b 139,0,2
+sword_1-1.gat,103,242,4 duplicate(1_blank) 1_blank_9_c 139,2,0
+sword_1-1.gat,100,244,4 duplicate(1_blank) 1_blank_9_d 139,0,2
+sword_1-1.gat,156,249,4 duplicate(1_blank) 1_blank_10_a 139,14,0
+sword_1-1.gat,156,248,4 duplicate(1_blank) 1_blank_10_b 139,14,0
+sword_1-1.gat,170,249,4 duplicate(1_blank) 1_blank_10_c 139,1,0
+sword_1-1.gat,170,248,4 duplicate(1_blank) 1_blank_10_d 139,1,0
+sword_1-1.gat,156,245,4 duplicate(1_blank) 1_blank_11_a 139,14,0
+sword_1-1.gat,156,244,4 duplicate(1_blank) 1_blank_11_b 139,14,0
+sword_1-1.gat,170,245,4 duplicate(1_blank) 1_blank_11_c 139,1,0
+sword_1-1.gat,170,244,4 duplicate(1_blank) 1_blank_11_d 139,1,0
+sword_1-1.gat,156,241,4 duplicate(1_blank) 1_blank_12_a 139,14,0
+sword_1-1.gat,156,240,4 duplicate(1_blank) 1_blank_12_b 139,14,0
+sword_1-1.gat,170,241,4 duplicate(1_blank) 1_blank_12_c 139,1,0
+sword_1-1.gat,170,240,4 duplicate(1_blank) 1_blank_12_d 139,1,0
+sword_1-1.gat,180,251,4 duplicate(1_blank) 1_blank_13_a 139,0,1
+sword_1-1.gat,183,251,4 duplicate(1_blank) 1_blank_13_b 139,0,1
+sword_1-1.gat,181,250,4 duplicate(1_blank) 1_blank_13_c 139,1,0
+sword_1-1.gat,180,238,4 duplicate(1_blank) 1_blank_14_a 139,0,1
+sword_1-1.gat,183,238,4 duplicate(1_blank) 1_blank_14_b 139,0,1
+sword_1-1.gat,181,239,4 duplicate(1_blank) 1_blank_14_c 139,1,0
+
+
+sword_1-1.gat,56,212,4 script 2_blank_1_a::2_blank 139,40,0,{
+ set @TEMP,rand(5);
+ if (@TEMP==0) warp "sword_1-1.gat",162,120;
+ if (@TEMP==1) warp "sword_1-1.gat",94,120;
+ if (@TEMP==2) warp "sword_1-1.gat",94,85;
+ if (@TEMP==3) warp "sword_1-1.gat",162,85;
+ if (@TEMP==4) warp "sword_1-1.gat",130,47;
+ end;
+}
+
+// -- Duplicates --
+sword_1-1.gat,95,212,4 duplicate(2_blank) 2_blank_1_b 139,2,0
+sword_1-1.gat,56,210,4 duplicate(2_blank) 2_blank_2_a 139,40,0
+sword_1-1.gat,95,210,4 duplicate(2_blank) 2_blank_2_b 139,2,0
+sword_1-1.gat,16,206,4 duplicate(2_blank) 2_blank_2_c 139,0,3
+sword_1-1.gat,97,206,4 duplicate(2_blank) 2_blank_2_d 139,0,3
+sword_1-1.gat,56,203,4 duplicate(2_blank) 2_blank_2_e 139,40,0
+sword_1-1.gat,95,203,4 duplicate(2_blank) 2_blank_2_f 139,2,0
+sword_1-1.gat,56,201,4 duplicate(2_blank) 2_blank_3_a 139,40,0
+sword_1-1.gat,95,201,4 duplicate(2_blank) 2_blank_3_b 139,2,0
+
+// - part 2 -
+sword_1-1.gat,113,212,4 duplicate(2_blank) 2_blank_4_a 139,14,0
+sword_1-1.gat,125,212,4 duplicate(2_blank) 2_blank_4_b 139,2,0
+sword_1-1.gat,113,210,4 duplicate(2_blank) 2_blank_5_a 139,14,0
+sword_1-1.gat,125,210,4 duplicate(2_blank) 2_blank_5_b 139,2,0
+sword_1-1.gat,100,206,4 duplicate(2_blank) 2_blank_5_c 139,0,3
+sword_1-1.gat,127,206,4 duplicate(2_blank) 2_blank_5_d 139,0,3
+sword_1-1.gat,113,203,4 duplicate(2_blank) 2_blank_5_e 139,14,0
+sword_1-1.gat,125,210,4 duplicate(2_blank) 2_blank_5_f 139,2,0
+sword_1-1.gat,113,201,4 duplicate(2_blank) 2_blank_6_a 139,14,0
+sword_1-1.gat,113,201,4 duplicate(2_blank) 2_blank_6_b 139,2,0
+
+// - part 3 -
+sword_1-1.gat,155,212,4 duplicate(2_blank) 2_blank_7_a 139,21,0
+sword_1-1.gat,181,212,4 duplicate(2_blank) 2_blank_7_b 139,2,0
+sword_1-1.gat,155,210,4 duplicate(2_blank) 2_blank_8_a 139,21,0
+sword_1-1.gat,181,210,4 duplicate(2_blank) 2_blank_8_b 139,2,0
+sword_1-1.gat,130,206,4 duplicate(2_blank) 2_blank_8_c 139,0,3
+sword_1-1.gat,183,206,4 duplicate(2_blank) 2_blank_8_d 139,0,3
+sword_1-1.gat,155,203,4 duplicate(2_blank) 2_blank_8_e 139,21,0
+sword_1-1.gat,181,203,4 duplicate(2_blank) 2_blank_8_f 139,2,0
+sword_1-1.gat,155,201,4 duplicate(2_blank) 2_blank_9_a 139,40,0
+sword_1-1.gat,181,201,4 duplicate(2_blank) 2_blank_9_b 139,2,0
+
+sword_1-1.gat,17,174,4 script 3_blank_1_a::3_blank 139,2,0,{
+ set @TEMP,rand(5);
+ if (@TEMP==0) warp "sword_1-1.gat",195,15;
+ if (@TEMP==1) warp "sword_1-1.gat",195,38;
+ if (@TEMP==2) warp "sword_1-1.gat",231,30;
+ if (@TEMP==3) warp "sword_1-1.gat",198,65;
+ if (@TEMP==4) warp "sword_1-1.gat",196,116;
+ end;
+}
+
+// -- Duplicates --
+sword_1-1.gat,17,163,4 duplicate(3_blank) 3_blank_2_a 139,2,0
+sword_1-1.gat,29,171,4 duplicate(3_blank) 3_blank_3_a 139,2,0
+sword_1-1.gat,31,168,4 duplicate(3_blank) 3_blank_3_b 139,0,2
+sword_1-1.gat,28,166,4 duplicate(3_blank) 3_blank_3_c 139,2,0
+sword_1-1.gat,26,168,4 duplicate(3_blank) 3_blank_3_d 139,0,2
+sword_1-1.gat,36,169,4 duplicate(3_blank) 3_blank_4_a 139,0,0
+sword_1-1.gat,37,169,4 duplicate(3_blank) 3_blank_4_b 139,0,0
+sword_1-1.gat,37,168,4 duplicate(3_blank) 3_blank_4_c 139,0,0
+sword_1-1.gat,36,168,4 duplicate(3_blank) 3_blank_4_c 139,0,0
+sword_1-1.gat,40,175,4 duplicate(3_blank) 3_blank_5_a 139,0,1
+sword_1-1.gat,41,175,4 duplicate(3_blank) 3_blank_5_b 139,0,1
+sword_1-1.gat,41,171,4 duplicate(3_blank) 3_blank_6_a 139,1,0
+sword_1-1.gat,41,170,4 duplicate(3_blank) 3_blank_6_b 139,1,0
+sword_1-1.gat,41,167,4 duplicate(3_blank) 3_blank_6_c 139,1,0
+sword_1-1.gat,41,166,4 duplicate(3_blank) 3_blank_6_d 139,1,0
+sword_1-1.gat,42,169,4 duplicate(3_blank) 3_blank_6_e 139,0,1
+sword_1-1.gat,43,170,4 duplicate(3_blank) 3_blank_6_f 139,0,1
+sword_1-1.gat,43,167,4 duplicate(3_blank) 3_blank_6_g 139,0,1
+sword_1-1.gat,40,162,4 duplicate(3_blank) 3_blank_7_a 139,0,1
+sword_1-1.gat,41,162,4 duplicate(3_blank) 3_blank_7_b 139,0,1
+sword_1-1.gat,46,175,4 duplicate(3_blank) 3_blank_8_a 139,0,1
+sword_1-1.gat,51,175,4 duplicate(3_blank) 3_blank_8_b 139,0,1
+sword_1-1.gat,47,174,4 duplicate(3_blank) 3_blank_8_c 139,1,0
+sword_1-1.gat,50,174,4 duplicate(3_blank) 3_blank_8_d 139,1,0
+sword_1-1.gat,48,173,4 duplicate(3_blank) 3_blank_8_e 139,0,1
+sword_1-1.gat,49,173,4 duplicate(3_blank) 3_blank_8_f 139,0,1
+sword_1-1.gat,46,162,4 duplicate(3_blank) 3_blank_9_a 139,0,1
+sword_1-1.gat,51,162,4 duplicate(3_blank) 3_blank_9_b 139,0,1
+sword_1-1.gat,47,163,4 duplicate(3_blank) 3_blank_9_c 139,1,0
+sword_1-1.gat,50,163,4 duplicate(3_blank) 3_blank_9_d 139,1,0
+sword_1-1.gat,48,164,4 duplicate(3_blank) 3_blank_9_e 139,0,1
+sword_1-1.gat,49,164,4 duplicate(3_blank) 3_blank_9_f 139,0,1
+sword_1-1.gat,54,170,4 duplicate(3_blank) 3_blank_10_a 139,0,1
+sword_1-1.gat,55,170,4 duplicate(3_blank) 3_blank_10_b 139,0,1
+sword_1-1.gat,54,167,4 duplicate(3_blank) 3_blank_10_c 139,0,1
+sword_1-1.gat,55,167,4 duplicate(3_blank) 3_blank_10_d 139,0,1
+sword_1-1.gat,53,169,4 duplicate(3_blank) 3_blank_10_e 139,1,0
+sword_1-1.gat,53,168,4 duplicate(3_blank) 3_blank_10_f 139,1,0
+sword_1-1.gat,56,169,4 duplicate(3_blank) 3_blank_10_g 139,1,0
+sword_1-1.gat,56,168,4 duplicate(3_blank) 3_blank_10_h 139,1,0
+sword_1-1.gat,58,175,4 duplicate(3_blank) 3_blank_11_a 139,0,1
+sword_1-1.gat,59,174,4 duplicate(3_blank) 3_blank_11_b 139,1,0
+sword_1-1.gat,60,173,4 duplicate(3_blank) 3_blank_11_c 139,0,1
+sword_1-1.gat,61,172,4 duplicate(3_blank) 3_blank_11_d 139,1,0
+sword_1-1.gat,58,162,4 duplicate(3_blank) 3_blank_12_a 139,0,1
+sword_1-1.gat,59,163,4 duplicate(3_blank) 3_blank_12_b 139,1,0
+sword_1-1.gat,60,164,4 duplicate(3_blank) 3_blank_12_c 139,0,1
+sword_1-1.gat,61,165,4 duplicate(3_blank) 3_blank_12_d 139,1,0
+sword_1-1.gat,76,172,4 duplicate(3_blank) 3_blank_13_a 139,1,0
+sword_1-1.gat,77,173,4 duplicate(3_blank) 3_blank_13_b 139,0,1
+sword_1-1.gat,78,174,4 duplicate(3_blank) 3_blank_13_c 139,1,0
+sword_1-1.gat,79,175,4 duplicate(3_blank) 3_blank_13_d 139,0,1
+sword_1-1.gat,76,165,4 duplicate(3_blank) 3_blank_14_a 139,1,0
+sword_1-1.gat,77,164,4 duplicate(3_blank) 3_blank_14_b 139,0,1
+sword_1-1.gat,78,163,4 duplicate(3_blank) 3_blank_14_c 139,1,0
+sword_1-1.gat,79,162,4 duplicate(3_blank) 3_blank_14_d 139,0,1
+sword_1-1.gat,94,175,4 duplicate(3_blank) 3_blank_15_a 139,0,1
+sword_1-1.gat,95,174,4 duplicate(3_blank) 3_blank_15_b 139,1,0
+sword_1-1.gat,98,174,4 duplicate(3_blank) 3_blank_15_c 139,1,0
+sword_1-1.gat,99,175,4 duplicate(3_blank) 3_blank_16_d 139,0,1
+sword_1-1.gat,96,169,4 duplicate(3_blank) 3_blank_17_a 139,0,0
+sword_1-1.gat,97,169,4 duplicate(3_blank) 3_blank_17_b 139,0,0
+sword_1-1.gat,97,168,4 duplicate(3_blank) 3_blank_17_c 139,0,0
+sword_1-1.gat,96,168,4 duplicate(3_blank) 3_blank_17_d 139,0,0
+sword_1-1.gat,94,162,4 duplicate(3_blank) 3_blank_18_a 139,0,1
+sword_1-1.gat,95,163,4 duplicate(3_blank) 3_blank_18_b 139,1,0
+sword_1-1.gat,98,163,4 duplicate(3_blank) 3_blank_18_c 139,1,0
+sword_1-1.gat,99,162,4 duplicate(3_blank) 3_blank_18_d 139,0,1
+sword_1-1.gat,114,175,4 duplicate(3_blank) 3_blank_19_a 139,0,1
+sword_1-1.gat,115,175,4 duplicate(3_blank) 3_blank_19_b 139,0,1
+sword_1-1.gat,114,162,4 duplicate(3_blank) 3_blank_20_a 139,0,1
+sword_1-1.gat,115,162,4 duplicate(3_blank) 3_blank_20_b 139,0,1
+sword_1-1.gat,126,175,4 duplicate(3_blank) 3_blank_21_a 139,0,1
+sword_1-1.gat,127,175,4 duplicate(3_blank) 3_blank_21_b 139,0,1
+sword_1-1.gat,126,162,4 duplicate(3_blank) 3_blank_23_a 139,0,1
+sword_1-1.gat,127,162,4 duplicate(3_blank) 3_blank_23_b 139,0,1
+sword_1-1.gat,160,174,4 duplicate(3_blank) 3_blank_24_a 139,0,2
+sword_1-1.gat,161,174,4 duplicate(3_blank) 3_blank_24_b 139,0,2
+sword_1-1.gat,160,163,4 duplicate(3_blank) 3_blank_25_a 139,0,2
+sword_1-1.gat,161,163,4 duplicate(3_blank) 3_blank_25_b 139,0,2
+sword_1-1.gat,168,175,4 duplicate(3_blank) 3_blank_26_a 139,0,2
+sword_1-1.gat,169,175,4 duplicate(3_blank) 3_blank_26_b 139,0,2
+sword_1-1.gat,168,162,4 duplicate(3_blank) 3_blank_27_a 139,0,2
+sword_1-1.gat,169,162,4 duplicate(3_blank) 3_blank_27_b 139,0,2
+sword_1-1.gat,176,174,4 duplicate(3_blank) 3_blank_28_a 139,0,2
+sword_1-1.gat,177,174,4 duplicate(3_blank) 3_blank_28_b 139,0,2
+sword_1-1.gat,178,173,4 duplicate(3_blank) 3_blank_28_c 139,1,0
+sword_1-1.gat,178,172,4 duplicate(3_blank) 3_blank_28_d 139,1,0
+sword_1-1.gat,181,174,4 duplicate(3_blank) 3_blank_28_e 139,2,0
+sword_1-1.gat,179,169,4 duplicate(3_blank) 3_blank_29_a 139,3,0
+sword_1-1.gat,179,168,4 duplicate(3_blank) 3_blank_29_b 139,3,0
+sword_1-1.gat,182,169,4 duplicate(3_blank) 3_blank_29_c 139,0,2
+sword_1-1.gat,183,169,4 duplicate(3_blank) 3_blank_29_d 139,0,2
+sword_1-1.gat,181,167,4 duplicate(3_blank) 3_blank_29_e 139,1,0
+sword_1-1.gat,181,166,4 duplicate(3_blank) 3_blank_29_f 139,1,0
+sword_1-1.gat,183,167,4 duplicate(3_blank) 3_blank_29_g 139,0,1
+sword_1-1.gat,176,163,4 duplicate(3_blank) 3_blank_30_a 139,0,2
+sword_1-1.gat,177,163,4 duplicate(3_blank) 3_blank_30_b 139,0,2
+sword_1-1.gat,181,163,4 duplicate(3_blank) 3_blank_30_c 139,2,0
+
+//==============================================================================
+// mapflag
+//==============================================================================
+sword_1-1.gat mapflag nomemo
+sword_1-1.gat mapflag noteleport
+sword_1-1.gat mapflag nosave SavePoint
+sword_1-1.gat mapflag nopenalty
+sword_1-1.gat mapflag nobranch
+sword_1-1.gat mapflag noexp
+sword_1-1.gat mapflag noloot
diff --git a/npc/jobs/1-1/thief.txt b/npc/jobs/1-1/thief.txt new file mode 100644 index 000000000..11ad20913 --- /dev/null +++ b/npc/jobs/1-1/thief.txt @@ -0,0 +1,424 @@ +//===== eAthena Script =======================================
+//= Thief Job Quest
+//===== By: ==================================================
+//= eAthena dev team
+//===== Current Version: =====================================
+//= 1.5
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= <Description>
+//===== 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]
+//============================================================
+
+
+// == Monsters ==
+//Spawn is included in this file so make shure its not elsewhere to!
+job_thief1.gat,0,0,0,0 monster Orange Mushroom 1182,180,0,0,0
+job_thief1.gat,0,0,0,0 monster Fabre 1184,50,0,0,0
+job_thief1.gat,0,0,0,0 monster Chonchon 1183,50,0,0,0
+job_thief1.gat,0,0,0,0 monster Spore 1014,30,0,0,0
+
+
+// == NPCs ==
+// -- Interviewer --
+moc_prydb1.gat,39,129,5 script Thief Guide 69,{
+ callfunc "Thi_check";
+ if(job_thief_q==2) goto L_1;
+ if(job_thief_q==1) goto L_Back;
+
+ mes "[Thief Guide]";
+ if(Sex) {
+ mes "Heh... You look like a well to do boy... what brought you down to this rat hole?";
+ }else{
+ mes "Heh... You look like a well to do girl... what brought you down to this rat hole?";
+ }
+ next;
+M_Menu:
+ menu "'I didn't come here for the atmosphere.....",M_0,"Me? I'm just looking around...",M_End,"Just looking for the one truth",M_Truth;
+
+ M_0:
+ mes "[Thief Guide]";
+ mes "Hmph... you sound a little cocky.... Ya know, being a Thief isn't all it's cracked up to be....";
+ mes "That reminds me.... I must have been at lvl 9 or 10.... it was my first robbery....";
+ next;
+ mes "[Thief Guide]";
+ mes "Hahahaha... I can still remember the look on that guy's face...";
+ emotion 18;
+ next;
+ mes "[Thief Guide]";
+ mes "But anyways... I assume you're here to become a thief...";
+ next;
+ menu "-You got it.",sM_0a, "-Nope. Just wasting your time. ^ ^",sM_0b, "-Why did you steal from that man?",sM_0c;
+
+ sM_0a:
+ goto L_Test;
+ sM_0b:
+ mes "[Thief Guide]";
+ mes "Wow... thanks... now get the HELL OUTA HERE!!";
+ emotion 6;
+ close;
+ sM_0c:
+ mes "[Thief Guide]";
+ mes "Eh? Me?... Well... I really had no other choice at the time.... It was either I stole or I starved.";
+ mes "I really couldn't go hungry another day.";
+ close;
+
+ M_Truth:
+ mes "[Thief Guide]";
+ mes "To see one's light, you need to be under the magic of the book where the royalty looms.";
+ close;
+
+ M_End:
+ mes "[Thief Guide]";
+ mes "Must you people keep wasting my time!!?";
+ emotion 32;
+ close;
+
+ L_Test:
+ mes "[Thief Guide]";
+ mes "Ok then. First, fill out this application form.";
+ next;
+ mes "(you fill out the form and hand it back)";
+ next;
+ if(JobLevel < 10) goto sL_JobLvl;
+
+ mes "[Thief Guide]";
+ mes "Alrighty ^ff0000"+ strcharinfo(0) + "^000000, if that IS your real name..... looks like you've got quite a 'record' here.";
+ mes "Let's see.... aggravated assualt... felony larson..... hmm....";
+ next;
+ mes "[Thief Guide]";
+ mes "Ah, here we go...... you've got the job and skill requirements to become a Thief. Now all you gota do is pass the Morroc Thief Test.";
+ next;
+
+ L_Explain:
+ mes "[Thief Guide]";
+ mes " The test will require you to ^ff0000'sneak'^000000 into ^ff0000'Shibu's Farm'^000000, and ^ff0000'steal'^000000 some ^aaaa00'Mushrooms'^000000.";
+ mes " There are ^ff00002^000000 kinds of ^aaaa00Mushrooms^000000 on the farm, ^ffbb00Orange Net Mushrooms^000000 and ^ffbb00Orange Gooey Mushrooms^000000.";
+ next;
+ mes "[Thief Guide]";
+ mes "'Shibu' just happens to be the worst merchant scammer in Morroc, in case your wondering why he's our target.";
+ next;
+ mes "[Thief Guide]";
+ mes " Bring the Mushrooms back here and someone will give you a score based on the type, and the amount of mushrooms you get.";
+ mes " 1 Orange Net Mushroom = ^0000ff3 points^000000 while 1 Orange Gooey Mushroom = ^0000ff1 point^000000. You need 25 points to pass the test.";
+ next;
+ mes "[Thief Guide]";
+ mes " In order to get into Shibu's Farm you'll need to talk to one of our 'associates'. You can find him just ouside of this pyramid standing near some columns.";
+ mes " He goes by the name ^ddcc00'Irrelevant Man'^000000.";
+ next;
+ mes "[Thief Guide]";
+ mes " Here are his exact coordinates just in case you are 'directionaly challenged': '^FF0000141, 125^000000'.";
+ mes " Find him and he'll show you a secrect way into the Farm.";
+ next;
+ mes "[Thief Guide]";
+ mes " This sounds easy but ^009900do you know there are Monsters which keep Mushrooms from the robbery^000000?"; //had to leave the engrish in, it was to good not too. d^_^b
+ mes " Please ^0000ffget yourself out of the Fairy Tales^000000 and ^ff0000'Brace up your nerves. That will be the toughest experience to you^000000.";
+ next;
+ mes "[Thief Guide]";
+ mes " So, I will give you one tip. ^ff0000Elaborate the Strategy^000000 before you going inside the Farm.";
+ next;
+ mes "[Thief Guide]";
+ mes " Try to steal the mushrooms as quickly as you can. You may even have to ^0000ffunequip some weapons or armor^000000.";
+ mes " You don't want to get killed while doing this... at the very least try to give me the mushrooms first.... then you can go get yourself killed... HA!";
+ next;
+ mes "[Thief Guide]";
+ mes " If you don't have any questions... then GET moving!";
+ emotion 27;
+ set job_thief_q,1;
+ close;
+
+ sL_JobLvl:
+ mes "[Thief Guide]";
+ mes "Err I can see how ambitious you are......but we can't hand a gun to a baby only for that? Come back when you learn all Basic Skills.";
+ close;
+
+ L_Back:
+ if(countitem(1069)>0 || countitem(1070)>0) goto sL_1;//Items: Orange_Net_Mushroom, Orange_Gooey_Mushroom_,
+
+ sL_0:
+ mes "[Thief Guide]";
+ mes "..... What are you doing here? You're supposed to be gathering mushrooms remember??";
+ mes "Don't tell me you forget what to do??? Jeeze... do you want me to explain it to you one more time?......";
+ emotion 20;
+ next;
+ menu "Heh.. yeah I guess..",sM_1a, "Nope.",sM_1b;
+
+ sM_1a:
+ mes "[Thief Guide]";
+ mes "(~sigh~) There's always someone who gets left behind.... This is the last time so listen CAREFULLY!!....";
+ emotion 32;
+ next;
+ goto L_Explain;
+ sM_1b:
+ mes "[Thief Guide]";
+ mes ".... Then what is it??? Do you have something to tell me? YOUR the one who came TO ME...";
+ mes "What... you wanna a piece of me?? HUH!!??";
+ emotion 7;
+ close;
+
+ sL_1:
+ mes "[Thief Guide]";
+ mes "What? You actually went and stole some mushrooms?? Are you some kinda idiot?";
+ mes "Haha... I can't believe you listened to me..... ";
+ emotion 1;
+ next;
+ mes "[Thief Guide]";
+ mes ".... Psych!! Just kidding... heheheh! Speak with the guy next to me about rating the mushrooms you swiped.";
+ emotion 18;
+ close;
+
+ L_1:
+ mes "[Thief Guide]";
+ mes "So how was the Mushroom Farm. Did ya have much fun?";
+ next;
+ menu "Yeah, kinda Cool.",M_Cool,"It was horrible.",M_Not;
+
+ M_Cool:
+ mes "[Thief Guide]";
+ mes " Wow! I like you! Fabulous! Everyone before you was `S@#$ Bloody As#$%^&s'.";
+ next;
+ mes "[Thief Guide]";
+ mes "...... You won't take my place, will you? If you have any ambition like that, I will kick your ^ff0000'ASS OUT OF YOUR BUTT'^000000!"; //this is just too much lol.
+ emotion 0;
+ next;
+ mes "[Thief Guide]";
+ mes " Still, in order to pass the test you need to go get some mushrooms.";
+ close;
+ M_Not:
+ mes "[Thief Guide]";
+ mes " I know what ya mean. I was there before and it was awfull. All those smelly mushrooms and aggressive monsters.";
+ next;
+ mes "[Thief Guide]";
+ mes " Eeewww! Yuuuckk! Still, in order to pass the test you need to go get some mushrooms.";
+ emotion 16;
+ close;
+}
+
+
+// -- Test Grader --
+moc_prydb1.gat,42,133,2 script Comrade Brad 118,{
+ callfunc "F_ToHigh",30,"Thief High",36,"Assassin Cross",149,150,151,152,"Brad";
+ if(BaseJob == 0) goto L_Novice;
+ if(BaseJob == 6) goto L_Thief;
+
+L_Other:
+ mes "[Brad]";
+ mes "Hey~ Hey~!! You don't look like a Thief. What the heck? You'd BETTER NOT be trying to start someting on THIEF TERRITORY!!";
+ emotion 23;
+ close;
+L_Thief:
+ mes "[Brad]";
+ mes "We don't have any Special events for Thieves yet. Come back some other time, alright?";
+ close;
+
+L_Novice:
+ mes "[Comrade Brad]";
+ if((job_thief_q == 2) && ((countitem(1069) > 0) || (countitem(1070) > 0))) goto L_4;//Items: Orange_Net_Mushroom, Orange_Gooey_Mushroom_,
+ if(job_thief_q >= 1) goto L_3;
+
+ mes "Errr? What's matter newbie? If you want to be a thief, speak to the girl beside me.";
+ close;
+L_3:
+ mes "Go get some mushrooms so that I can grade them ok.";
+ close;
+L_4:
+ mes "Good. You got some mushrooms from that crooked merchant Shibu";
+ next;
+
+ set @mushrm1,countitem(1069)*3;//Items: Orange_Net_Mushroom,
+ set @mushrm2,countitem(1070);//Items: Orange_Gooey_Mushroom_,
+ set @TotMush,@mushrm1 + @mushrm2;
+ set @money_thief,((countitem(1069) * 5) + (countitem(1070)* 2)) + 200;//Items: Orange_Net_Mushroom, Orange_Gooey_Mushroom_,
+
+ mes "[Comrade Brad]";
+ mes "Let's see you got:";
+ mes "^0000ff"+countitem(1069)+"^000000 Orange Net Mushrooms for ^ffbb00"+@mushrm1+"^000000 points,";//Items: Orange_Net_Mushroom,
+ mes "^0000ff"+countitem(1070)+"^000000 Orange Gooey Mushrooms for ^ffbb00"+@mushrm2+"^000000 points,";//Items: Orange_Gooey_Mushroom_,
+ mes "Giving you a total score of ^ff0000"+@TotMush+"^000000.";
+ next;
+ if (@TotMush > 25) goto L_High;
+ if (@TotMush == 25) goto L_Medium;
+
+ mes "[Comrade Brad]";
+ mes "Meh!.... looks like you failed. C'mon! You can do better than that! Go get some more mushrooms!!!";
+ close;
+
+ L_Medium:
+ mes "[Comrade Brad]";
+ mes "Good. You passed the Test.";
+ next;
+ goto L_Final;
+
+ L_High:
+ mes "[Comrade Brad]";
+ mes "Ooooh. Above 25, kewl. You passed the Test!";
+ next;
+
+ L_Final:
+ mes "[Comrade Brad]";
+ mes "Congratulations ^ff0000"+strcharinfo(0)+"^000000, you passed the official Thief Test! You can now become a Thief!!";
+ emotion 21;
+ next;
+ if(SkillPoint > 0) goto sL_SkPoint;
+ delitem 1069, countitem(1069);//Items: Orange_Net_Mushroom,
+ delitem 1070, countitem(1070);//Items: Orange_Gooey_Mushroom_,
+
+ callfunc "Job_Change",Job_Thief;
+ callfunc "F_ClearJobVar"; // clears all job variables for the current player
+
+ mes "[Comrade Brad]";
+ mes "Here's a small reward for your hard work. Spend it any way you want to.";
+ next;
+ set Zeny,Zeny+@money_thief;
+ mes "[Comrade Brad]";
+ mes "From now on you must act, think, and even smell like a Thief.";
+ mes "You are one of us now, which means you have the trust and freindship of Thieves all over Rune Midgard";
+ next;
+ mes "[Comrade Brad]";
+ mes "However, If you bring disgrace to our Guild, or ever betray us, we will not hesitate to have you......";
+ mes "how shall I say..... ^ff0000'REMOVED'^000000 from the Thief Guild.";
+ emotion 29;
+ next;
+ mes "[Comrade Brad]";
+ mes "Good luck and always remeber the ^0000cc'Thief Motto'^000000: ^ff0000DON'T Get Caught^000000l!";
+ close;
+
+ sL_SkPoint:
+ mes "[Comrade Brad]";
+ mes "But before that happens please use up all of your skill points ok?";
+ close;
+
+}
+
+
+// -- Irrelevant Man --
+moc_ruins.gat,141,125,3 script Irrelevant Man 118,{
+ if(BaseJob == 6) goto L_Thief;
+ if(BaseJob == 0) goto L_Novice;
+
+L_Other:
+ if(@s_flag==1) goto L_1b;
+ if(@s_flag==2) goto L_1c;
+ if(@s_flag==3) goto L_1d;
+ if(@s_flag==4) goto L_1e;
+ set @s_flag, 0;
+
+ L_1a:
+ mes "[Irrelevant Man]";
+ mes "Howdy~ Howdy. What a Wonderful day today,isn't it?";
+ mes "I feel like going on a 'Picnic' in the Pyramids with a couple freinds of mine today.";
+ set @s_flag, @s_flag+1;
+ close;
+ L_1b:
+ mes "[Irrelevant Man]";
+ mes "'Lalalala, Home sweet Home.'";
+ mes "I like this saying. Home Sweet Home....";
+ set @s_flag, @s_flag+1;
+ close;
+ L_1c:
+ mes "[Irrelevant Man]";
+ mes "...... I could fly if I fell off............ ";
+ set @s_flag, @s_flag+1;
+ close;
+ L_1d:
+ mes "[Irrelevant Man]";
+ mes ".......Hmm?.....";
+ next;
+ mes "[Irrelevent Man]";
+ mes "Hey!! DON'T LOOK AT ME like that! I'M NOT some WACKO okay!!!";
+ set @s_flag, @s_flag+1;
+ emotion 6;
+ close;
+ L_1e:
+ mes "[Irrelevant Man]";
+ mes "Dude! I got nothin to say with you! Mind your own business! Sheesh!!";
+ emotion 32;
+ close;
+
+L_Thief:
+ mes "[Irrelevant Man]";
+ mes "Yah Hoo! Look at you! You became a Kool Thief!";
+ emotion 21;
+ next;
+ mes "[Irrelevant Man]";
+ mes "Don't worry about Shibu's Farm. Let the newbies handle that. Why don't ya go out and kill some stronger monsters.";
+ close;
+
+L_Novice:
+ if(job_thief_q==2) goto L_3;
+ if(job_thief_q==1) goto L_2;
+ mes "[Irrelevant Man]";
+ mes "Hey!! Novice! Want to be Stronger and more Powerful!? Do you like hiding and sneeking around?";
+ mes "If so, Join the Thief Guild! You are always welcome! Join now!";
+ next;
+ mes "[Irrelevant Man]";
+ mes "You can get more information in the 1st floor basement of the Pyramid!";
+ close;
+L_2:
+ mes "[Irrelevant Man]";
+ mes "Pssst......Pssst......hey you! You look like your gonna take the ^ff0000'Test'^000000. Am I right?";
+ next;
+ mes "[Irrelevant Man]";
+ mes "Lets see here.....(checks his list).... you're ^ff0000"+ strcharinfo(0) +"^000000 right? Good.";
+ next;
+ mes "[Irrelevant Man]";
+ mes "Ok! I'm gonna show you the way in but keep quite. I can't guarantee your safety so watch your back.";
+ next;
+
+ L_Warp:
+ set @TEMP,rand(5);
+ set job_thief_q,2;
+ if(@TEMP != 0) goto warpL03a;
+ warp "job_thief1.gat",228,106;
+ close;
+ warpL03a:
+ if(@TEMP != 1) goto warpL03b;
+ warp "job_thief1.gat",38,50;
+ close;
+ warpL03b:
+ if(@TEMP != 2) goto warpL03c;
+ warp "job_thief1.gat",66,331;
+ close;
+ warpL03c:
+ if(@TEMP != 3) goto warpL03d;
+ warp "job_thief1.gat",196,331;
+ close;
+ warpL03d:
+ warp "job_thief1.gat",309,234;
+ close;
+
+L_3:
+ mes "[Irrelevant Man]";
+ mes "Muhahahaha~~ WHAT???~~ You HAVEN'T PASSED the Test yet? Are you some sort of Idiot!! Kakakaka!!";
+ emotion 18;
+ next;
+ mes "[Irrelevant Man]";
+ mes "Just kidding..... NOT!!. Anywho I'll let ya back in!";
+ next;
+ menu "Ready",M_Yes,"Not yet",M_No;
+
+ M_Yes:
+ goto L_Warp;
+
+ M_No:
+ mes "[Irrelevant Man]";
+ mes "Ok, let me know when you are.";
+ close;
+
+}
+
+//==============================================================================
+// mapflag
+//==============================================================================
+job_thief1.gat mapflag nomemo
+job_thief1.gat mapflag noteleport
+job_thief1.gat mapflag nosave SavePoint
+job_thief1.gat mapflag nopenalty
+job_thief1.gat mapflag nobranch
+job_thief1.gat mapflag noexp
diff --git a/npc/jobs/1-1e/taekwon.txt b/npc/jobs/1-1e/taekwon.txt new file mode 100644 index 000000000..00fb1d502 --- /dev/null +++ b/npc/jobs/1-1e/taekwon.txt @@ -0,0 +1,71 @@ +//===== eAthena Script =======================================
+//= Taekwon Job Quest
+//===== By: ==================================================
+//= Lupus
+//===== Current Version: =====================================
+//= 0.3
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= 0.1 Now it's just a questless temp NPC
+//= We use CLASS instead of BASEJOB to protect from Advanced/Baby Classes
+//= 0.3 Updated The Job Qusts due to SG / SL Job Quests [Lupus]
+//============================================================
+
+
+payon.gat,146,87,7 script Taekwon 764,{
+ mes "[Taekwon]";
+ if(Class==Job_Novice) goto L_Check;
+ if(Class==Job_Soul_Linker || Class==Job_Star_Gladiator){
+ mes "That's all for now. You know your way. Be brave!";
+ mes "I'm staying here and looking forward to the new hope of the Rune-Midgart Kingdom.";
+ close;
+ }
+ if(Class==Job_Taekwon){
+ mes "Hello, my brother Taekwon!";
+ if(JobLevel<40) {
+ mes "On achieving Job Level 40 visit me again...";
+ emotion e_go;
+ close;
+ }
+ mes "You've became much stronger... Now tell me your way?";
+ next;
+ menu "I choose the way of Stars...",-,"I prefer the way of Soul...",M_SOUL,"I've none.",M_NOTHING;
+
+ warp "job_star.gat",166,21; //SG
+ end;
+ M_SOUL:
+ warp "job_star.gat",99,22; //SL
+ end;
+
+ }
+ mes "Good day. I'm a Taekwon Guild Master.";
+ emotion 1;
+ close;
+
+L_Check:
+ mes "Hi, brave Novice!";
+ mes "Waht do you want?";
+ next;
+ menu "I want to be a Taekwon",-,"Nothing.",M_NOTHING;
+
+ mes "[Taekwon]";
+ if(JobLevel<10 || SkillPoint) {
+ mes "You have to learn all the basic skills and reach 10 Job Level.";
+ emotion e_sry;
+ close;
+ }
+
+ jobchange Job_Taekwon;
+ callfunc "F_ClearJobVar";
+ mes "Congratulations!";
+ close;
+
+M_NOTHING:
+ mes "[Taekwon]";
+ mes "Then... see you soon.";
+ close;
+
+}
diff --git a/npc/jobs/2-1/assassin.txt b/npc/jobs/2-1/assassin.txt new file mode 100644 index 000000000..2e0f9aa52 --- /dev/null +++ b/npc/jobs/2-1/assassin.txt @@ -0,0 +1,1870 @@ +//===== eAthena Script =======================================
+//= Assassin Job Quest
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.6
+//===== Compatible With: =====================================
+//= eAthena RC4
+//===== Description: =========================================
+//= Based of Official RO Assassin jobchange quest. There are small
+//= differences due to gameplay issues.
+//===== Additional Comments: =================================
+//= v1.0 Used some dialogue from the aegis Assassin script translated By: Pgro Team (OwNaGe)
+//= Also converted the booby traps from the aegis script.[kobra_k88]
+//= v1.1 Made adjustments to ontouch npcs to work with the new "ontouch" functionality.
+//= Fixed some duplicate npc names. Added missing waitingroom triggers.
+//= Fixed warp in "TimerSin", was supposed to be an areawarp.
+//= For some reason sometimes the "Nameless One" would have message windows
+//= without controls. Changed the doevent that triggers him to an
+//= addtimer and that seemed make the prob. go away[kobra_k88]
+//= 1.2 Fixed WRONG skillpoint check! [Lupus]
+//= 1.2b Fixed missing commands and typos [Lupus]
+//= 1.3 Baby class Support added [Lupus]
+//= 1.5 Fixed possible EXP abuse [Lupus]
+//= 1.6 Added a func which prevent advanced classes passing
+//= 2nd Job Quests again. It also guides adv classes where
+//= to go. [Lupus]
+//============================================================
+
+
+
+//============================================================================//
+// Job Changer
+//****************************************************************************//
+
+in_moc_16.gat,19,33,4 script Guildsman 55,{
+ callfunc "F_BlockHigh",30,"Thief High",36,"Assassin Cross","Assassin Huey";
+
+ if(BaseJob==Job_Thief) goto L_Thief;
+ callfunc "Ass_check";
+
+L_Thief:
+ if(JobLevel >= 40) goto L_Start;
+ mes "Hmm? What brings you here?.... I don't think I like the way you're looking at me....?!";
+ emotion 1;
+ next;
+ mes "[Angry looking man]";
+ mes ".... Hmm.... You're not qualified yet. To become an Assassin you will have to meet our expectations.";
+ next;
+ mes "[Angry looking man]";
+ mes "Why don't you go train some more...... You need to have a job level of at least 40 to even hope of becoming one of us....";
+ close;
+
+L_Start:
+ if(ASSIN_Q == 1) goto L_Failed1;
+ if(ASSIN_Q == 2) goto L_Failed2;
+ if(ASSIN_Q == 4) goto L_Change;
+ mes ".... A Thief huh?..... And a well trained one at that, cause I can't seem to find my wallet!";
+ emotion 18;
+ next;
+ mes "[Angry looking man]";
+ mes "We need people like you, you know........ So how about taking the next step in the world of crime, and become an Assassin?";
+ M_Menu:
+ next;
+ menu "You bet! I've picked my last pocket.",M_0, "What are the requirements?",M_1, "Maybe later.... I need to steal some things first.",M_2;
+
+ M_0:
+ mes "[Angry looking man]";
+ mes "It's been a long time since we've recieved any Assassin candidates..... anyhow let me send you ^5533FFAssassin 'Kai'^000000.";
+ mes "He'll take care of the registration process.";
+ enablenpc "Assassin Kai#1";
+ disablenpc "Assassin Kai#2";
+ savepoint "in_moc_16.gat", 19, 27;
+ close2;
+ warp "in_moc_16.gat", 19, 76;
+ end;
+ M_1:
+ mes "[Angry looking man]";
+ mes "Requirements? Here they are....";
+ mes "#1. You have to be a Thief.";
+ mes "#2. Must have a job level of at least 40.";
+ mes "#3. You have to past the Assassin guild tests.";
+ next;
+ mes "[Angry looking man]";
+ mes "That's all there is too it. If you're confident in your abilities, then test will be a piece of cake.";
+ goto M_Menu;
+ M_2:
+ mes "[Angry looking man]";
+ mes "Hmm..? Ok then... so be it........";
+ close;
+
+L_Failed1:
+ mes "What's this? I can't believe you failed the first test.";
+ mes "~Sigh~........................";
+ close2;
+ disablenpc "Assassin Kai#1";
+ enablenpc "Assassin Kai#2";
+ warp "in_moc_16.gat", 19, 76;
+ end;
+
+L_Failed2:
+ mes "What are you doing out here?? Go back in and finish the second test!!";
+ close2;
+ warp "in_moc_16.gat", 21, 160;
+ end;
+
+L_Change:
+ if (skillpoint > 0) goto L_SkPoints;
+ if(countitem(1008) < 1) goto L_NoNecklace;
+ mes "Ah... the Necklace of Oblivion..... that means that the Guild Master has accepted you into the Assassin clan.";
+ next;
+ mes "[Assassin Huey]";
+ mes "Congratulations! After all of your hard work, you can finally become an Assassin!";
+ emotion 21;
+ next;
+ mes "[Assassin Huey]";
+ mes "Very well done, you are now offically an Assassin. Although you are free to visit us at anytime..............";
+ setlook 7,0;
+ callfunc "Job_Change",Job_Assassin;
+ callfunc "F_ClearJobVar"; // clears all job variables for the current player
+ set kaitrig, 0;
+ next;
+ mes "[Assassin Huey]";
+ mes "Remember that you are on your own now. The shadows are your new home and your best freinds are the blades in your hands...........";
+ close;
+
+ L_SkPoints:
+ mes "You will need to use up all of your skill points if you want to become an Assassin.";
+ close;
+
+ L_NoNecklace:
+ mes "Hmm? You want me to promote you to the job class of Assassin? Well show me your ^5544FF'Necklace of Oblivion'^000000 then.......";
+ next;
+ mes "[Assassin Huey]";
+ mes "You do have one don't you? Only those who have been given the 'Necklace of Oblivion' by the Guild Master have the right to become Assassins.";
+ next;
+ menu "Oh yeah.... It's in my other pair of Thief pants....",-, "Well... It kinda got stolen... heh....",M_Restart;
+
+ mes "[Assassin Huey]";
+ mes "I don't care where it is.... if you want to become an Assassin you'd better get it.";
+ close;
+
+ M_Restart:
+ mes "[Assassin Huey]";
+ mes "........................................";
+ next;
+ mes "[Assassin Huey]";
+ mes "!!(shouts profanities at you)!!";
+ next;
+ mes "[Assassin Huey]";
+ mes "Have fun stating ALL OVER!!";
+ set ASSIN_Q, 0;
+ set ASSIN_Q2, 0;
+ close2;
+ warp "moc_fild16.gat", 206, 155;
+ end;
+}
+
+
+//============================================================================//
+// Registrar
+//****************************************************************************//
+
+// Assassin Kai: First Position =================================
+in_moc_16.gat,21,91,4 script Assassin Kai#1 730,4,4,{
+ end;
+
+OnTouch:
+ mes "[Assassin Kai]";
+ mes "Ummm???....";
+ disablenpc "Assassin Kai#1";
+ enablenpc "Assassin Kai#2";
+ close;
+}
+
+// Assassin Kai: Second Position ==============================
+in_moc_16.gat,25,90,4 script Assassin Kai#2 730,2,1,{
+ if(kaitrig == 1) goto OnTouch;
+ mes "[Assassin Kai]";
+ mes "Come closer to me, I like to see a persons face when I'm talking to them.";
+ close;
+
+OnTouch:
+ set kaitrig, 1;
+ mes "[Assassin Kai]";
+ if(ASSIN_Q==1) goto L_Failed;
+ mes "So you're an Assassin candidate.... ~sigh~.... Let me apologize for my behavior....";
+ mes "You see, when someone comes near me, I can't help but hide...... it's a bad habbit really....";
+ next;
+ mes "[Assassin Kai]";
+ mes "Anyhow, welcome. So you want to be an Assassin do you?";
+ next;
+ menu "Yes. ",M_Yes, "...No.",M_No;
+
+ M_Yes:
+ mes "[Assassin Kai]";
+ mes "Okay, good. Fill out this form first. Make sure to write your name and your job level down";
+ next;
+ mes "(you fill out the form and hand it back)";
+ next;
+ mes "[AssassinKai]";
+ mes "Let's see... your name is ^5533FF" +strcharinfo(0)+ "^000000... and you have a job level of "+JobLevel+"....";
+ next;
+ mes "[AssassinKai]";
+ if(JobLevel == 50) goto sL_HighLvl;
+ mes "Well, you barely passed the job requirements but, meh, it's not important";
+ mes "~mumbles~(no one has any guts anymore.... bunch of pansies......)";
+ next;
+ mes "[Assassin Kai]";
+ mes "Hmm? What's that? Oh I was just talking to myself.... it was nothing really.......";
+ mes "Anyway, let me send to to the test hall for your first test.";
+ set JBLVL, 40;
+ close2;
+ warp "in_moc_16.gat", 19, 141;
+ end;
+
+ sL_HighLvl:
+ mes "Wow you have a job level of 50! You've been training hard haven't you?";
+ mes "The Guild Master will be pleased to see someone of your qualifications.";
+ next;
+ mes "[Assassin Kai]";
+ mes "You first test will be with the ^5533FF'Nameless One'^000000. I'll send you too him right away.";
+ set JBLVL, 50;
+ close2;
+ warp "in_moc_16.gat", 19, 141;
+ end;
+
+ M_No:
+ mes "[Assassin Kai]";
+ mes "Huh?? You don't?........";
+ emotion 1;
+ next;
+ mes "[Assassin Kai]";
+ mes "Are you trying to play games with me??";
+ next;
+ mes "[Assassin Kai]";
+ mes "Don't you want to become an Assassin?............";
+ next;
+ menu "Not really....",-, "Yes, of course I do.",sM_Yes;
+
+ mes "[Assassin Kai]";
+ mes "....Well, if thats the case,........ GET OUT!!";
+ close2;
+ warp "moc_fild16.gat", 206, 229;
+ end;
+ sM_Yes:
+ mes "[Assassin Kai]";
+ mes "...... Hmf...... Anyways......";
+ next;
+ goto M_Yes;
+
+L_Failed:
+ mes "Ehhh? Weren't you just here a minute ago?";
+ emotion 1;
+ next;
+ mes "[Assassin Kai]";
+ mes "What's this?..... You failed the first test?";
+ next;
+ mes "[Assassin Kai]";
+ mes "HAHAHAHAAHAHAHAHA!!!!";
+ emotion 18;
+ next;
+ mes "[Assassin Kai]";
+ mes "Hehe...HAHA...~cough~..Damn.... It's been a long time since I've met a looser like you..... Ha Ha....";
+ emotion 18;
+ next;
+ mes "[Assassin Kai]";
+ mes "Oh...sorry for laughing in your face like this.... but it's just too funny... hahahehehe....";
+ emotion 18;
+ next;
+ mes "[Assassin Kai]";
+ mes "So..... do you need me to give you any hints?";
+ next;
+ menu "...yes ...please",-, "Stop laughing and just give me the stupid tips!.",M_1, "Shut up! I don't need your stinkin help!!",M_2;
+
+ mes "[Assassin Kai]";
+ mes "Hahaahhaha!!! Well at least you're honest.....";
+ mes "Haha....My stomach...ouch... my stomach hurts!! You're killing me! Hahahaha!!!";
+ emotion 18;
+ next;
+ mes "[Nameless One]";
+ mes ".....Hahaha.";
+ next;
+ mes "[Assasin Kai]";
+ mes "HAHAHAHA!! Nameless One, you think its funny too?";
+ emotion 18;
+ next;
+ mes "[Nameless One]";
+ mes "Hehehe..... yes very.....";
+ next;
+ mes "[Assassin Kai]";
+ mes "Heh heh..... Oh my.....";
+ next;
+ mes "[Assassin Kai]";
+ mes "..... so you want some pointers huh?";
+ next;
+ mes "[Assassin Kai]";
+ mes "...";
+ next;
+ mes "[Assassin Kai]";
+ mes ".....";
+ next;
+ mes "[Assassin Kai]";
+ mes "........";
+ next;
+ mes "[Assassin Kai]";
+ mes "...............";
+ next;
+ mes "[Assassin Kai]";
+ mes "......Hmmm..... Too bad. I don't feel like giving you any.";
+ next;
+ mes "[Assassin Kai]";
+ mes "Hahaha.... I can't beleive this..... hahaha.....";
+ emotion 18;
+ close2;
+ warp "in_moc_16.gat", 19, 141;
+ end;
+ M_1:
+ mes "[Assassin Kai]";
+ mes "Hmm..... I see... Sorry about my outburst of laughter...... people make mistakes from time to time..... I understand this.";
+ next;
+ mes "[Assassin Kai]";
+ mes "Although I can't give you any answers to the test, I can give you some usefull information about Assassins that may help you......";
+ next;
+ mes "[Assassin Kai]";
+ mes "For an Assassin honor and pride is of the utmost importance. You cannot be an Assassin without any honor.";
+ mes "....One day people will come to rely on you. Waiting for that day is an Assassin's destiny.";
+ next;
+ mes "[Assassin Kai]";
+ mes "Assassins are destined to live a solitary life. Our lifestyles make it difficult for us to get close to anyone.";
+ mes "Imagine what your loved ones would think if they saw your blood stained hands.......";
+ next;
+ mes "[Assassin Kai]";
+ mes "..... Without a doubt, they would be shocked and become fearfull of you.";
+ mes "They would not be able to stay by your side, leaving you all alone to deal with your sins.";
+ next;
+ mes "[Assassin Kai]";
+ mes "Though it is lonesome, it is still a worthy existance.";
+ mes "As an Assassin you are free to do as you choose without anyone tying you down or holding you back.";
+ next;
+ mes "[Assassin Kai]";
+ mes "This is all I have to say about Assassins...... I hope what I've said doesn't depress you?";
+ close2;
+ warp "in_moc_16.gat", 19, 141;
+ end;
+ M_2:
+ mes "[Assassin Kai]";
+ mes "...Hmmm.....";
+ next;
+ mes "[Assassin Kai]";
+ mes "Good. Thats the spirit! Never let anyone take away your confidence.";
+ mes "Assassins must be strong minded and determined. I apologize for laughing at you earlier.";
+ next;
+ mes "[Assassin Kai]";
+ mes "Unfortunately there are too many morons nowadays, who are not very knowledgable about thier jobs.......";
+ next;
+ mes "[Assassin Kai]";
+ mes "How could they forget about the struggles necessary to become an Assasin??!! They are truly shameless......";
+ next;
+ mes "[Assassin Kai]";
+ mes "So please.............";
+ next;
+ mes "[Assassin Kai]";
+ mes "Always remember to be proud of the fact that you are an Assassin.";
+ mes "Have repsect for the blood that stains your katars and daggers!!";
+ next;
+ menu "Ok cotcha.",-, "Uh... I'm confused.....",sM_End;
+
+ mes "[Assassin Kai]";
+ mes ".... Good! I'm glad you understand what I'm talking about. Here, let me give you some tips about the first test......";
+ next;
+ callsub sF_Quiz;
+ next;
+ mes "[Assassin Kai]";
+ mes "I've said quite a lot and I acutally feel a little bit tired now. Hopefully you will do better this time.";
+ mes "Get ready, I will send you to the test hall again.";
+ close2;
+ warp "in_moc_16.gat", 19, 141;
+ close;
+
+ sM_End:
+ mes "[Assassin Kai]";
+ mes ".... Hmf... how can you be such an idiot??? You couldn't understand what I was talking about??";
+ emotion 23;
+ next;
+ mes "[Assassin Kai]";
+ mes "Is an Assassin's honor that hard to comprehend?!";
+ next;
+ mes "[Assassin Kai]";
+ mes "Grrrrr!!! You're probably going to be a moron all of your life...........";
+ emotion 6;
+ next;
+ mes "[Assassin Kai]";
+ mes "GET OUT! Get out of here right now!! You're not fit to become an Assassin!!!";
+ emotion 32;
+ close2;
+ warp "c_tower4.gat", 64, 76;
+ close;
+
+sF_Quiz:
+ if(@temp == 1) goto sL_Quiz2;
+ if(@temp == 2) goto sL_Quiz3;
+
+ sL_Quiz1:
+ mes "[Assassin Kai]";
+ mes "First of all, the skill ^554433Grimtooth^000000 can only be used with ^554433Katar^000000 type weapons. It is useless with Daggers.";
+ next;
+ mes "[Assassin Kai]";
+ mes "Poison is a must for all assassins.";
+ next;
+ mes "[Assassin Kai]";
+ mes "Have you used ^554433Double Attack^000000? ...It'll hit the enemy twice ^554433without using sp^000000.";
+ next;
+ mes "[Assassin Kai]";
+ mes "^554433Red Gemstones^000000 are the only stones that Assassins use. Blue Gemstones are useless to Assassins!";
+ next;
+ mes "[Assassin Kai]";
+ mes "Water is stronger than Fire... so that means Water is good against Fire element monsters";
+ next;
+ mes "[Assassin Kai]";
+ mes "Water is moved by Wind, so that means ^554433Water is weak against Wind^000000.";
+ next;
+ mes "[Assassin Kai]";
+ mes "You use ^554433Cloak only when your close to a wall^000000. You can only be 1 cell away from the wall or else you'll be seen.";
+ return;
+ sL_Quiz2:
+ mes "[Assassin Kai]";
+ mes "Some Katars have element powers";
+ next;
+ mes "[Assassin Kai]";
+ mes "What weapon is worth buying? If you don't know, look at your hands.";
+ next;
+ mes "[Assassin Kai]";
+ mes "Katars are weapons that are dropped by monsters in the desert. They are very useful";
+ next;
+ mes "[Assassin Kai]";
+ mes "The Katar is one of the strongest weapons a Assassin can use.";
+ next;
+ mes "[Assassin Kai]";
+ mes "I ^554433wouldn't want to raise a Roda Frog as pet^000000, and neither would anyone else for that matter.";
+ next;
+ mes "[Assassin Kai]";
+ mes "^554433Fire^000000 is effective against ^554433ground type monsters^000000.";
+ next;
+ mes "[Assassin Kai]";
+ mes "If you want to know what element your weapon is, look at its name.";
+ return;
+ sL_Quiz3:
+ mes "[Assassin Kai]";
+ mes "The ^554433Elder Willow Card adds to your intelligence^000000.";
+ next;
+ mes "[Assassin Kai]";
+ mes "We Assassins specialize in the ability to dodge and attack. Our defense however, is very poor.";
+ next;
+ mes "[Assassin Kai]";
+ mes "......";
+ next;
+ mes "[Assassin Kai]";
+ mes "Dagger class weapons can be used on two hands!";
+ next;
+ mes "[Assassin Kai]";
+ mes "I haven't been to Morroc for a long time.... not since I became a Thief anyway......";
+ next;
+ mes "[Assassin Kai]";
+ mes "Stealing mushrooms..... what fond memories I had of those orange gooey mushrooms.....";
+ next;
+ mes "[Assassin Kai]";
+ mes "The ^554433Baphomet Jr. Card adds 3 agility and 1 critical^000000 to your stats";
+ next;
+ mes "[Assassin Kai]";
+ mes "We Assassins have the highest agility of all the other classes. We can get a ^5533FFmaximum of 10 extra points in agility^000000.";
+ return;
+}
+
+
+
+//============================================================================//
+// First Test
+//****************************************************************************//
+
+// ----------------------------------------------------------------
+// Keeps the player from moving to far into the room.
+// This is to avoid cheaters who might try to take Bakardi's test first.
+in_moc_16.gat,19,144,1 script getbacker 139,8,0,{
+ if(ASSIN_Q > 1) end;
+ warp "in_moc_16.gat",19,142;
+ addtimer 700, "Nameless One::OnTimer700";
+ end;
+}
+
+// Namelss One ====================================================
+in_moc_16.gat,19,150,1 script Nameless One 139,{
+
+OnTimer700:
+ if(ASSIN_Q == 1) goto L_ReTest;
+ set @LISTEN, 0;
+
+ mes "[Nameless One]";
+ mes "Welcome, my guest. Muhahaha!!!...... There is no use in trying to find me for I am perfectly hidden!";
+ mes "The ability to beome totaly hidden is the TRADEMARK of a GREAT Assassin!!";
+ next;
+ mes "[Nameless One]";
+ mes "Huh? Why don't I have a name? Muhahahahaha!!!... The better question to ask is why am I hidden.....";
+ next;
+ mes "[Nameless One]";
+ mes "Afterall I may be trying to assassinate you!!........ Does this scare you?";
+ next;
+ menu "Eeek! Uh... I think I wet my pants.....",-, "Bleh! Your all talk! Come on, challenge me!",M_1;
+
+ mes "[Nameless One]";
+ mes "Heh.... doesn't surprise me. I could tell that you were nothing but a wimp!";
+ mes "If we had met anywhere else, I would have torn you apart limb from limb.....";
+ next;
+ mes "[Nameless One]";
+ mes "Hmf..... I don't have time for wussies..... get lost......";
+ close2;
+ disablenpc "Assassin Kai#1";
+ enablenpc "Assassin Kai#2";
+ warp "in_moc_16.gat", 19, 76;
+ end;
+ M_1:
+ mes "[Nameless One]";
+ mes "What?.... So you think you're tough hugh?............";
+ next;
+ mes "[Nameless One]";
+ mes "................";
+ next;
+ mes "[Nameless One]";
+ mes "Hmf..............";
+ next;
+ mes "[Nameless One]";
+ mes "Let me tell you something...........";
+ next;
+ mes "[Nameless One]";
+ mes "I'm a cold blooded killer.... where ever I go, a trail of blood follows my every foot step.....";
+ next;
+ mes "[Nameless One]";
+ mes "A true Assasin such as myself does not need to be recognized by name..... I am known only by the sharp edges of my blades.";
+ next;
+ mes "[Nameless One]";
+ mes "It is my 'handy work' that has gotten me this far..... I have never had any remorse over any of the assignments I've taken....";
+ mes "To 'eliminate' targets is what I am here to do.";
+ next;
+ mes "[Nameless One]";
+ mes "Although you speak with confindence, understand this.........";
+ next;
+ mes "[Nameless One]";
+ mes "Only those who are trully cold blooded and without fear, can make it as an Assassin....";
+ mes "You will have to do much more than act like an arrogant fool to convince me that you are worthy of being one.........";
+ next;
+ mes "[Nameless One]";
+ mes "Before I start the quiz, I will let you ask me some basic questions.";
+ sM_Menu:
+ next;
+ menu "...What are the skills?",-, "...What's most important about an Assassin?",sM_1, "...Thats enough, I want to start the test.",sM_End;
+
+ mes "[Nameless One]";
+ mes "Yes, the skills. Skills are very useful to an Assassin. The basic skills are the masteries. I'll tell you about those first.";
+ next;
+ mes "[Nameless One]";
+ mes "First, there's ^5533FFKatar mastery^000000. Katar mastery will increases your attack damage when using a Katar.";
+ mes "This skill is very helpful for Katar users.";
+ next;
+ mes "[Nameless One]";
+ mes "Assassins have the ability to use two weapons at the same time. This makes them very fierce warriors.";
+ mes "However using two weapons at once does have its drawbacks.....";
+ next;
+ mes "[Nameless One]";
+ mes "It is much more difficult to use 2 weapons at once and therefore the damage you do will be less for each hand.";
+ next;
+ mes "[Nameless One]";
+ mes "That is why there is ^5533FF'Left hand mastery' and 'Right hand mastery'^000000.";
+ mes "By mastering these skills, you will be able to regain your attack power for both hands.";
+ next;
+ mes "[Nameless One]";
+ mes "Left hand mastery can be learned when you have gained 2 levels of Right hand mastery.";
+ mes "Combined with Katar mastery, you can become a very deadly Assassin indeed.";
+ next;
+ mes "[Nameless One]";
+ mes "^5533FF'Sonic Blow'^000000 is an extremely fast attacking skill. It will allow you to hit the enemy up to 8 times within the blink of an eye.";
+ next;
+ mes "[Nameless One]";
+ mes "This skill only works with a Katar. You also must have at least level 4 Katar Mastery to learn it.";
+ mes "The amount of damage done by Sonic Blow depends on how much strength you have.";
+ next;
+ mes "[Nameless One]";
+ mes "^5533FF'Grimtooth^000000 .... what if you could attack someone without being seen?";
+ mes "The skill Grimtooth allows you to do just that. While you are cloaked you can do a long range, splash damage attack with Grimtooth.";
+ next;
+ mes "[Nameless One]";
+ mes "Because of the splash damage, Grimtooth can be useful in mob situations.";
+ mes "The higher the level of Grimtooth you have the farther you can attack.";
+ next;
+ mes "[Nameless One]";
+ mes "'In order to use ^5533FFCloak^000000, you must have level 2 hide.";
+ mes "Cloak allows you to not only become invisible, but it allows you to move around while you are hidden as well.";
+ next;
+ mes "[Nameless One]";
+ mes "You can only move when you are close to a wall though.";
+ next;
+ mes "[Nameless One]";
+ mes "'There is a technique that allows you to give a weapon the poison property. It is called ^5533FFEnchant Poison^000000.";
+ next;
+ mes "[Nameless One]";
+ mes "Once enchanted with poison, there is a chance that an enemy hit by your weapon will become poisoned.";
+ mes "You will need at least level 1 Envemon to use this skill.";
+ next;
+ mes "[Nameless One]";
+ mes "^5533FF'Poison React'^000000. This skill will allow you to counter an attack made by a poison type monster.";
+ mes "If you want to learn Poison React you must have at least level 3 Enchant posion.";
+ next;
+ mes "[Nameless One]";
+ mes "^5533FF'Vemon Dust'^000000. With this skill you will be able to poison an area on the ground.";
+ mes "When a monster enters the area you poisoned there is a good chance that the moster will become poisoned as well.";
+ next;
+ mes "[Nameless One]";
+ mes "The higher the level of the skill, the longer the poison stays in effect. You will need a Red Gemstone to use this skill.";
+ mes "Level 5 Enchant Poison is a requirment for learning Venom Dust.";
+ next;
+ mes "[Nameless One]";
+ mes "^5533FF'Venom Splasher'^000000. Not only does this skill poison a target, but it makes the target explode splashing venom everywhere.";
+ next;
+ mes "[Nameless One]";
+ mes "A monster that is hit with Venom Splasher will only explode when it's HP is at 1/3 of maximum.";
+ next;
+ mes "[Nameless One]";
+ mes "This is the most difficult skill to learn for an Assassin. You'll need at least level 5 Venom Dust and level 5 Poison React to learn this skill";
+ next;
+ mes "[Nameless One]";
+ mes "Those are all of the Assassin skills.";
+ set @LISTEN, @LISTEN + 1;
+ goto sM_Menu;
+ sM_1:
+ mes "[Nameless One]";
+ mes "Hmm.... well for Assassins the most important stat is Agility.";
+ mes "By investing in Agility, your ability to dodge and your attack speed will increase greatly.";
+ next;
+ mes "[Nameless One]";
+ mes "Another good stat to invest in is Strength. Having good amounts of Strength with increase your attack allowing you to kill faster.";
+ next;
+ mes "[Nameless One]";
+ mes "This is as much as I can tell you about stats. The rest you will have to figure out through your own experimentation.";
+ set @LISTEN, @LISTEN + 1;
+ goto sM_Menu;
+ sM_End:
+ set ASSIN_Q, 1;
+ if(@LISTEN > 0) goto L_Test;
+ mes "[Nameless One]";
+ mes "Hahaha! You're very cocky aren't you..... Don't want to listen to what I have to say eh?!";
+ next;
+ mes "[Nameless One]";
+ mes "Fine then........ I want to see whether or not you can pass this test.....";
+ next;
+
+L_Test:
+ mes "[Nameless One]";
+ mes "Ok, it's now time for the test. If you get more than 1 question ^FF5533wrong^000000, you wil fail the test.";
+ next;
+ mes "[Nameless One]";
+ mes "You will not be told which answers you got right or which answers you got wrong.";
+ next;
+ set @temp, rand(3);
+ set @score, 0;
+ mes "[Nameless One]";
+ mes "Alright, let us begin.....";
+ next;
+ if(@temp == 1) goto L_Quiz2;
+ if(@temp == 2) goto L_Quiz3;
+
+ L_Quiz1:
+ mes "[Nameless One]";
+ mes "1. What here is ^FF5533not^000000 a prerequisite of the skill Grimtooth?";
+ next;
+ menu "Cloak Lv 2",sM_1a, "Sonic Blow Lv 5",sM_1a, "Hide Lv 2",sM_1a, "Left hand mastery Lv 2",-;
+
+ set @score, @score + 10;
+ sM_1a:
+
+ mes "[Nameless One]";
+ mes "2. Enchant Poison makes your weapon what element?";
+ next;
+ menu "Poison",-, "Earth",sM_2a, "Fire",sM_2a, "Wind",sM_2a;
+
+ set @score, @score + 10;
+ sM_2a:
+
+ mes "[Nameless One]";
+ mes "3. What is the function of level 4 ^5533FFLeft^000000 Hand Mastery?";
+ next;
+ menu "Attack +80% ",sM_3a, "Attack +70%",-, "Attack +90%",sM_3a, "Attack +108%!!",sM_3a;
+
+ set @score, @score + 10;
+ sM_3a:
+
+ mes "[Nameless One]";
+ mes "4. What item do you need to use when you use the skill 'Venom Dust'?";
+ next;
+ menu "Green Gemstone",sM_4a, "Blue Gemstone",sM_4a, "Yellow Gemstone",sM_4a, "Red Gemstone",-;
+
+ set @score, @score + 10;
+ sM_4a:
+
+ mes "[Nameless One]";
+ mes "5. When you increase Enchant Poison up to level 5, what new skill will appear?";
+ next;
+ menu "Venom Splasher",sM_5a, "Grimtooth",sM_5a, "Sonic Blow",sM_5a, "Venom Dust",-;
+
+ set @score, @score + 10;
+ sM_5a:
+
+ mes "[Nameless One]";
+ mes "6. What skill listed below allows you to be walk around unseen?";
+ next;
+ menu "Hide",sM_6a, "Backslide",sM_6a, "Cloak",-, "Throw Sand",sM_6a;
+
+ set @score, @score + 10;
+ sM_6a:
+
+ mes "[Nameless One]";
+ mes "7. What is the requirement for Venom Dust?";
+ next;
+ menu "Enemy must be weak.",sM_7a, "Must use a red gemstone.",-, "You must have a certain amount of health.",sM_7a;
+
+ set @score, @score + 10;
+ sM_7a:
+
+ mes "[Nameless One]";
+ mes "8. What monster card listed below adds to Intelligence?";
+ next;
+ menu "Steel Chonchon",sM_8a, "Deviruchi",sM_8a, "Elder Willow",-, "Baphomet",sM_8a;
+
+ set @score, @score + 10;
+ sM_8a:
+
+ mes "[Nameless One]";
+ mes "9. How much sp do you use when you do a double hit using a dagger?";
+ next;
+ menu "15",sM_9a, "0",-, "10",sM_9a, "54",sM_9a;
+
+ set @score, @score + 10;
+ sM_9a:
+
+ mes "[Nameless One]";
+ mes "10. What is the best type of sword to use in the Bybalan dungeon?";
+ next;
+ menu "Sword of Piercing Wind",-, "Sword of Ice",sM_10a, "Sword of Earth",sM_10a, "Sword of Fire",sM_10a;
+
+ set @score, @score + 10;
+ sM_10a:
+ goto L_Score;
+
+ L_Quiz2:
+ mes "[Nameless One]";
+ mes "1. Which monster drops a slotted Katar?";
+ next;
+ menu "Male Thief Bug",sM_1b, "PecoPeco",sM_1b, "Desert wolf",-, "Kobold",sM_1b;
+
+ set @score, @score + 10;
+ sM_1b:
+
+ mes "[Nameless One]";
+ mes "2. What card listed below can be inserted into a Jur?";
+ next;
+ menu "Caramel",-, "Ghostring",sM_2b, "Baphomet Jr",sM_2b, "DoppelGanger",sM_2b;
+
+ set @score, @score + 10;
+ sM_2b:
+
+ mes "[Nameless One]";
+ mes "3. Which class can forge weapons?";
+ next;
+ menu "Merchant",sM_3b, "Blacksmith",-, "Thief",sM_3b, "Priest",sM_3b;
+
+ set @score, @score + 10;
+ sM_3b:
+
+ mes "[Nameless One]";
+ mes "4. Which weapon listed below isn't a Katar class weapon?";
+ next;
+ menu "Jur",sM_4b, "Jamadhar",sM_4b, "Infiltrator",sM_4b, "Gladius",-;
+
+ set @score, @score + 10;
+ sM_4b:
+
+ mes "[Nameless One]";
+ mes "5. In Bybalan Dungeon a large amount of monsters are of what elemental type?";
+ next;
+ menu "Water",-, "Fire",sM_5b, "Wind",sM_5b, "Earth",sM_5b;
+
+ set @score, @score + 10;
+ sM_5b:
+
+ mes "[Nameless One]";
+ mes "6. What monster listed below can't be tamed and turned into a cute pet?";
+ next;
+ menu "Poring",sM_6b, "Rhoda Frog",-, "Lunatic",sM_6b, "Poison Spore",sM_6b;
+
+ set @score, @score + 10;
+ sM_6b:
+
+ mes "[Nameless One]";
+ mes "7. Choose the monster that is weakest to fire.";
+ next;
+ menu "Kobold (Sword)",sM_7b, "Kobold (Mace)",sM_7b, "Kobold (Hammer)",sM_7b, "Kobold (Axe)",-;
+
+ set @score, @score + 10;
+ sM_7b:
+
+ mes "[Nameless One]";
+ mes "8. Choose the ^FF5533non^000000-elemental Katar.";
+ next;
+ menu "Katar of Raging Blaze",sM_8b, "Katar of Dusty Thornbush",sM_8b, "Sharpened Legbone of Ghoul",sM_8b, "Infiltrator",-;
+
+ set @score, @score + 10;
+ sM_8b:
+
+ mes "[Nameless One]";
+ mes "9. Pick out the monster that doesn't belong in the group.";
+ next;
+ menu "Poring",sM_9b, "Ghostring",sM_9b, "Creamy",-, "Drops",sM_9b;
+
+ set @score, @score + 10;
+ sM_9b:
+
+ mes "[Nameless One]";
+ mes "10. Choose a ^FF3355non^000000-undead monster.";
+ next;
+ menu "Drake",sM_10b, "Archer Skeleton",sM_10b, "Poison Spore",-, "Ancient Mummy",sM_10b;
+
+ set @score, @score + 10;
+ sM_10b:
+ goto L_Score;
+
+ L_Quiz3:
+ mes "[Nameless One]";
+ mes "1. What is the increased dodge rate you get when you have the 'Improve Dodge' skill at level 10?";
+ next;
+ menu "20",sM_1c, "30",-, "140",sM_1c, "15",sM_1c;
+
+ set @score, @score + 10;
+ sM_1c:
+
+ mes "[Nameless One]";
+ mes "2. Which monster can detect someone who is hidden/cloaked?";
+ next;
+ menu "Hodes",sM_2c, "Whispers",-, "Porings",sM_2c, "Munaks",sM_2c;
+
+ set @score, @score + 10;
+ sM_2c:
+
+ mes "[Nameless One]";
+ mes "3. Assassins can use dual weapons. Which set of weapons below ^5544FFcan^000000 an Assassin use?";
+ next;
+ menu "Jur and Mace",sM_3c, "Damascus and Claymore",sM_3c, "Damascus and Stiletto",-, "Axe and Stiletto",sM_3c;
+
+ set @score, @score + 10;
+ sM_3c:
+
+ mes "[Nameless One]";
+ mes "4. Which town do you become a Thief in?";
+ next;
+ menu "Prontera",sM_4c, "Lutie",sM_4c, "AldeBaren",sM_4c, "Morroc",-;
+
+ set @score, @score + 10;
+ sM_4c:
+
+ mes "[Nameless One]";
+ mes "5. Which card has ^FF3355nothing^000000 to do with ^5533FFagility^000000?";
+ next;
+ menu "Baphomet Jr Card",sM_5c, "Whisper Card",-, "Male Thief Bug Card",sM_5c, "Chonchon Card",sM_5c;
+
+ set @score, @score + 10;
+ sM_5c:
+
+ mes "[Nameless One]";
+ mes "6. What makes Assassins so special?";
+ next;
+ menu "Excellent singing ability",sM_6c, "Excellent acting ability",sM_6c, "Excellent dancing ability",sM_6c, "Excellent dodging ability",-;
+
+ set @score, @score + 10;
+ sM_6c:
+
+ mes "[Nameless One]";
+ mes "7. When an Assassin reaches a ^5533FFJob level of 50^000000, what is the added bonus he/she recieves to agility?";
+ next;
+ menu "7",sM_7c, "8",sM_7c, "9",sM_7c, "10",-;
+
+ set @score, @score + 10;
+ sM_7c:
+
+ mes "[Nameless One]";
+ mes "8. What piece of equipment cannot be used by an Assassin?";
+ next;
+ menu "Sword",sM_8c, "Golden helm",-, "Dagger",sM_8c, "Jur",sM_8c;
+
+ set @score, @score + 10;
+ sM_8c:
+
+ mes "[Nameless One]";
+ mes "9. When a Novice wants to become a Thief, what mushrooms does he/she need to steal?";
+ next;
+ menu "Orange Net Mushrooms",-, "Red Gooey Mushrooms",sM_9c, "Orange Gooey Mushrooms",-, "Hairy Orange Mushrooms",sM_9c;
+
+ set @score, @score + 10;
+ sM_9c:
+
+ mes "[Nameless One]";
+ mes "10. What card listed below is useless to an Assassin?";
+ next;
+ menu "Ghostring Card",sM_10c, "Elder Willow Card",-, "Skeleton Soldier Card",sM_10c, "Kobold Card",sM_10c;
+
+ set @score, @score + 10;
+ sM_10c:
+
+L_Score:
+ mes "[Nameless One]";
+ mes "Okay, let me just tally up the results.........";
+ next;
+ mes "[Nameless One]";
+ mes "Here is your test score: ^FF5544" +@score+ "^000000/100....";
+ if(@score < 90) goto L_Failed;
+ mes "... Very well, you passed the quiz.";
+ next;
+ mes "[Nameless One]";
+ mes "Wait don't get so excited yet, there's still another test... Speak to Barkadi and she'll tell you about the second test..";
+ savepoint "in_moc_16.gat", 21, 160;
+ set ASSIN_Q, 2;
+ close;
+
+ L_Failed:
+ mes "You failed the test!";
+ next;
+ mes "[Nameless One]";
+ mes "It looks like you're underqualified.... how could you expect to become an Assassin with a score like this?";
+ next;
+ mes "[Nameless One]";
+ mes "Since you don't seem to have an ounce of intelligence, I will give you some tips.......";
+ next;
+ mes "[Nameless One]";
+ mes "Speak with Assassin 'Kai', he may be able to help you out. If not try to interperet this code:";
+ mes "^5533FFwww.emperium.org......^000000";
+ next;
+ mes "[Nameless One]";
+ mes "It's rumored to have come from another world...... someplace called.... the 'internet'.......";
+ close2;
+ disablenpc "Assassin Kai#1";
+ enablenpc "Assassin Kai#2";
+ warp "in_moc_16.gat", 19, 76;
+ end;
+
+L_ReTest:
+ mes "[Nameless One]";
+ mes "Hmf your back..... so your still obsessed with becoming an Assassin eh?";
+ next;
+ mes "[Nameless One]";
+ mes "If it is your true desire to become an Assassin, I'll help you out......";
+ next;
+ mes "[Nameless One]";
+ mes "However, If you fail again.... I suggest you give up on becoming an Assassin!";
+ next;
+ menu "You're right, I'm not cut out for this.....",-, "I don't care! I'm not giving up!",M_Retry;
+
+ mes "[Nameless One]";
+ mes "~Cough~cough~... thats a good choice... Being an assassin is lonely.....";
+ next;
+ mes "[Nameless One]";
+ mes "Leave the assassin guild now. Go back to the town you came from!";
+ close2;
+ warp "moc_fild16.gat", 206, 241;
+ end;
+ M_Retry:
+ mes "[Nameless One]";
+ mes "Alright then... I will try to help you become a lonely Assassin, hahahahah.";
+ next;
+ goto L_Test;
+}
+
+
+//============================================================================//
+// Second Test
+//****************************************************************************//
+
+//=====================================================//
+// Part 1: Eliminate the Target
+//=====================================================//
+
+// Barcardi ==============================>\\
+in_moc_16.gat,21,165,4 script Barcardi 725,{
+
+ mes "[Barcardi]";
+ mes "I see that you passed the first test ^5533FF" + strcharinfo(0) + "^000000.";
+ M_Menu:
+ next;
+ menu "What is the next test?",M_0, "I want to start the test.",M_1, "I need to go back and rest.",M_End;
+
+ M_0:
+ mes "[Barcardi]";
+ mes "Let me tell you about your next test. This test has 2 parts to it. The first part will test your ability to find and eliminate targets.";
+ mes "You will need great precision and patience to pick out your targets among a group of non-targets.";
+ next;
+ mes "[Barcardi]";
+ mes "What you are looking for are monsters named ^5533FF'Job Change Target'^000000. Kill any other target and you will fail the test.";
+ mes "You will also be timed durring the test. If you take longer than ^FF55333 minutes^000000 to accomplish your mission you will also fail.";
+ next;
+ mes "[Barcardi]";
+ mes "Being able to identify the correct target quickly is a basic requirement of the Assassin.";
+ mes "Another requirement is stealth. An Assassin should NEVER be seen!";
+ next;
+ mes "[Barcardi]";
+ mes "The last portion of the test will require you to sneek past a large group of aggressive and dangerous monsters.";
+ mes "Your ^5544FFhide^000000 skill will come in handy here. You will have ^FF55333 minutes^000000 to finish this part of the test as well.";
+ next;
+ mes "[Barcardi]";
+ mes "If you get discovered by the monsters and are killed, or if you run out of time, you will fail the test.";
+ next;
+ mes "[Barcardi]";
+ mes "You must pass BOTH parts of the test in order to move on to the next exam.";
+ mes "If you fail one of them, you will have to start the whole test all over again.";
+ goto M_Menu;
+ M_1:
+ mes "[Barcardi]";
+ mes "Only 1 person can take the test at one time. When you are ready please enter the waiting room.";
+ mes "The test will automatically start when the testing rooms are open.";
+ close;
+ M_End:
+ mes "[Barcardi]";
+ mes ".... Okay, come back when you've had enough rest.....";
+ next;
+ mes "[Barcardi]";
+ mes "....... Oh, and don't forget to bring some courage with you loser!";
+ emotion 32;
+ next;
+ warp "moc_fild16.gat", 206, 241;
+ close;
+
+OnInit:
+ waitingroom "Assasin Test Waitingroom",8,"Barcardi::OnStart",1;
+ end;
+OnStart:
+ set $@SinUsers, getareausers("in_moc_16.gat", 60, 136, 93, 177);
+ set $@SinUsers, $@SinUsers + getareausers("in_moc_16.gat", 64, 46, 111, 105);
+ if ($@SinUsers > 0) end; // stops the rest of the script from running if there is somebody taking the test
+
+ if ((getwaitingroomstate(33)) == 0) end; // stops the rest of the script from running if there is no one in the waiting room
+ killmonsterall "in_moc_16.gat";
+ warpwaitingpc "in_moc_16.gat", 65, 150;
+ donpcevent "SinTest2";
+ end;
+}
+
+// Job Change Monsters ======================>\\
+in_moc_16.gat,1,1,0 script SinTest2 -1,{
+ set $@SinMob, 6;
+ disablenpc "sinWarp1";
+ // Target Monsters
+ monster "in_moc_16.gat",62,161,"Job Change Target",1002,1,"SinTest2::OnMobDead";
+ monster "in_moc_16.gat",85,169,"Job Change Target",1063,1,"SinTest2::OnMobDead";
+ monster "in_moc_16.gat",88,152,"Job Change Target",1002,1,"SinTest2::OnMobDead";
+ monster "in_moc_16.gat",90,143,"Job Change Target",1113,1,"SinTest2::OnMobDead";
+ monster "in_moc_16.gat",74,167,"Job Change Target",1031,1,"SinTest2::OnMobDead";
+ monster "in_moc_16.gat",77,173,"Job Change Target",1002,1,"SinTest2::OnMobDead";
+ // Decoy Monsters
+ monster "in_moc_16.gat",62,161,"Jabs change target",1063,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",85,169,"Warrior test target",1031,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",79,174,"Target",1113,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",85,156,"Job quest target",1063,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",74,171,"bouncer",1002,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",68,173,"I got yours right here!",1113,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",65,158,"Battle Target",1002,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",60,158,"Soldiet Target",1113,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",64,169,"Target",1002,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",71,173,"Job change ready",1063,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",77,172,"Don't hit me",1002,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",76,172,"Target",1063,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",75,172,"Not me",1113,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",67,167,"Keep up the good work",1063,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",86,170,"Job target change",1031,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",86,171,"Target",1002,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",86,170,"Target",1113,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",86,173,"Hope you can become an assassin..",10631,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",85,170,"Battle Monster",1031,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",89,156,"Target",1002,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",89,156,"Speed182",1113,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",89,156,"Battle Target",1063,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",89,156,"Battlefield Tears",1113,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",89,156,"Job Change Tears",1031,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",83,169,"Evil Servant",1002,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",63,158,"Dead soul",1063,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",63,157,"Target",1002,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",64,159,"Battle Target",1002,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",63,159,"Target",1063,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",63,159,"Archer Target",1002,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",63,159,"Swordman Target",1002,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",83,148,"Thief Target",1002,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",82,148,"Acolyte Target",1002,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",84,148,"Merchant Target",1002,1,"SinTest2::OnFailed";
+ set $@sinRmX1, 60;
+ set $@sinRmY1, 136;
+ set $@sinRmX2, 93;
+ set $@sinRmY2, 177;
+ set $@wrpX, 19;
+ set $@wrpY, 161;
+ initnpctimer;
+ initnpctimer "TimerSin";
+ end;
+
+OnTimer500:
+ stopnpctimer;
+ areaannounce "in_moc_16.gat", 60, 136, 93, 177, "Okay the test is about to start! Remember to eliminate the monsters called 'Job Change Target'",8;
+ end;
+OnMobDead:
+ set $@SinMob, $@SinMob -1;
+ areaannounce "in_moc_16.gat", 60, 136, 93, 177, "Good. You have " + $@SinMob + " targets left to eliminate.",8;
+ if($@SinMob > 0) end;
+
+ stopnpctimer "TimerSin";
+ killmonsterall "in_moc_16.gat";
+ enablenpc "sinWarp1";
+ areaannounce "in_moc_16.gat", 60, 136, 93, 177,"Congratulations! You passed the test! A warp has just opened. Use it to leave the test room.",8;
+ addtimer 30000, "sinWarp1::OnTimer30000"; // warps player after 30 sec to move test along
+ end;
+OnFailed:
+ stopnpctimer "TimerSin";
+ areaannounce "in_moc_16.gat", 60, 136, 93, 177,"You failed!",8;
+ addtimer 3000, "TimerSin::OnTimer188000";
+ end;
+}
+
+// Observer ===========================>\\
+in_moc_16.gat,62,153,1 script Observer 55,{
+ mes "[Observer]";
+ mes "Don't mind me, I'm just here to see how well you do on your test.....";
+ close;
+}
+
+// Warp ==============================>\\
+in_moc_16.gat,87,137,0 script sinWarp1 45,2,1,{
+OnTimer30000:
+ killmonsterall "in_moc_16.gat";
+ enablenpc "Thomas";
+ warp "in_moc_16.gat", 87, 102;
+ end;
+}
+
+// Booby Traps ========================>\\
+in_moc_16.gat,68,158,0 script 01_1::SinTrap 139,0,0,{
+ stopnpctimer "TimerSin";
+ warp "in_moc_16.gat", 19, 161;
+ killmonsterall "in_moc_16.gat";
+ donpcevent "Barcardi::OnStart";
+ end;
+}
+in_moc_16.gat,69,158,0 duplicate(SinTrap) 01_2 139,0,0
+in_moc_16.gat,68,159,0 duplicate(SinTrap) 01_3 139,0,0
+in_moc_16.gat,69,159,0 duplicate(SinTrap) 01_4 139,0,0
+in_moc_16.gat,64,162,0 duplicate(SinTrap) 02_1 139,0,0
+in_moc_16.gat,65,162,0 duplicate(SinTrap) 02_2 139,0,0
+in_moc_16.gat,64,163,0 duplicate(SinTrap) 02_3 139,0,0
+in_moc_16.gat,65,163,0 duplicate(SinTrap) 02_4 139,0,0
+in_moc_16.gat,62,168,0 duplicate(SinTrap) 03_1 139,0,0
+in_moc_16.gat,63,168,0 duplicate(SinTrap) 03_2 139,0,0
+in_moc_16.gat,62,169,0 duplicate(SinTrap) 03_3 139,0,0
+in_moc_16.gat,63,169,0 duplicate(SinTrap) 03_4 139,0,0
+in_moc_16.gat,66,170,0 duplicate(SinTrap) 04_1 139,0,0
+in_moc_16.gat,67,170,0 duplicate(SinTrap) 04_2 139,0,0
+in_moc_16.gat,66,171,0 duplicate(SinTrap) 04_3 139,0,0
+in_moc_16.gat,67,171,0 duplicate(SinTrap) 04_4 139,0,0
+in_moc_16.gat,64,174,0 duplicate(SinTrap) 05_1 139,0,0
+in_moc_16.gat,64,175,0 duplicate(SinTrap) 05_2 139,0,0
+in_moc_16.gat,65,174,0 duplicate(SinTrap) 05_3 139,0,0
+in_moc_16.gat,65,175,0 duplicate(SinTrap) 05_4 139,0,0
+in_moc_16.gat,72,174,0 duplicate(SinTrap) 06_1 139,0,0
+in_moc_16.gat,72,175,0 duplicate(SinTrap) 06_2 139,0,0
+in_moc_16.gat,73,174,0 duplicate(SinTrap) 06_3 139,0,0
+in_moc_16.gat,73,175,0 duplicate(SinTrap) 06_4 139,0,0
+in_moc_16.gat,72,166,0 duplicate(SinTrap) 07_1 139,0,0
+in_moc_16.gat,72,167,0 duplicate(SinTrap) 07_2 139,0,0
+in_moc_16.gat,73,166,0 duplicate(SinTrap) 07_3 139,0,0
+in_moc_16.gat,73,167,0 duplicate(SinTrap) 07_4 139,0,0
+in_moc_16.gat,72,168,0 duplicate(SinTrap) 08_1 139,0,0
+in_moc_16.gat,72,169,0 duplicate(SinTrap) 08_2 139,0,0
+in_moc_16.gat,73,168,0 duplicate(SinTrap) 08_3 139,0,0
+in_moc_16.gat,73,169,0 duplicate(SinTrap) 08_4 139,0,0
+in_moc_16.gat,78,168,0 duplicate(SinTrap) 09_1 139,0,0
+in_moc_16.gat,78,169,0 duplicate(SinTrap) 09_2 139,0,0
+in_moc_16.gat,79,168,0 duplicate(SinTrap) 09_3 139,0,0
+in_moc_16.gat,79,169,0 duplicate(SinTrap) 09_4 139,0,0
+in_moc_16.gat,80,172,0 duplicate(SinTrap) 10_1 139,0,0
+in_moc_16.gat,81,172,0 duplicate(SinTrap) 10_2 139,0,0
+in_moc_16.gat,82,172,0 duplicate(SinTrap) 10_3 139,0,0
+in_moc_16.gat,83,172,0 duplicate(SinTrap) 10_4 139,0,0
+in_moc_16.gat,80,173,0 duplicate(SinTrap) 10_5 139,0,0
+in_moc_16.gat,81,173,0 duplicate(SinTrap) 10_6 139,0,0
+in_moc_16.gat,82,173,0 duplicate(SinTrap) 10_7 139,0,0
+in_moc_16.gat,83,173,0 duplicate(SinTrap) 10_8 139,0,0
+in_moc_16.gat,88,174,0 duplicate(SinTrap) 11_1 139,0,0
+in_moc_16.gat,88,175,0 duplicate(SinTrap) 11_2 139,0,0
+in_moc_16.gat,89,174,0 duplicate(SinTrap) 11_3 139,0,0
+in_moc_16.gat,86,166,0 duplicate(SinTrap) 12_1 139,0,0
+in_moc_16.gat,86,167,0 duplicate(SinTrap) 12_2 139,0,0
+in_moc_16.gat,87,166,0 duplicate(SinTrap) 12_3 139,0,0
+in_moc_16.gat,87,167,0 duplicate(SinTrap) 12_4 139,0,0
+in_moc_16.gat,90,164,0 duplicate(SinTrap) 13_1 139,0,0
+in_moc_16.gat,90,165,0 duplicate(SinTrap) 13_2 139,0,0
+in_moc_16.gat,91,164,0 duplicate(SinTrap) 13_3 139,0,0
+in_moc_16.gat,91,165,0 duplicate(SinTrap) 13_4 139,0,0
+in_moc_16.gat,84,160,0 duplicate(SinTrap) 14_1 139,0,0
+in_moc_16.gat,85,160,0 duplicate(SinTrap) 14_2 139,0,0
+in_moc_16.gat,86,160,0 duplicate(SinTrap) 14_3 139,0,0
+in_moc_16.gat,87,160,0 duplicate(SinTrap) 14_4 139,0,0
+in_moc_16.gat,88,160,0 duplicate(SinTrap) 14_5 139,0,0
+in_moc_16.gat,89,160,0 duplicate(SinTrap) 14_6 139,0,0
+in_moc_16.gat,84,161,0 duplicate(SinTrap) 14_7 139,0,0
+in_moc_16.gat,85,161,0 duplicate(SinTrap) 14_8 139,0,0
+in_moc_16.gat,86,161,0 duplicate(SinTrap) 14_9 139,0,0
+in_moc_16.gat,87,161,0 duplicate(SinTrap) 14_10 139,0,0
+in_moc_16.gat,88,161,0 duplicate(SinTrap) 14_11 139,0,0
+in_moc_16.gat,89,161,0 duplicate(SinTrap) 14_12 139,0,0
+in_moc_16.gat,86,154,0 duplicate(SinTrap) 15_1 139,0,0
+in_moc_16.gat,86,155,0 duplicate(SinTrap) 15_2 139,0,0
+in_moc_16.gat,87,154,0 duplicate(SinTrap) 15_3 139,0,0
+in_moc_16.gat,87,155,0 duplicate(SinTrap) 15_4 139,0,0
+in_moc_16.gat,84,150,0 duplicate(SinTrap) 16_1 139,0,0
+in_moc_16.gat,84,151,0 duplicate(SinTrap) 16_2 139,0,0
+in_moc_16.gat,85,150,0 duplicate(SinTrap) 16_3 139,0,0
+in_moc_16.gat,85,151,0 duplicate(SinTrap) 16_4 139,0,0
+in_moc_16.gat,90,150,0 duplicate(SinTrap) 17_1 139,0,0
+in_moc_16.gat,90,151,0 duplicate(SinTrap) 17_2 139,0,0
+in_moc_16.gat,91,150,0 duplicate(SinTrap) 17_3 139,0,0
+in_moc_16.gat,91,151,0 duplicate(SinTrap) 17_4 139,0,0
+in_moc_16.gat,86,146,0 duplicate(SinTrap) 18_1 139,0,0
+in_moc_16.gat,86,147,0 duplicate(SinTrap) 18_2 139,0,0
+in_moc_16.gat,87,146,0 duplicate(SinTrap) 18_3 139,0,0
+in_moc_16.gat,87,147,0 duplicate(SinTrap) 18_4 139,0,0
+
+
+//=========================================================//
+// Part 2: Hide and Sneak
+//=========================================================//
+
+// Thomas ===============================>\\
+in_moc_16.gat,89,98,1 script Thomas 118,4,2,{
+OnTimer600:
+ if(ASSIN_Q2 == 1) goto L_ReTest;
+ mes "[Thomas]";
+ mes "My name is Thomas and I am in charge of this portion of the test.";
+ next;
+ mes "[Thomas]";
+ mes "The goal of this test is to evade and avoid the enemy. You must make it to the warp without out attracting the attention of the monsters in the room.";
+ next;
+ mes "[Thomas]";
+ mes "You must make it through without dying. Because none of these monsters are your targets, you cannot not kill any of them.";
+ mes "Use your ablitly to flee and your ability to hide to help you in this test.";
+ next;
+ mes "[Thomas]";
+ mes "Alright.... Get ready.....";
+ next;
+ set ASSIN_Q2, 1;
+ disablenpc "Thomas";
+ donpcevent "SinTest2_2";
+ close;
+L_ReTest:
+ mes "[Thomas]";
+ mes "~sigh~.... I told you to use your hide skill!! Here let me heal you....";
+ next;
+ mes "[Thomas]";
+ mes "Alright, lets try this again.........";
+ percentheal 100, 100;
+ next;
+ disablenpc "Thomas";
+ donpcevent "SinTest2_2";
+ close;
+OnTouch:
+ warp "in_moc_16.gat",87,99;
+ addtimer 600, "Thomas::OnTimer600";
+ end;
+}
+
+
+// SinTest2_2 ===============================>\\
+in_moc_16.gat,1,1,1 script SinTest2_2 -1,{
+ monster "in_moc_16.gat", 81, 77, "MUMMY", 1041,1, "SinTest2_2::OnMobDead";
+ monster "in_moc_16.gat", 83, 77, "MUMMY", 1041,1, "SinTest2_2::OnMobDead";
+ monster "in_moc_16.gat", 85, 77, "MUMMY", 1041,1, "SinTest2_2::OnMobDead";
+ monster "in_moc_16.gat", 88, 77, "MUMMY", 1041,1, "SinTest2_2::OnMobDead";
+ monster "in_moc_16.gat", 90, 77, "MUMMY", 1041,1, "SinTest2_2::OnMobDead";
+ monster "in_moc_16.gat", 78, 56, "MUMMY", 1041,1, "SinTest2_2::OnMobDead";
+ monster "in_moc_16.gat", 80, 56, "MUMMY", 1041,1, "SinTest2_2::OnMobDead";
+ monster "in_moc_16.gat", 91, 56, "MUMMY", 1041,1, "SinTest2_2::OnMobDead";
+ monster "in_moc_16.gat", 93, 56, "MUMMY", 1041,1, "SinTest2_2::OnMobDead";
+ monster "in_moc_16.gat", 95, 56, "MUMMY", 1041,1, "SinTest2_2::OnMobDead";
+ monster "in_moc_16.gat", 97, 56, "MUMMY", 1041,1, "SinTest2_2::OnMobDead";
+ monster "in_moc_16.gat", 79, 62, "Hydra", 1068,1, "SinTest2_2::OnMobDead";
+ monster "in_moc_16.gat", 76, 65, "Hydra", 1068,1, "SinTest2_2::OnMobDead";
+ monster "in_moc_16.gat", 96, 65, "Hydra", 1068,1, "SinTest2_2::OnMobDead";
+ monster "in_moc_16.gat", 99, 65, "Hydra", 1068,1, "SinTest2_2::OnMobDead";
+ set $@sinRmX1, 64;
+ set $@sinRmY1, 46;
+ set $@sinRmX2, 111;
+ set $@sinRmY2, 105;
+ set $@wrpX, 87;
+ set $@wrpY, 102;
+ areawarp "in_moc_16.gat", $@sinRmX1, $@sinRmY1, $@sinRmX2, $@sinRmY2, "in_moc_16.gat", $@wrpX, $@wrpY;
+ initnpctimer "TimerSin";
+ end;
+OnMobDead:
+ stopnpctimer "TimerSin";
+ areaannounce "in_moc_16.gat", 64, 46, 111, 105, ". . . You engaged a target without permission! You have failed the test!",8;
+ enablenpc "Thomas";
+ addtimer 3000, "TimerSin::OnTimer188000";
+ end;
+}
+
+// Warp ================================>\\
+in_moc_16.gat,87,48,2 script sinWarp2 45,2,2,{
+ mes "[Thomas]";
+ mes "Good job! There's only one test left, good luck!!";
+ stopnpctimer "TimerSin";
+ killmonster "in_moc_16.gat","SinTest2_2::OnMobDead";
+ set ASSIN_Q, 3;
+ set ASSIN_Q2, 0;
+ savepoint "in_moc_16.gat", 182, 180;
+ close2;
+ warp "in_moc_16.gat", 181, 183;
+ donpcevent "Barcardi::OnStart";
+ end;
+}
+
+
+//=======================================================//
+// Timer for Sin Test 2
+//=======================================================//
+in_moc_16.gat,1,1,0 script TimerSin -1,{
+OnTimer3000:
+ areaannounce "in_moc_16.gat", $@sinRmX1, $@sinRmY1, $@sinRmX2, $@sinRmY2, "I'll announce how much time you'll have left on a minute by minute basis.",8;
+ end;
+OnTimer5000:
+ areaannounce "in_moc_16.gat", $@sinRmX1, $@sinRmY1, $@sinRmX2, $@sinRmY2, "You have 3 minutes starting now!",8;
+ end;
+OnTimer35000:
+ donpcevent "Barcardi::OnStart";
+ end;
+OnTimer65000:
+ areaannounce "in_moc_16.gat", $@sinRmX1, $@sinRmY1, $@sinRmX2, $@sinRmY2, "You have 2 minutes left! ",8;
+ donpcevent "Barcardi::OnStart";
+ end;
+OnTimer95000:
+ donpcevent "Barcardi::OnStart";
+ end;
+OnTimer125000:
+ areaannounce "in_moc_16.gat", $@sinRmX1, $@sinRmY1, $@sinRmX2, $@sinRmY2, "1 minute left!",8;
+ donpcevent "Barcardi::OnStart";
+ end;
+OnTimer155000:
+ areaannounce "in_moc_16.gat", $@sinRmX1, $@sinRmY1, $@sinRmX2, $@sinRmY2, "30 seconds left!",8;
+ donpcevent "Barcardi::OnStart";
+ end;
+OnTimer180000:
+ areaannounce "in_moc_16.gat", $@sinRmX1, $@sinRmY1, $@sinRmX2, $@sinRmY2, "Test ending in 5 secs....",8;
+ end;
+OnTimer181000:
+ areaannounce "in_moc_16.gat", $@sinRmX1, $@sinRmY1, $@sinRmX2, $@sinRmY2, "4 seconds....",8;
+ end;
+OnTimer182000:
+ areaannounce "in_moc_16.gat", $@sinRmX1, $@sinRmY1, $@sinRmX2, $@sinRmY2, "3 seconds...",8;
+ end;
+OnTimer183000:
+ areaannounce "in_moc_16.gat", $@sinRmX1, $@sinRmY1, $@sinRmX2, $@sinRmY2, "2 seconds..",8;
+ end;
+OnTimer184000:
+ areaannounce "in_moc_16.gat", $@sinRmX1, $@sinRmY1, $@sinRmX2, $@sinRmY2, "1 second.",8;
+ end;
+OnTimer185000:
+ areaannounce "in_moc_16.gat", $@sinRmX1, $@sinRmY1, $@sinRmX2, $@sinRmY2, "Okay times up! You failed!",8;
+ end;
+OnTimer188000:
+ stopnpctimer;
+ areawarp "in_moc_16.gat", $@sinRmX1, $@sinRmY1, $@sinRmX2, $@sinRmY2, "in_moc_16.gat", 21, 160;
+ killmonsterall "in_moc_16.gat";
+ donpcevent "Barcardi::OnStart";
+ end;
+}
+
+
+//============================================================================//
+// Final Test
+//****************************************************************************//
+
+//=============================================//
+// Warp
+//=============================================//
+in_moc_16.gat,182,169,1 script sinWarp3 45,1,1,{
+ if(getareausers(("in_moc_16.gat"),148,74,187,117) > 0) goto L_Wait;
+ disablenpc "Huey#End";
+ disablenpc "Kai#End";
+ disablenpc "Nameless One#End";
+ disablenpc "Barcardi#End";
+ disablenpc "Observer#End";
+ disablenpc "Thomas#End";
+ warp "in_moc_16.gat", 167, 116;
+ end;
+
+ L_Wait:
+ mes "~ a message from the Guild Master...~";
+ mes "I am currently busy with another Assassin Candidate. Please wait patiently untill I am done with that person.";
+ close;
+}
+
+//==============================================//
+// Guild Master
+//==============================================//
+
+// Start Trigger ------------------------------------------------------------------
+in_moc_16.gat,167,114,3 script guildmaster_Trig#0 139,4,0,{
+ mes "[Guild Master]";
+ mes "Welcome ^5533FF" + strcharinfo(0) + "^000000. This is my private room.";
+ next;
+ mes "[Guild Master]";
+ mes "I am going to give you a simple test. All you have to do is come meet me.";
+ mes "Of course you will have to go through a maze of invisible walls to do so.....";
+ next;
+ mes "[Guild Master]";
+ mes "Hahah... It's really not as hard as it sounds. The purpose of the maze is actually to protect the guild from intruders.";
+ mes "But I decided to use it to test the determination of Assassin candidates as well.";
+ next;
+ mes "[Guild Master]";
+ mes "Well enough chit chat. I look forward to meeting you at the end of the maze.";
+ close;
+}
+
+// Guild Master -----------------------------------------------------------------------------
+in_moc_16.gat,149,80,4 script Guild Master 106,1,1,{
+ end;
+
+OnTouch:
+ mes "[Guild Master]";
+ mes "Ah it's nice to meet you ^5533FF" + strcharinfo(0) + "^000000. I have to apologize for making you walk through that maze.";
+ mes "I saw your resume just now, you have been described as a Thief with guts!";
+ next;
+ mes "[Guild Master]";
+ mes "We rarely find someone of your abilities and experience.";
+ next;
+ mes "[Guild Master]";
+ mes "If you don't mind I would like to ask you a few questions. There is nothing to be nervous about.";
+ mes "Just answer my questions truthfully..... if you lie, I'll kill you. That's all there is to it.";
+ next;
+ callsub sF_Questions1;
+ next;
+
+ mes "[Guild Master]";
+ mes "Unfortunately there are nit wits who are eager to be Assassins but have not yet had enough training.";
+ mes "They are a disgrace to our clan and their activities often result in very problematic situations.";
+ next;
+ mes "[Guild Master]";
+ mes "You may end up like one of them if you are not careful. Remember... once you become an Assassin there no turning back.";
+ next;
+ callsub sF_Questions2;
+ next;
+
+ mes "[Guild Master]";
+ mes "It was nice talking with you. You reminded me of the good ol' days.";
+ next;
+ mes "[Guild Master]";
+ mes ".... one second.....";
+ next;
+ mes "[Guild Master]";
+ mes "Everyone that tested " + strcharinfo(0) + "please come to my office .";
+ next;
+ mes "[Guild Master]";
+ mes "They will be here soon.";
+ next;
+ enablenpc "Huey#End";
+ enablenpc "Kai#End";
+ enablenpc "Nameless One#End";
+ enablenpc "Barcardi#End";
+ enablenpc "Observer#End";
+ enablenpc "Thomas#End";
+ mes "[Nameless One]";
+ mes "I am here.";
+ next;
+ mes "[Guild Master]";
+ mes "I would like to know what you think about ^5533FF" + strcharinfo(0) + "^000000 becoming an Assassin.";
+ next;
+ mes "[Nameless One]";
+ mes "I think ^5533FF" + strcharinfo(0) + "^000000 is a decent candidate.";
+ next;
+ mes "[Guild Master]";
+ mes "'Looks like the Nameless One more or less supports you. What are your thought Huey?";
+ next;
+ mes "[Huey]";
+ //if( == 1) mes "...What can I say, one of the best Assassin candidates I've seen in the last few weeks.";
+ //if( == 0) mes "... Although a little too mellow and gentle... sort of like a pussy cat, Hahahaha....";
+ mes "I think ^5533FF" + strcharinfo(0) + "^000000 will be fine as an Assassin.";
+ next;
+ mes "[Huey]";
+ mes "I have to get back so I will leave first.";
+ next;
+ mes "[Guild Master]";
+ mes "Okay then, thank you Huey.";
+ next;
+ mes "[Guild Master]";
+ mes "So... Observer, what is your opinion?";
+ disablenpc "Huey#End";
+ next;
+ mes "[Observer]";
+ mes ".... Well, not one of the better performance I've seen but ^5533FF" + strcharinfo(0) + "^000000 did pass, so I have no objections.";
+ next;
+ mes "[Guild Master]";
+ mes "Good. It seems we are all in agreement. I myself see no problems with ^5533FF" + strcharinfo(0) + "^000000........";
+ next;
+ mes "[Guild Master]";
+ mes "^5533FF" + strcharinfo(0) + "^000000 seems to know alot about Assassins and I don't think the solitary lifestyle will be too difficult for ^5533FF" + strcharinfo(0) + "^000000 either.";
+ next;
+ mes "[Guild Master]";
+ mes "... I think I've said enough. Here please take this........";
+ next;
+ if(JBLVL == 40) goto L_LowLvl;
+
+ L_HighLvl:
+ menu "Jur",sM_Jur, "Katar",sM_Kat, "Main Gauche",sM_Main, "Gladius",sM_Glad;
+
+ sM_Jur:
+ getitem 1251,1;
+ goto L_Cont1;
+ sM_Kat:
+ getitem 1253, 1;
+ goto L_Cont1;
+ sM_Main:
+ getitem 1208, 1;
+ goto L_Cont1;
+ sM_Glad:
+ getitem 1220, 1;
+ goto L_Cont1;
+
+ L_LowLvl:
+ set @temp, rand(1, 3);
+ if(@temp==1) getitem 1250, 1;
+ if(@temp==2) getitem 1217, 1;
+ if(@temp==3) getitem 1252, 1;
+
+ L_Cont1:
+ mes "[Guild Master]";
+ mes "Now go talk to ^5533FFAssassin Huey^000000 back at the guild entrance.";
+ mes "For some reason he always looks like he's ^5533FFangry^000000 about something......";
+ next;
+ mes "[Guild Master]";
+ mes "He will be the one promoting you to the Assassin class.";
+ next;
+ mes "[Guild Master]";
+ mes strcharinfo(0) + " has choosen the path of the Assassin. May you learn to endure the hardships that all Assassins must face.";
+ getitem 1008, 1;
+ next;
+ mes "[Guild Master]";
+ mes "Okay, everyone you can leave now. I will send you back to the entrance. Lets move......";
+ set ASSIN_Q, 4;
+ set ASSIN_Q2, 0;
+ disablenpc "Kai#End";
+ disablenpc "Nameless One#End";
+ disablenpc "Barkadi#End";
+ disablenpc "Observer#End";
+ disablenpc "Thomas#End";
+ savepoint "in_moc_16.gat", 18, 28;
+ close2;
+ warp "in_moc_16.gat", 18, 28;
+ end;
+
+
+sF_Questions1:
+ mes "[Guild Master]";
+ mes "First of all, what do you think is most important to an Assassin?";
+ next;
+ menu "More power.",M_1, "An Assassin's pride.",M_2, "Endless training.",M_3;
+
+ M_1:
+ mes "[Guild Master]";
+ mes "It is true that an Assassin is stronger than a Thief.";
+ mes "By becoming an Assassin you will be capable of doing things no mere Thief could dream of.";
+ next;
+ mes "[Guild Master]";
+ mes "But, why do you want that kind of power?";
+ next;
+ menu "To take revenge on those who hurt me.",sM_1a, "I will use that power to become wealthy.",sM_1b,
+ "To explore new places.",sM_1c;
+
+ sM_1a:
+ mes "[Guild Master]";
+ mes "Vengence huh............ It seems that everyone has enemys these days........";
+ next;
+ mes "[Guild Master]";
+ mes "However, vengence is fueled by emotions, and as an Assassin one cannot give into these emotions.";
+ mes "An Assassin must be cold blooded... even heartless.... He/she must not let anything get in the way of the task at hand.";
+ next;
+ mes "[Guild Master]";
+ mes "Emotions are the biggest threat to an Assassin..... they cause confusion and clutter up the mind.....";
+ mes "An Assassin must always have a clear train of thought in order to be successful.";
+ next;
+ mes "[Guild Master]";
+ mes "If you are to become an Assassin, you must find a way to control your emotions.... do not let your emotions control you.";
+ return;
+ sM_1b:
+ mes "[Guild Master]";
+ mes "Money is an important part of the world.... however it is meaningless to an Assassin.";
+ mes "An Assassin's purpose is to carry out the dark, and unpleasant duties that no one else is capable of.....";
+ next;
+ mes "[Guild Master]";
+ mes "True Assassins do no think about fame or fortune.";
+ return;
+ sM_1c:
+ mes "[Guild Master]";
+ mes "An interesting idea..... you obviously seek to learn more about the world around you.";
+ mes "In knowing more about the world, you gain better insight into yourself.";
+ next;
+ mes "[Guild Master]";
+ mes "But remember that your path will be filled with loneliness. It is a reality that all Assassins must face.";
+ next;
+ mes "[Guild Master]";
+ mes "For those who have succeeded as Assassins, they have not only learned to except this fact.... but they have learned to embrace it.";
+ return;
+
+ M_2:
+ mes "[Guild Master]";
+ mes "Pride you say? Did another Assassin mention this to you?.....";
+ next;
+ mes "[Guild Master]";
+ mes "Unfortunately pride without ability means nothing. Hmm... what are you trying to find or gain by becoming an Assassin?";
+ next;
+ mes "[Guild Master]";
+ mes "Most of the people you have met in this guild are my bretheren and they have struggled and sacrifced a great deal as Assassins.";
+ mes "It is beacuse they have overcome so much hardship, that they can take great pride in being Assassins.";
+ next;
+ mes "[Guild Master]";
+ mes "You, on the other hand, have not yet faced the difficulties that Assassins do.";
+ mes "What then, do you mean when you speak of 'an Assassin's pride'?";
+ next;
+ menu "The idea of total solitude.",sM_2a, "The ability to make easy money.",sM_2b, "They just look cool.",sM_2c;
+
+ sM_2a:
+ mes "[Guild Master]";
+ mes "It is true that the life of an Assassin is lonesome. In a way, to be an Assassin, is to be non-existant....";
+ next;
+ mes "[Guild Master]";
+ mes "We never make direct contact with any of our clients. The people that we do make contact with..... we kill.";
+ next;
+ mes "[Guild Master]";
+ mes "The only people that know about Assassins are other Assassins....";
+ mes "Even then..... we sheild and hide our true inner selves from each other..........";
+ next;
+ mes "[Guild Master]";
+ mes "Even so... having comrades is better that nothing.";
+ mes "I recommend you have at least one partner to back you up durring a mission.";
+ return;
+ sM_2b:
+ mes "[Guild Master]";
+ mes "Yes, money is important.";
+ mes "But don't you think we assassins have much more important thing to deal with?";
+ return;
+ sM_2c:
+ mes "[Guild Master]";
+ mes "...So you just think Assassins are cool looking......... ~sigh~";
+ mes "This is really sad.... Believe me when I say to you that the purpose of the Assassins is not to merely look good.....";
+ next;
+ mes "[Guild Master]";
+ mes ".... But it is to do those dark deeds which no one wants to nor can do.";
+ return;
+ M_3:
+ mes "[Guild Master]";
+ mes "Interesting..... I see that you have already trained a great deal. I suppose that even more training couldn't hurt.....";
+ next;
+ mes "[Guild Master]";
+ mes "Is there any specific area that you would like to improve upon?";
+ next;
+ menu "Techniques.",sM_3a, "More challenging targets.",sM_3b, "Mental toughness.",sM_3c;
+
+ sM_3a:
+ mes "[Guild Master]";
+ mes "As an Assassin you will have access to many new skills. The harder you train the better you will be at using these skills.";
+ next;
+ mes "[Guild Master]";
+ mes "To be a great Assassin you must use these skills masterfully.";
+ return;
+ sM_3b:
+ mes "[Guild Master]";
+ mes "Constantly challenging yourself is a great way to improve your abilities.";
+ mes "Facing the same targets over and over again will only make you weaker.";
+ next;
+ mes "[Guild Master]";
+ mes "Good Assassins are always finding ways to challenge themsleves.";
+ return;
+ sM_3c:
+ mes "[Guild Master]";
+ mes "This is probably the most important aspect to work on for an Assassin.";
+ mes "Not only do Assassins have to be of sound body but they also have to be of sound mind.";
+ next;
+ mes "[Guild Master]";
+ mes "It is crucial for Assassins to be mentally tough, for they are constantly under pressure.";
+ mes "The type of situations Assassins are faced with on a daily basis are unimaginable to most ordinary people.";
+ next;
+ mes "[Guild Master]";
+ mes "This is why a true Assassin is constantly training his/her mind.";
+ return;
+
+sF_Questions2:
+ mes "[Guild Master]";
+ mes "So let me ask you this.... If you became an Assassin right now, what is the first thing you would do?";
+ next;
+ menu "Go into battle!",M_4, "Go back to the ones waiting for me.",M_5, "Learn more about Assassins.",M_6;
+
+ M_4:
+ mes "[Guild Master]";
+ mes "Battle.... is that all?";
+ next;
+ menu "I would level up quickly.",sM_4a, "I would test my new abilities.",sM_4b, "I would go explore new places.",sM_4c;
+
+ sM_4a:
+ mes "[Guild Master]";
+ mes "Whether or not your an Assassin shouldn't change how quickly you train.";
+ mes "You would gain the same experience you did as a Thief. So take it slowly okay?";
+ return;
+ sM_4b:
+ mes "[Guild Master]";
+ mes "Testing out your new found skills is good.";
+ mes "I can understand the excitement you will feel when you have gained new abilities as an Assassin.";
+ next;
+ mes "[Guild Master]";
+ mes "Just don't let that get in the way of your duites.";
+ return;
+ sM_4c:
+ mes "[Guild Master]";
+ mes "Exploration is good. Find new places and meet new people.";
+ mes "You'll never know when you will meet a prospective client.";
+ return;
+
+ M_5:
+ mes "[Guild Master]";
+ mes "Someone's waitng for you?";
+ next;
+ menu "Yes, the people I met in this guild.",sM_5a, "A friend and partner.",sM_5b, "The love of my life.",sM_5c;
+
+ sM_5a:
+ mes "[Guild Master]";
+ mes "Haha. I think they would be happy to know that you are thinking of them.";
+ mes "No matter where you go, or what you do, you will always have a place here in this guild.";
+ return;
+ sM_5b:
+ mes "[Guild Master]";
+ mes "Good friends can be hard to find, and those that you can call a partner are even rarer.";
+ mes "It's good that you have a friend that you can trust and work with.";
+ return;
+ sM_5c:
+ mes "[Guild Master]";
+ if(sex == 1) mes "Oh you have a girlfriend... then become her shadow and protect her.";
+ if(sex == 0) mes "Oh you have a boyfriend... then become his shadow and protect him.";
+ next;
+ mes "[Guild Master]";
+ mes "As an Assassin you will find it very difficult to ever meet someone else, so make sure you treasure what you have now.";
+ return;
+
+ M_6:
+ mes "[Guild Master]";
+ mes "Okay, so what is it that you would like to know?";
+ next;
+ menu "Where's the easiest place to train?",sM_6a, "Where do Assassins usually go to gain exp?",sM_6b,
+ "How does an Assassin make money?",sM_6c;
+
+ sM_6a:
+ mes "[Guild Master]";
+ mes "Where ever an Assassin may be, he/she must learn to adapt and survive.";
+ mes "Assassins do not have the luxury of choosing where they work.";
+ return;
+ sM_6b:
+ mes "[Guild Master]";
+ mes "There are many experienced Assassins wandering the continent of Rune-Midgard. Seek them out and ask for their knowledge.";
+ next;
+ mes "[Guild Master]";
+ mes "The best way to gain experience however, is to go out and experience the world for yourself.";
+ return;
+ sM_6c:
+ mes "[Guild Master]";
+ mes "Damit, is money that important to you? An Assassins life does not revolve around money.....";
+ return;
+
+}
+
+
+//=============================================//
+// Maze Triggers
+//=============================================//
+in_moc_16.gat,170,90,0 script maze_trig#1 139,0,0,{
+ mes "[Guild Master]";
+ mes "There's no way to walk there, try another way.";
+ close;
+}
+in_moc_16.gat,150,85,0 script maze_trig#2 139,0,0,{
+ mes "[Guild Master]";
+ mes ".... Getting warmer.... you're almost there.....";
+ close;
+}
+in_moc_16.gat,153,85,0 script maze_trig#3 139,0,0,{
+ mes "[Guild Master]";
+ mes "You can't walk there..";
+ mes "Good, your almost there, keep walking.";
+ mes "You have to walk in between a pole and a.....";
+ mes "you got to turn a round in order to get in.";
+ close;
+}
+in_moc_16.gat,160,85,0 script maze_trig#4 139,0,0,{
+ mes "[Guild Master]";
+ mes "There's no way to walk there, try another way.";
+ close;
+}
+in_moc_16.gat,175,89,0 script maze_trig#5 139,0,0,{
+ mes "[Guild Master]";
+ mes "That way leads to Botogun..";
+ mes "What are going to do there?";
+ close;
+}
+in_moc_16.gat,164,88,0 script maze_trig#6 139,0,0,{
+ mes "[Guild Master]";
+ mes "Good.... you're on the right track.";
+ close;
+}
+in_moc_16.gat,149,95,0 script maze_trig#7 139,0,0,{
+ mes "[Guild Master]";
+ mes "Good, you found the path.";
+ close;
+}
+in_moc_16.gat,180,101,0 script maze_trig#8 139,0,0,{
+ mes "[Guild Master]";
+ mes "... It looks like that's not that way...";
+ close;
+}
+in_moc_16.gat,186,107,0 script maze_trig#9 139,0,0,{
+ mes "[Guild Master]";
+ mes "...Not that way either...";
+ close;
+}
+
+
+//================================================//
+// Decoy Chief
+//================================================//
+in_moc_16.gat,186,81,0 script Guild Master#2 55,{
+ mes "[Guild Master Botogun]";
+ mes "I'm sorry but I am not the person in charge here.";
+ mes "The real Guild Chief is on the other side.";
+ close;
+}
+
+
+//=================================================//
+// Guild Npcs
+//=================================================//
+in_moc_16.gat,156,85,1 script Huey#End 55,{end;}
+in_moc_16.gat,156,83,1 script Kai#End 730,{end;}
+in_moc_16.gat,156,81,1 script Nameless One#End 106,{end;}
+in_moc_16.gat,156,79,1 script Barcardi#End 725,{end;}
+in_moc_16.gat,156,77,1 script Observer#End 55,{end;}
+in_moc_16.gat,156,75,1 script Thomas#End 118,{end;}
+
+
+//==============================================================================
+// mapflag
+//==============================================================================
+in_moc_16.gat mapflag nomemo
+in_moc_16.gat mapflag noteleport
+in_moc_16.gat mapflag nosave SavePoint
+in_moc_16.gat mapflag nopenalty
+in_moc_16.gat mapflag nobranch
+in_moc_16.gat mapflag noexp
+in_moc_16.gat mapflag noloot
diff --git a/npc/jobs/2-1/blacksmith.txt b/npc/jobs/2-1/blacksmith.txt new file mode 100644 index 000000000..2921ad71e --- /dev/null +++ b/npc/jobs/2-1/blacksmith.txt @@ -0,0 +1,1482 @@ +//===== eAthena Script =======================================
+//= Blacksmith Quest
+//===== By: ==================================================
+//= EREMES THE CANIVALIZER(Aegis)
+//= Translated by: yoshiki.
+//= Converted by: Komurka.
+//= Optimized and further edited by kobra_k88.
+//= Further bugfixed and tested by Lupus
+//===== Current Version: =====================================
+//= 1.8a
+//===== Compatible With: =====================================
+//= eAthena 1.0+
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Changed some npc names to the iRO names. Changed some variable
+//= names and labels. Edited some text.[kobra_k88]
+//= Removed "if(JobLevel > 48) goto higher". It was a left over line.
+//= Thx to "Decker".[kobra_k88]
+//= Fixed some typos, thanks to Riotblade [celest]
+//= 1.3-1.5 Added Baby Class support [Lupus]
+//= 1.6 Added a func which prevent advanced classes passing
+//= 2nd Job Quests again. It also guides adv classes where
+//= to go. [Lupus]
+//= 1.7 item quantity/ids typos fix
+//= 1.8 Moved the Quest to Einbroch [Poki#3]
+==============================================================
+
+
+
+//<==================================================== Blacksmith Altiregen (Job changer)==================================================>\\
+ein_in01.gat,18,28,4 script Guildsman Altiregen 731,{
+ callfunc "F_BlockHigh",29,"Merchant High",34,"White Smith","Blacksmith Altiregen";
+
+ if (BaseJob == 5) goto L_Merc;
+ mes "[Blacksmith Altiregen]";
+ mes "Welcome! We're the masters of the metal, blacksmiths!";
+ mes "Our skills in creating weapons, in a way, is almost an art form!.";
+ next;
+ mes "[Blacksmith Altiregen]";
+ mes "Those weapons, heh, can be sold for quite a profit as well.";
+ next;
+ mes "[Blacksmith Altiregen]";
+ callfunc "Bla_check";
+
+
+L_Merc:
+ mes "[Blacksmith Altiregen]";
+ if (BSMITH_Q == 1) goto L_Test1;
+ if (BSMITH_Q == 2 || BSMITH_Q == 3) goto L_Test2and3;
+ if (BSMITH_Q == 4) goto L_Test4;
+ if (BSMITH_Q == 5) goto L_Change;
+ mes "Hello fellow merchant! Are you here to apply?";
+ mes "Write your name and your job level on this piece of paper.";
+ next;
+ menu "Apply",M_App,"What's required?",M_Req,"Not now...",M_NtNow;
+
+ M_App:
+ if(JobLevel < 40) goto sL_Lowlvl;
+ if(JobLevel == 50) goto sL_HighLvl;
+ mes "[Blacksmith Altiregen]";
+ mes "Hmmm...";
+ mes "Your job level is satisfactory.";
+ next;
+ mes "[Blacksmith Altiregen]";
+ mes "Good, but we don't just accept anybody.";
+ mes "We'll need to test your merchant skills and your determination.";
+ next;
+ mes "[Blacksmith Altiregen]";
+ mes "Rustle Rustle";
+ next;
+ mes "[Blacksmith Altiregen]";
+ mes "Hmmm, the guildsman ^5533FFGeshupenschte in Einbech^000000, is a bit short of hands.";
+ mes "Go help him, that's the first test.";
+ next;
+ mes "[Blacksmith Altiregen]";
+ mes "Have a nice trip!";
+ set BSMITH_Q,1;
+ set JBLVL, 40;
+ close;
+
+ sL_Lowlvl:
+ mes "[Blacksmith Altiregen]";
+ mes "You need more training as a merchant. We only accept job level 40+";
+ mes "As much as I want to accept you, we have regulations. Sorry, but return later.";
+ close;
+ sL_HighLvl:
+ mes "[Blacksmith Altiregen]";
+ mes "Wow! I'm impressed! You've done a lot of training there. You know what they say, with hard work comes great rewards.";
+ emotion 1;
+ next;
+ mes "[Blacksmith Altiregen]";
+ mes "Well, first things first..... The guildsman ^5533FFGeshupenschte in Einbech^000000, is a bit short on help.";
+ mes "Go help him, that's the first test.";
+ next;
+ mes "[Blacksmith Altiregen]";
+ mes "Have a nice trip!";
+ set BSMITH_Q,1;
+ set JBLVL, 50;
+ close;
+ M_Req:
+ mes "[Blacksmith Altiregen]";
+ mes "What is required?";
+ mes "First, be job level 40 at least.";
+ mes "And pass the test.";
+ mes "That's it. The test is a bit complicated, but passable.";
+ mes "The test involves delievering items and being quized on the special items of certain regions and then being tested on knowledge of blacksmiths.";
+ close;
+ M_NtNow:
+ mes "[Blacksmith Altiregen]";
+ mes "Alright, see you later.";
+ close;
+
+
+L_Test1:
+ mes "You didn't leave yet? I told you to go see Geshupenschte in Einbech. See you then.";
+ emotion 1;
+ close;
+
+L_Test2and3:
+ mes "How was the work Geshupenschte gave you? He can be a pain sometimes.";
+ close;
+L_Test4:
+ if (BSMITH_Q2 == 1) goto L_NotDone;
+ mes "Congrats! You've passed Geshupenschte's tests!";
+ next;
+ mes "[Blacksmith Altiregen]";
+ mes "Hmm? Heh, there is one last test you know.";
+ mes "The guildsman for the last test is Mitmayer, go talk to her now.";
+ next;
+ menu "Cruel, but I'll go.",-,"......I don't wanna travel T_T",M_dontgo;
+
+ set BSMITH_Q2, 1;
+ mes "[Blacksmith Altiregen]";
+ mes "I hope you do, because the blacksmith's guild doesn't like shaming it's status by hiring idiots!";
+ next;
+ mes "[Blacksmith Altiregen]";
+ mes "If such a thing happened, I can see the guild crumbling down, sob T_T";
+ mes "Well..... Go find her!";
+ close;
+ M_dontgo:
+ mes "[Blacksmith Altiregen]";
+ mes "What!? You're giving up!?!.........";
+ emotion 1;
+ next;
+ mes "[Blacksmith Altiregen]";
+ mes "HOW DARE YOU INSULT OUR GUILD LIKE THAT!";
+ mes "Leave now! Don't you dare even DREAM about becoming a blacksmith!";
+ emotion 23;
+ next;
+ mes "[Blacksmith Altiregen]";
+ mes "Can't endure ANYTHING can you!? How do you plan to become a blacksmith if you can't do these simple tasks!?";
+ emotion 6;
+ close;
+
+ L_NotDone:
+ mes "Hmmm? Didn't you say you're going?";
+ mes "Sorry, but you gotta pass the test.";
+ close;
+
+L_Change:
+ if(countitem(1005) < 1) goto L_NoHam;
+ if(SkillPoint > 0) mes "You need to use up all of your skill points before I can make you a Blacksmith.";
+ if(SkillPoint > 0) close;
+ mes "Whoah, I can see the fire in your eyes! You've passed!!";
+ mes "I'll grant you the power to work metals!";
+ next;
+ delitem 1005,1;
+ callfunc "Job_Change",Job_Blacksmith;
+ mes "[Blacksmith Altiregen]";
+ mes "Don't forget! We're the artists that put beauty into metal! Don't you dare forget that!";
+ next;
+ mes "[Blacksmith Altiregen]";
+ mes "Here's a present! Congrats on passing!";
+ if(JBLVL != 50) getitem 999,5;
+ if(JBLVL == 50) getitem 999,10;
+ callfunc "F_ClearJobVar"; // clears all job variables for the current player
+ emotion 21;
+ close;
+
+ L_NoHam:
+ mes "Did you forget something? You need to show me the ^5533FFHammer of Blacksmiths^000000 to prove that you've passed all of the tests.";
+ next;
+ mes "[Blacksmith Altiregen]";
+ mes "You DO have it..... don't you???";
+ next;
+ menu "Oh that thing... let me just get it out of storage...",-, "Actually I sold it for pots..... now what?",sM_What;
+
+ mes "[Blacksmith Altiregen]";
+ mes "....... grrrrrrr.......";
+ emotion 7;
+ close;
+ sM_What:
+ mes "[Blacksmith Altiregen]";
+ mes ".......... I'll tell you what.............";
+ next;
+ mes "[Blacksmith Altiregen]";
+ mes "YOU GET TO START ALL OVER!!!!";
+ set BSMITH_Q, 0;
+ set BSMITH_Q2, 0;
+ emotion 32;
+ close;
+}
+
+
+//<=============================================== Geshupenschte: 1st, 2nd, 3rd Test ===================================================>\\
+ein_in01.gat,201,27,4 script Geshupenschte 63,{
+
+ if(BaseJob==5) goto L_merchant;
+ mes "[Geshupenschte]";
+ mes "Hello sir! I'm the blacksmith. Geshupenschte! Nice to meet you!";
+ next;
+ mes "[Geshupenschte]";
+ mes "Blacksmith is such a great job!! Don't you think so? Hahahahahahah!";
+ emotion 18;
+ close;
+
+L_merchant:
+ mes "[Geshupenschte]";
+ if (BSMITH_Q == 1) goto L_Test1;
+ if (BSMITH_Q == 2) goto L_Test2;
+ if (BSMITH_Q == 3) goto L_Test3;
+ if (BSMITH_Q == 4) goto L_Done;
+ if (BSMITH_Q == 5) goto L_GoChange;
+ mes "Hoho!! A merchant! Excellent! I was in need of some help!!";
+ next;
+ mes "[Geshupenschte]";
+ mes "Of course.... I wouldn't want to bother someone as busy as yourself. Go on your way if you must!....";
+ next;
+ mes "[Geshupenschte]";
+ mes "~Dum dee dum dee dum~.....I am the best.... I am a blacksmith....(singing)";
+ next;
+ mes "[Geshupenschte]";
+ mes "What? Why are you still here?";
+ emotion 1;
+ close;
+
+// Test 1-----------------------------------------------------------------
+L_Test1:
+ if (BSMITH_Q2 == 1) goto L_ReTest1;
+ mes "You're the one sent by the guild, right?";
+ mes "Whew, the people order so many items >_> We don't have enough people to deliever.";
+ next;
+ mes "[Geshupenschte]";
+ mes "Well, you ARE the one sent by the guild, right?";
+ mes "Oh well, hopefully >_>";
+ next;
+ mes "[Geshupenschte]";
+ mes "See, this kid a few days ago,";
+ mes "he wasted SO much of our money.";
+ mes "Just because I sent him on a semi complicated errand >_>";
+ mes "Now, let me ask a few questions!";
+ next;
+ menu "Alright",M_Rdy,"Wait, let me go and get prepared",-;
+
+ mes "[Geshupenschte]";
+ mes "Ok, return after you're ready.";
+ mes "I'll be waiting here.";
+ close;
+ M_Rdy:
+ set @score, 0;
+ set @temp, rand(2);
+ if (@temp == 1) goto L_setq2;
+
+ L_setq1:
+ mes "[Geshupenschte]";
+ mes "1. Which town and local item don't match?";
+ next;
+ menu "Morroc - Thief Clothes",q1,"Alberta - 2 Hand Axe",q1,"Comodo - Berserk Potion",q1,"Alberta - Swordmace",-;
+
+ set @score,@score+10;
+ q1:
+
+ mes "[Geshupenschte]";
+ mes "2. What does the smith skill Hammerfall do?";
+ next;
+ menu "Stun",-,"Blind",q2,"Poison",q2,"Sleep",q2;
+
+ set @score,@score+10;
+ q2:
+
+ mes "[Geshupenschte]";
+ mes "3. What is a merchant not good at?";
+ next;
+ menu "Opening Shops",q3,"Buying Cheap",q3,"Selling High",q3,"Running Fast",-;
+
+ set @score,@score+10;
+
+ q3:
+
+ mes "[Geshupenschte]";
+ mes "4. Where do you buy Blue Gems?";
+ next;
+ menu "Alberta",q4,"Morroc",q4,"Geffen",-,"Prontera",q4;
+
+ set @score,@score+10;
+
+ q4:
+
+ mes "[Geshupenschte]";
+ mes "5. Where is the Geffen Tool Shop from the tower?";
+ next;
+ menu "8 o'clock",-,"11 o'clock",q5,"6 o'clock",q5,"5 o'clock",q5;
+
+ set @score,@score+10;
+
+ q5:
+
+ mes "[Geshupenschte]";
+ mes "6. What weapon can't be used by merchants?";
+ next;
+ menu "Stiletto",q6,"Buster",q6,"Chain",q6,"Bible",-;
+
+ set @score,@score+10;
+
+ q6:
+
+ mes "[Geshupenschte]";
+ mes "7. Which has the highest def?";
+ next;
+ menu "Panty",q7,"Mink Coat",-,"Wooden Mail",q7,"Silk Robe",q7;
+
+ set @score,@score+10;
+
+ q7:
+
+ mes "[Geshupenschte]";
+ mes "8. How many times can you upgrade a lvl 3 weapon safely?";
+ next;
+ menu "+3 ",q8,"+4 ",q8,"+5 ",-,"+6 ",q8;
+
+ set @score,@score+10;
+ q8:
+
+ mes "[Geshupenschte]";
+ mes "9. What can you make with Trunks?";
+ next;
+ menu "Sakkat",-,"Ghost Bandana",q9,"Majestic Goat",q9,"Antlers",q9;
+
+ set @score,@score+10;
+ q9:
+
+ mes "[Geshupenschte]";
+ mes "10. What is the most important to merchants!?";
+ next;
+ menu "Helpfulness",-,"Honor",-,"Money",-,"Honesty",-;
+
+ set @score,@score+10;
+
+ if (BSMITH_Q2 == 1) goto L_result2;
+ goto L_result;
+
+ L_setq2:
+ mes "[Geshupenschte]";
+ mes "1. Which town and local item is mismatched?";
+ next;
+ menu "Aldebaran - Ygg Leaf",q10,"Alberta - Hammer",q10,"Comodo - Berserk Potion",q10,"Aldebaran - Hammer",-;
+
+ set @score,@score+10;
+ q10:
+
+ mes "[Geshupenschte]";
+ mes "2. How much does Jellopy sell for?";
+ next;
+ menu "1z",q11,"2z",q11,"3z",-,"4z",q11;
+
+ set @score,@score+10;
+ q11:
+
+ mes "[Geshupenschte]";
+ mes "3. What's necessary to make a shop?";
+ next;
+ menu "Must have cart",-,"Item to sell",q12,"Have weapon equiped",q12,"Wear Armor",q12;
+
+ set @score,@score+10;
+ q12:
+
+ mes "[Geshupenschte]";
+ mes "4. Where is the merchant guild located?";
+ next;
+ menu "Alberta",-,"Morroc",q13,"Geffen",q13,"Prontera",q13;
+
+ set @score,@score+10;
+ q13:
+
+ mes "[Geshupenschte]";
+ mes "5. Where is the Morroc Weapon Shop from the center?";
+ next;
+ menu "7 o'clock",q14,"11 o'clock",q14,"6 o'clock",q14,"5 o'clock",-;
+
+ set @score,@score+10;
+ q14:
+
+ mes "[Geshupenschte]";
+ mes "6. What can't a merchant equip?";
+ next;
+ menu "Main Gauche",q15,"Claymore",-,"Chain",q15,"2 hand axe",q15;
+
+ set @score,@score+10;
+ q15:
+
+ mes "[Geshupenschte]";
+ mes "7. What has the highest defense?";
+ next;
+ menu "Panty",q16,"Mink Coat",-,"Wooden Mail",q16,"Silk Robe",q16;
+
+ set @score,@score+10;
+ q16:
+
+ mes "[Geshupenschte]";
+ mes "8. How many times can you safely upgrade a lvl 4 weapon?";
+ next;
+ menu "+3 ",q17,"+4",-,"+5",q17,"+6",q17;
+
+ set @score,@score+10;
+ q17:
+
+ mes "[Geshupenschte]";
+ mes "9. Which monster doesn't drop iron ore?";
+ next;
+ menu "Chonchon",q18,"Steel Chonchon",q18,"Zerom",q18,"Anolian",-;
+
+ set @score,@score+10;
+ q18:
+
+ mes "[Geshupenschte]";
+ mes "10. What is the most important to merchants?!";
+ next;
+ menu "Honesty",-,"Helpfulness",-,"Money",-,"Posture",-;
+
+ set @score,@score+10;
+
+ if (BSMITH_Q2 == 1) goto L_result2;
+ goto L_result;
+
+L_result:
+ mes "[Geshupenschte]";
+ mes "Good!";
+ next;
+ mes "[Geshupenschte]";
+ mes "Lets see....your score is ^5533FF"+@score+".^000000";
+ if (@score == 100) goto L_perfect;
+ mes ".............";
+ next;
+ mes "[Geshupenschte]";
+ mes "Sorry friend, I don't want to give you the job.";
+ mes "You need just a bit more knowledge. Go study some more";
+ set BSMITH_Q2, 1;
+ close;
+
+ L_perfect:
+ set BSMITH_Q,2;
+ set BSMITH_Q2, 0;
+ mes "Perfect!";
+ next;
+ mes "[Geshupenschte]";
+ mes "Then you definatly can do the errand!";
+ mes "Are you prepared?";
+ close;
+L_result2:
+ mes "[Geshupenschte]";
+ mes "Great!";
+ next;
+ mes "[Geshupenschte]";
+ mes "Lets see....your score is ^5533FF"+@score+".^000000";
+ if (@score > 80) goto L_pass;
+ mes ".............";
+ next;
+ mes "[Geshupenschte]";
+ mes "You've missed again!";
+ mes "If you keep missing, I can't give you the job. Go study more.";
+ set BSMITH_Q2, 1;
+ close;
+
+ L_pass:
+ set BSMITH_Q,2;
+ set BSMITH_Q2, 0;
+ mes "You Passed!";
+ next;
+ mes "[Geshupenschte]";
+ mes "I'll let you do the job";
+ mes "Are you prepared?";
+ close;
+L_ReTest1:
+ mes "Ah, I see you've studied more. Don't miss any questions! Here we go!";
+ next;
+ goto M_Rdy;
+
+
+// Test 2-----------------------------------------------------------------
+L_Test2:
+ if(BSMITH_Q2 > 0) goto L_CheckTest2;
+ mes "Let's see... orders....";
+ next;
+ mes "[Geshupenschte]";
+ mes "Ah, here it is!";
+ mes "Here's the order that's almost due";
+ mes "Hmmm";
+ next;
+ mes "[Geshupenschte]";
+ mes "I need you to get me....";
+ next;
+ set BSMITH_Q2,rand(1,5);
+ if (BSMITH_Q2 == 2) goto R_item2;
+ if (BSMITH_Q2 == 3) goto R_item3;
+ if (BSMITH_Q2 == 4) goto R_item4;
+ if (BSMITH_Q2 == 5) goto R_item5;
+
+ R_item1:
+ mes "[Geshupenschte]";
+ mes "^5533FF2 Steel";
+ mes "1 Rotten Bandage";
+ mes "2 Blue Gemstone^000000";
+ mes "and ^5533FF1 Arc Wand^000000 from the store.";
+ next;
+ mes "[Geshupenschte]";
+ mes "Hey, we're not making you bring these because we're cheap! It's a test!";
+ next;
+ mes "[Geshupenschte]";
+ mes "^5533FF2 Steel";
+ mes "1 Rotten Bandage";
+ mes "2 Blue Gemstone^000000";
+ mes "and ^5533FF1 Arc Wand^000000 from the store.";
+ next;
+ goto L_finalword;
+ R_item2:
+ mes "[Geshupenschte]";
+ mes "^5533FF2 Star Dust";
+ mes "2 Skel Bones";
+ mes "1 Zargons^000000";
+ mes "and ^5533FF1 Gladius^000000 from the stores.";
+ next;
+ mes "[Geshupenschte]";
+ mes "Hey! We're not being cheap, this is a test!";
+ next;
+ mes "[Geshupenschte]";
+ mes "I'll list them again";
+ mes "^5533FF2 Star Dust";
+ mes "2 Skel Bones";
+ mes "1 Zargons^000000";
+ mes "and ^5533FF1 Gladius^000000 from the stores.";
+ next;
+ goto L_finalword;
+ R_item3:
+ mes "[Geshupenschte]";
+ mes "^5533FF2 Coals";
+ mes "2 Shells";
+ mes "2 Red Bloods^000000";
+ mes "and ^5533FF1 Tsurugi^000000 from the stores.";
+ next;
+ mes "[Geshupenschte]";
+ mes "Hey! We're not being cheap, this is a test!";
+ next;
+ mes "[Geshupenschte]";
+ mes "I'll list them again";
+ mes "^5533FF2 Coals";
+ mes "2 Shells^000000";
+ mes "2 Red Bloods";
+ mes "and ^5533FF1 Tsurugi^000000 from the stores.";
+ next;
+ goto L_finalword;
+ R_item4:
+ mes "[Geshupenschte]";
+ mes "^5533FF8 Iron Ores";
+ mes "1 Trunk";
+ mes "2 Blue Gems^000000";
+ mes "And a ^5533FFArbalest^000000 from the stores.";
+ next;
+ mes "[Geshupenschte]";
+ mes "Hey! We're not being cheap!";
+ next;
+ mes "[Geshupenschte]";
+ mes "I'll list them again.";
+ mes "^5533FF8 Iron Ores";
+ mes "1 Trunk";
+ mes "2 Blue Gems^000000";
+ mes "And a ^5533FFArbalest^000000 from the stores.";
+ next;
+ goto L_finalword;
+ R_item5:
+ mes "[Geshupenschte]";
+ mes "^5533FF8 Iron Ores";
+ mes "20 Green Herbs";
+ mes "2 Animal Skin^000000";
+ mes "and ^5533FF1 Morning Star^000000 from the stores.";
+ next;
+ mes "[Geshupenschte]";
+ mes "Hey! We're not being cheap! It's a test!";
+ next;
+ mes "[Geshupenschte]";
+ mes "I'll list them again.";
+ mes "^5533FF8 Iron Ores";
+ mes "20 Green Herbs";
+ mes "2 Animal Skin^000000";
+ mes "and ^5533FF1 Morning Star^000000 from the stores.";
+ next;
+ L_finalword:
+ mes "[Geshupenschte]";
+ mes "Good luck!";
+ close;
+
+L_CheckTest2:
+ mes "Hmm? Did you bring all the items?";
+ next;
+ if (BSMITH_Q2 == 2) goto L_2b;
+ if (BSMITH_Q2 == 3) goto L_2c;
+ if (BSMITH_Q2 == 4) goto L_2d;
+ if (BSMITH_Q2 == 5) goto L_2e;
+
+ L_2a:
+ if(countitem(999) < 2 || countitem(930) < 1 || countitem(717) < 2 || countitem(1610) < 1) goto sL_NtEnuf1;
+ mes "[Geshupenschte]";
+ mes "Didn't I ask for 3 steels?";
+ next;
+ mes "[Geshupenschte]";
+ mes "Oh yea! I did ask for 2.";
+ mes "Gimme a sec.";
+ delitem 999,2;
+ delitem 930,1;
+ delitem 717,2;
+ delitem 1610,1;
+ callsub sF_Make;
+ mes "Deliever this to Geffen's Baisulitst and bring back the reciept.";
+ getitem 1610,1;
+ next;
+ mes "[Geshupenschte]";
+ mes "WHAT!? Nothing looks different?";
+ mes "Look carefully where my hand is.";
+ mes "See the emphesized groove!?";
+ mes "ITS THE SUPER Geshupenschte ARC WAND MK II!!!!! XDDDDD";
+ next;
+ mes "[Geshupenschte]";
+ mes "Feel the difference! Almost no inertia!";
+ next;
+ mes "[Geshupenschte]";
+ mes "Now, go deliever to Baisulitst!";
+ close;
+
+ sL_NtEnuf1:
+ mes "[Geshupenschte]";
+ mes "You didn't bring all the items!";
+ next;
+ goto R_item1;
+ L_2b:
+ if(countitem(1001) < 2 || countitem(932) < 2 || countitem(912) < 1 || countitem(1219) < 1) goto sL_NtEnuf2;
+ mes "[Geshupenschte]";
+ mes "Didn't I ask for 3 Star Dusts?";
+ next;
+ mes "[Geshupenschte]";
+ mes "Oh yea, 2, that's right.";
+ mes "Okay, gimme a sec.";
+ delitem 1001,2;
+ delitem 932,2;
+ delitem 912,1;
+ delitem 1219,1;
+ callsub sF_Make;
+ mes "Now, take this to Morroc's Wickebine";
+ getitem 1219,1;
+ next;
+ mes "[Geshupenschte]";
+ mes "WHAT!? IT DOESN'T LOOK ANY DIFFERENT!?";
+ mes "Look carefully at the blade!";
+ mes "CAN YOU NOT SEE THE BEAUTIFUL MARKINGS?!";
+ mes "ULTRA GLADIUS Geshupenschte Mk II!!";
+ next;
+ mes "[Geshupenschte]";
+ mes "Isnt it so pretty ^_^";
+ next;
+ mes "[Geshupenschte]";
+ mes "Well, go to Morroc and give it the Wickebine and bring the receipt back.";
+ close;
+
+ sL_NtEnuf2:
+ mes "[Geshupenschte]";
+ mes "You didn't bring all the items!";
+ next;
+ goto R_item2;
+ L_2c:
+ if(countitem(1003) < 2 || countitem(935) < 2 || countitem(990) < 1 || countitem(1119) < 1) goto sL_NtEnuf3;
+ mes "[Geshupenschte]";
+ mes "Didn't I ask for 3 coals??";
+ next;
+ mes "[Geshupenschte]";
+ mes "That's right, 2 coals";
+ mes "Okay, wait a sec.";
+ delitem 1003,2;
+ delitem 935,2;
+ delitem 990,1;
+ delitem 1119,1;
+ callsub sF_Make;
+ mes "Give this to Izlude's Gromgast and bring back the receipt.";
+ getitem 1119,1;
+ next;
+ mes "[Geshupenschte]";
+ mes "WHAT!? NOTHING LOOKS DIFFERENT!?";
+ mes "Look carefully at the blade!";
+ mes "Look at the beautiful markings!";
+ mes "ULTRA Geshupenschte TSURUGI Mk II!!!";
+ next;
+ mes "[Geshupenschte]";
+ mes "Isn't it so pretty ^_^";
+ next;
+ mes "[Geshupenschte]";
+ mes "Anyways, Izlude's Gromgast! Go!";
+ close;
+
+ sL_NtEnuf3:
+ mes "[Geshupenschte]";
+ mes "You didn't bring all the items!";
+ next;
+ goto R_item3;
+
+ L_2d:
+ if(countitem(1002) < 8 || countitem(1019) < 1 || countitem(717) < 2 || countitem(1713) < 1) goto sL_NtEnuf4;
+ mes "[Geshupenschte]";
+ mes "Didn't I ask for 30 iron ores?";
+ next;
+ mes "[Geshupenschte]";
+ mes "Wait, 8 is right >_>";
+ mes "Hmmm, wait a sec then.";
+ delitem 1002,8;
+ delitem 1019,1;
+ delitem 717,2;
+ delitem 1713,1;
+ callsub sF_Make;
+ mes "Deliever this to Payon's Tilpitz";
+ getitem 1713,1;
+ next;
+ mes "[Geshupenschte]";
+ mes "WHAT!? NOTHING LOOKS DIFFERENT!?";
+ mes "LOOK AT THE GROOVES WHERE THE ARROWS GO!!";
+ mes "LOOK HOW CUSTOMIZED IT IS!!!!!";
+ mes "Geshupenschte'S MASTER ARCHER ARBALEST Mk II!!!";
+ next;
+ mes "[Geshupenschte]";
+ mes "Look how well built the bow is!";
+ next;
+ mes "[Geshupenschte]";
+ mes "Well, Tilpitz in Payon, and bring the envelop.";
+ close;
+
+ sL_NtEnuf4:
+ mes "[Geshupenschte]";
+ mes "You didn't bring all the items!";
+ next;
+ goto R_item4;
+
+ L_2e:
+ if(countitem(1002) < 8 || countitem(511) < 20 || countitem(919) < 2 || countitem(1513) < 1) goto sL_NtEnuf5;
+ mes "[Geshupenschte]";
+ mes "Didn't I ask for 40 ores?";
+ next;
+ mes "[Geshupenschte]";
+ mes "Wait, 8! That's right!";
+ mes "Okay, wait a sec!";
+ delitem 1002,8;
+ delitem 511,20;
+ delitem 919,2;
+ delitem 1513,1;
+ callsub sF_Make;
+ mes "Take this to Bismarck in Comodo and bring me the receipt.";
+ getitem 1513,1;
+ next;
+ mes "[Geshupenschte]";
+ mes "WHAT!? NOTHING LOOKS DIFFERENT!?";
+ mes "Look carefully at the tips of the spikes!!";
+ mes "The green herbs' antidote for poisons have been mixed in!";
+ mes "ANTI POISON Geshupenschte MORNING STAR MK II!!!!!";
+ next;
+ mes "[Geshupenschte]";
+ mes "Don't you get it!? When you're poisoned, you stab yourself with it!";
+ mes "The wound.....probably will get bigger! But the poison will be gone!";
+ next;
+ mes "[Geshupenschte]";
+ mes "Well, take this to Bismarck of Comodo!";
+ close;
+
+ sL_NtEnuf5:
+ mes "[Geshupenschte]";
+ mes "You didn't bring all the items!";
+ next;
+ goto R_item5;
+
+ sF_Make:
+ set BSMITH_Q, 3;
+ next;
+ mes "[Geshupenschte]";
+ mes "Grunt.......";
+ next;
+ mes "~clank~clonk~clank~";
+ next;
+ mes "[Geshupenschte]";
+ mes "Ergh......";
+ next;
+ mes "~bonk~bang~bonk~";
+ next;
+ mes "[Geshupenschte]";
+ mes "Whew. There we go!";
+ return;
+
+
+// Test 3-----------------------------------------------------------------
+L_Test3:
+ if (BSMITH_Q3 == 1) goto L_CheckTest3;
+ mes "Go deliever!";
+ mes "........you didn't forget.......right?";
+ next;
+ mes "[Geshupenschte]";
+ if (BSMITH_Q2 == 2) goto L_3b;
+ if (BSMITH_Q2 == 3) goto L_3c;
+ if (BSMITH_Q2 == 4) goto L_3d;
+ if (BSMITH_Q2 == 5) goto L_3e;
+
+ L_3a:
+ if (countitem(1610) < 1) goto L_LostItem;
+ mes "Baisulitst should be at 11 o'clock of Geffen ";
+ close;
+ L_3b:
+ if (countitem(1219) < 1) goto L_LostItem;
+ mes "Take it to Wickebine near the Sword Mace dealer in Morroc.";
+ close;
+ L_3c:
+ if (countitem(1119) < 1) goto L_LostItem;
+ mes "Gromgast hangs out at 11 o'clock of Izlude.";
+ close;
+ L_3d:
+ if (countitem(1713) < 1) goto L_LostItem;
+ mes "Tilpitz hangs out at 5 o'clock of Payon";
+ close;
+ L_3e:
+ if (countitem(1513) < 1) goto L_LostItem;
+ mes "Bismarck is usually at 12 o'clock area of Comodo.";
+ close;
+
+ L_LostItem:
+ mes "WHAT!!! YOU LOST THE ITEM I GAVE YOU TO DELIVER!!!!";
+ emotion 23;
+ next;
+ mes "[Geshupenschte]";
+ mes "........... Well then.... I gues you'll just have too.....";
+ next;
+ mes "[Geshupenschte]";
+ mes "START ALL OVER!! Now get out of my sight!!";
+ set BSMITH_Q, 0;
+ set BSMITH_Q2, 0;
+ emotion 7;
+ close;
+
+L_CheckTest3:
+ mes "Did you deliever it?";
+ mes "Lets see the receipt then!";
+ next;
+ menu "Here you go",-,"Wait a second.",M_Wait;
+
+ if(countitem(1073) < 1) goto sL_noreceipt;
+ mes "[Geshupenschte]";
+ mes "Great! Very good! You're definalty a honest merchant! Go see Altiregen back in Geffen!";
+ mes "I know you'll definately pass the test!!!";
+ set BSMITH_Q, 4;
+ set BSMITH_Q2, 0;
+ set BSMITH_Q3, 0;
+ delitem 1073,1;
+ close;
+
+ sL_noreceipt:
+ mes "[Geshupenschte]";
+ mes "........You don't know where you left the receipt.........";
+ next;
+ mes "[Geshupenschte]";
+ mes "WHAT'S THIS?! YOU LOST IT!? DId you SELL it or something!?";
+ emotion 23;
+ next;
+ mes "[Geshupenschte]";
+ mes "The receipt is the soul of merchants! The life line of blacksmiths!";
+ mes "Guess what? You get to..... START ALL OVER!!";
+ set BSMITH_Q, 0;
+ set BSMITH_Q2, 0;
+ set BSMITH_Q3, 0;
+ emotion 32;
+ close;
+ M_Wait:
+ mes "[Geshupenschte]";
+ mes "Well, tell me if you find the receipt. I HOPE you got one.";
+ close;
+
+L_Done:
+ mes "Thanks for working for me! Now go see Altiregen!";
+ close;
+
+L_GoChange:
+ mes "There should be nothing you want now.........";
+ mes "Maybe you're thinking of Morroc or Geffen?";
+ close;
+}
+
+
+// Delivery Recipients ==================================================>\\
+// Baisulitst -----------------------------------------------------------
+geffen.gat,46,164,4 script Baisulitst 69,{
+ if (BSMITH_Q==3) goto L_Start;
+
+ mes "[Baisulitst]";
+ mes "Now that I think about it, it's been a while since I've been to Alberta. I'm a little upset with the service I've been getting, especially the late deliveries......";
+ next;
+ mes "[Baisulitst]";
+ mes "I ordered something from the Geffen Blacksmith Guild but the order got transfered to a blacksmith in Alberta.....";
+ next;
+ mes "[Baisulitst]";
+ mes "Hmmm....., I wonder when I will recieve my special order ^5555FFArc Wand^000000.....";
+ emotion 20;
+ close;
+
+L_Start:
+ if(BSMITH_Q2 != 1) goto L_Wrong;
+ if(countitem(1073) == 1) goto L_Done;
+ if(countitem(1610) < 1) goto L_NoItem;
+ mes "[Baisulitst]";
+ mes "Wow! Is it finally here?!";
+ mes "Thank you! I was waiting forever!";
+ delitem 1610,1;
+ set BSMITH_Q3, 1;
+ next;
+ mes "[Baisulitst]";
+ mes "I ordered this from the Geffen BS Guild, but they assigned it to the smith in Alberta!";
+ next;
+ mes "[Baisulitst]";
+ mes "Thanks for coming from so far away!";
+ mes "Also, make sure to hit Geshupenschte one for me! How could anything be so late >_>";
+ next;
+ mes "[Baisulitst]";
+ mes "Here's the receipt!";
+ next;
+ mes "~Scribble, Scribble~ Rip ~";
+ next;
+ getitem 1073,1;
+ mes "[Baisulitst]";
+ mes "Here you go! Good bye! Thank you for the delivery!";
+ close;
+
+ L_NoItem:
+ mes "[Baisulitst]";
+ mes "..... Hmm?.... What's this?..... You here to deliver something to me but you don't have the actual item??";
+ emotion 32;
+ L_Wrong:
+ mes "[Baisulitst]";
+ mes "..... Hmm?.... What's this?..... This is not what I ordered.....";
+ emotion 32;
+ L_Done:
+ mes "[Baisulitst]";
+ mes "Thanks again for the delivery. I really appreciate it!";
+ close;
+}
+
+// Wickebine --------------------------------------------------------------------
+morocc.gat,27,112,4 script Wickebine 725,{
+ if (BSMITH_Q == 3) goto L_Start;
+
+ mes "[Wickebine]";
+ mes "..........";
+ mes ".....When will my order be here?";
+ emotion 20;
+ next;
+ mes "[Wickebine]";
+ mes "The Geffen Blacksmith Guild and Geshupenschte are both CHRONICALLY LATE!";
+ emotion 32;
+ next;
+ mes "[Wickebine]";
+ mes "This is very upsetting......";
+ close;
+L_Start:
+ if(BSMITH_Q2 != 2) goto L_Wrong;
+ if(countitem(1073) == 1) goto L_Done;
+ if(countitem(1219) < 1) goto L_NoItem;
+ mes "[Wickebine]";
+ mes "Is it finally here!?!";
+ mes "Give it!!!!";
+ delitem 1219,1;
+ set BSMITH_Q3, 1;
+ next;
+ mes "[Wickebine]";
+ mes "Tell the BS guild";
+ mes "and your teacher Geshupenschte!";
+ next;
+ mes "[Wickebine]";
+ mes "You're LATE";
+ mes "and I was WAITING.";
+ next;
+ mes "[Wickebine]";
+ mes "But the item seems pretty high quality.";
+ next;
+ mes "(Writes something down)";
+ next;
+ getitem 1073,1;
+ mes "[Wickebine]";
+ mes "Here's the receipt and thanks for the delivery.";
+ close;
+
+ L_NoItem:
+ mes "[Wickebine]";
+ mes "Ung! You came all this way to deliver my item and you lost it??!!";
+ emotion 6;
+ close;
+ L_Wrong:
+ mes "[Wickebine]";
+ mes "I think you're supposed to deliver this somewhere else.....";
+ emotion 4;
+ close;
+ L_Done:
+ mes "[Wickebine]";
+ mes "Thank you";
+ close;
+}
+
+// Gromgast ---------------------------------------------------------------------
+izlude.gat,69,181,4 script Gromgast 734,{
+ if (BSMITH_Q == 3) goto L_Start;
+
+ mes "[Gromgast]";
+ mes "..........";
+ mes ".....When will that sword arrive >_>";
+ next;
+ mes "[Gromgast]";
+ mes "I need that sword for my training!";
+ mes "Nooo.....I must not get rusty!";
+ next;
+ mes "[Gromgast]";
+ mes "Noooooooo T_T......";
+ close;
+
+L_Start:
+ if(BSMITH_Q2 != 3) goto L_Wrong;
+ if(countitem(1073) == 1) goto L_Done;
+ if(countitem(1119) < 1) goto L_NoItem;
+ mes "[Gromgast]";
+ mes "Ahhh, it's finally here";
+ mes "Let me see it.";
+ delitem 1119,1;
+ set BSMITH_Q3, 1;
+ next;
+ mes "[Gromgast]";
+ mes "Nice.....";
+ mes "It's better then I expected.";
+ next;
+ mes "[Gromgast]";
+ mes "I think this sword is exactly what I need!!";
+ mes "I like it!";
+ next;
+ mes "[Gromgast]";
+ mes "Here you go.";
+ next;
+ mes "~scribble~rip~";
+ next;
+ getitem 1073,1;
+ mes "[Gromgast]";
+ mes "Here's the receipt! Thank you.";
+ close;
+
+ L_NoItem:
+ mes "[Gromgast]";
+ mes "Hmm... I don't understand.... where is the item I ordered???....";
+ emotion 20;
+ L_Wrong:
+ mes "[Gromgast]";
+ mes "Sorry, but you've got the wrong person.";
+ close;
+ L_Done:
+ mes "[Gromgast]";
+ mes "Thanks for the delivery!";
+ close;
+}
+
+// Tilpitz --------------------------------------------------------------------
+payon.gat,214,79,4 script Tilpitz 59,{
+ if (BSMITH_Q == 3) goto L_Start;
+
+ mes "[Tilpitz]";
+ mes "When's that bow coming..........";
+ mes "How long ago did I order this thing >_>";
+ next;
+ mes "[Tilpitz]";
+ mes "There's no one that can make it execpt 'him'.........";
+ mes "but, WHEN WILL IT COME >_>";
+ next;
+ mes "[Tilpitz]";
+ mes " T_T ";
+ close;
+L_Start:
+ if(BSMITH_Q2 != 4) goto L_Wrong;
+ if(countitem(1073) == 1) goto L_Done;
+ if(countitem(1713) < 1) goto L_NoItem;
+ mes "[Tilpitz]";
+ mes ".......Ohhh! It's finally here!!!";
+ mes "Let me see it!";
+ delitem 1713,1;
+ set BSMITH_Q3, 1;
+ next;
+ mes "[Tilpitz]";
+ mes "Wow....";
+ mes "Not bad......not bad at all!!";
+ next;
+ mes "[Tilpitz]";
+ mes "Look at this curve!! It's wonderful!!";
+ mes "Oh, I love this";
+ next;
+ mes "[Tilpitz]";
+ mes "Thank you!!!";
+ next;
+ mes "scribble scribble rip";
+ next;
+ getitem 1073,1;
+ mes "[Tilpitz]";
+ mes "Here's the receipt! Thank you again!!!!!";
+ close;
+
+ L_NoItem:
+ mes "[Tilpitz]";
+ mes "Oooh! The delivery is here? What?..... You don't have anything???.....";
+ emotion 1;
+ next;
+ mes "[Tilpitz]";
+ mes "Don't play bad jokes on people!";
+ emotion 7;
+ close;
+ L_Wrong:
+ mes "[Tilpitz]";
+ mes "What's this? You have a delivery.... for someone else..... Then why not deliver it to that person instead???........";
+ emotion 4;
+ close;
+ L_Done:
+ mes "[Tilpitz]";
+ mes "More I look at it, more beautiful it gets!!! ";
+ close;
+}
+
+// Bismarck ---------------------------------------------------------------------------
+comodo.gat,158,342,4 script Bismarck 118,{
+ if (BSMITH_Q == 3) goto L_Start;
+
+ mes "[Bismarck]";
+ mes "......Ugh?...";
+ mes ".....When's that delivery coming......";
+ next;
+ mes "[Bismarck]";
+ mes "....the.....p...poison...... >_>....";
+ mes "Ack.....";
+ next;
+ mes "[Bismarck]";
+ mes "....Looks like... I'm....screwed.";
+ close;
+
+L_Start:
+ if(BSMITH_Q2 != 5) goto L_Wrong;
+ if(countitem(1073) == 1) goto L_Done;
+ if(countitem(1513) < 1) goto L_NoItem;
+ mes "[Bismarck]";
+ mes "Ugh.........finally...........";
+ mes "Pant pant..........give it to me~";
+ delitem 1513,1;
+ set BSMITH_Q3, 1;
+ next;
+ mes "[Bismarck]";
+ mes "Ugh....";
+ mes "The green herb is in it........right?";
+ next;
+ mes "[Bismarck]";
+ mes "I........can't move.........help me up";
+ mes "....grunt.....";
+ next;
+ mes "- STAB! -";
+ next;
+ mes "[Bismarck]";
+ mes "AAAAAAAAAAACCCCCCCCCKKKKKK!!!";
+ next;
+ mes "[Bismarck]";
+ mes "whew, that works pretty well..";
+ next;
+ getitem 1073,1;
+ mes "[Bismarck]";
+ mes "Cough.... Here's the receipt..... thank you for the delivery! I guess I get to live longer......";
+ close;
+
+ L_NoItem:
+ mes "[Bismarck]";
+ mes "ARE YOU TRYING TO TOY WITH ME!!?? How.... ~cough~... could....~ung~.... you....~ack~.....";
+ emotion 23;
+ close;
+ L_Wrong:
+ mes "[Bismarck]";
+ mes "I NEED AN ANTIDOTE DAMMIT!! Not this stuff ~ack~........";
+ emotion 23;
+ close;
+ L_Done:
+ mes "[Bismarck]";
+ mes "Whew, thank you.";
+ close;
+}
+
+
+
+//<===================================================== Mitehmaeeuh: Last Test ===================================================>\\
+ein_in01.gat,24,41,4 script Mitmayer 726,{
+ if (BSMITH_Q == 4) goto L_Start;
+ if (BSMITH_Q == 5) goto L_Done;
+ mes "[Mitmayer]";
+ mes "Whew.... the sun in Morroc is just too strong.... I guess it will gie me tougher skin... Oh well......";
+ emotion 19;
+ next;
+ mes "[Mitmayer]";
+ mes "Afteralll, we Blacksmiths are used to high temperatures since we work with fire everyday!";
+ next;
+ mes "[Mitmayer]";
+ mes "Getting nice and tan isn't so bad..... I think it gives you a healthy athletic look.";
+ close;
+L_Done:
+ mes "[Mitmayer]";
+ mes "I told you that you've passed.";
+ next;
+ mes "[Mitmayer]";
+ mes "Return to the guild";
+ next;
+ mes "[Mitmayer]";
+ mes "Also, don't lose the Hammer of Blacksmiths!!";
+ next;
+ mes "[Mitmayer]";
+ mes "Don't forget to use the skill points too!";
+ close;
+L_Start:
+ mes "[Mitmayer]";
+ mes "Welcome! You want to be a smith?";
+ mes "Okay, but know that not everyody passes.";
+ next;
+ mes "[Mitmayer]";
+ mes "It's a quiz about how well you know metals and the blacksmith class.";
+ mes "I have quite a bit to ask, so lets start";
+ next;
+ menu "Ok",M_Test,"Not now",-;
+
+ mes "[Mitmayer]";
+ mes "Okay, I'll see you then.";
+ close;
+ M_Test:
+ mes "[Mitmayer]";
+ mes "Okay, lets start You'll fail if you don't get enough right.";
+ next;
+ mes "[Mitmayer]";
+ mes "5 questions";
+ mes "I won't tell you what's right or wrong.";
+ next;
+ set @score, 0;
+ set @temp, rand(3);
+ if (@temp == 1) goto R_Set2;
+ if (@temp == 2) goto R_Set3;
+
+ R_Set1:
+ mes "[Mitmayer]";
+ mes "1. Which skill is needed for discount?";
+ next;
+ menu "Pushcart Lv 3",sM_1a,"Item Appraisal",sM_1a,"Mammonite Lv 10",sM_1a,"Enlarge Weight Lv 3",-;
+
+ set @score,@score+20;
+ sM_1a:
+
+ mes "[Mittmayer]";
+ mes "2. What effect does hammerfall have?";
+ next;
+ menu "Stun",-,"Blind",sM_1b,"Confuse",sM_1b,"Poison",sM_1b;
+
+ set @score,@score+20;
+ sM_1b:
+
+ mes "[Mitmayer]";
+ mes "3. How much zeny is taken when Mammonite 10 is used?";
+ next;
+ menu "900z",sM_1c,"1,000z",-,"2,000z",sM_1c,"1,000,000z",sM_1c;
+
+ set @score,@score+20;
+ sM_1c:
+
+ mes "[Mitmayer]";
+ mes "4. How much money is saved with max discount??";
+ next;
+ menu "21 % ",sM_1d,"22 % ",sM_1d,"23 % ",sM_1d,"24 % ",-;
+
+ set @score,@score+20;
+ sM_1d:
+
+ mes "[Mitmayer]";
+ mes "5. How much can you earn with max overcharge?";
+ next;
+ menu "21 % ",sM_1e,"22 % ",sM_1e,"23 % ",-,"24 % ",sM_1e;
+
+ set @score,@score+20;
+ sM_1e:
+ goto L_Result;
+
+ R_Set2:
+ mes "[Mittmayer]";
+ mes "1. Which monster drops steel?";
+ next;
+ menu "Zerom",sM_2a,"Steel Chonchon",sM_2a,"Skel Worker",-,"Requiem",sM_2a;
+
+ set @score,@score+20;
+ sM_2a:
+
+ mes "[Mitmayer]";
+ mes "2. What can you make with Red Bloods?";
+ next;
+ menu "Flame Heart",-,"Rough Wind",sM_2b,"Great Nature",sM_2b,"Mystic Frozen",sM_2b;
+
+ set @score,@score+20;
+ sM_2b:
+
+ mes "[Mitmayer]";
+ mes "3. Which ore do you have the most of in storage?";
+ next;
+ menu "WoV",sM_2c,"Red Blood",-,"Green Live",-,"Crystal Blue",-;
+
+ set @score,@score+20;
+ sM_2c:
+
+ mes "[Mitmayer]";
+ mes "4. What kind of monsters are weak against wind weapons?";
+ next;
+ menu "Fire",sM_2d,"Water",-,"Earth",sM_2d,"Wind",sM_2d;
+
+ set @score,@score+20;
+ sM_2d:
+
+ mes "[Mitmayer]";
+ mes "5. How many irons are needed to make steel?";
+ next;
+ menu "5",-,"4",sM_2e,"3",sM_2e,"6",sM_2e;
+
+ set @score,@score+20;
+ sM_2e:
+ goto L_Result;
+
+ R_Set3:
+ mes "[Mitmayer]";
+ mes "1. What do you do when you find a person in distress?";
+ next;
+ menu "Ask what they need",-,"Talk for a bit",-,"Ignore",sM_3a,"Drop item and leave",sM_3a;
+
+ set @score,@score+20;
+ sM_3a:
+
+ mes "[Mitmayer]";
+ mes "2. Where do you learn change cart?";
+ next;
+ menu "Aldebaran",sM_3b,"Alberta",-,"Morroc",sM_3b,"Izlude",sM_3b;
+
+ set @score,@score+20;
+ sM_3b:
+
+ mes "[Mitmayer]";
+ mes "3. Geffen tower is the center, where is the BS guild?";
+ next;
+ menu "11oclock",sM_3c,"5oclock",-,"7oclock",sM_3c,"12oclock",sM_3c;
+
+ set @score,@score+20;
+ sM_3c:
+
+ mes "[Mitmayer]";
+ mes "4. Which town has the most smiths";
+ next;
+ menu "Prontera",sM_3d,"Morroc",sM_3d,"Alberta",sM_3d,"Geffen",-;
+
+ set @score,@score+20;
+ sM_3d:
+
+ mes "[Mitmayer]";
+ mes "5. Which stat affect forge?";
+ next;
+ menu "STR",sM_3e, "DEX ",-, "AGI",sM_3e, "VIT",sM_3e;
+
+ set @score,@score+20;
+ sM_3e:
+
+L_Result:
+ mes "[Mitmayer]";
+ mes "Great work!";
+ next;
+ mes "[Mitmayer]";
+ mes "lets see... your score is ^5533FF"+@score+"^000000 points!";
+ next;
+ mes "[Mitmayer]";
+ if (@score > 70) goto L_Pass;
+
+ mes "Failed, go study more!!";
+ next;
+ mes "[Mitmayer]";
+ mes "It's just not enough.....";
+ mes "Please return after you've studied more.";
+ close;
+
+ L_Pass:
+ mes "Great! Congrats! You pass!";
+ emotion 21;
+ next;
+ mes "[Mitmayer]";
+ mes "You'll need to return to the guild. Here is proof that you passed the test.... the ^5533FFHammer of Blacksmiths^000000.";
+ getitem 1005,1;
+ set BSMITH_Q, 5;
+ set BSMITH_Q2, 0;
+ next;
+ mes "[Mitmayer]";
+ mes "DON'T LOOSE THIS!!";
+ emotion 0;
+ next;
+ mes "[Mitmayer]";
+ mes "Well, good luck!!!!";
+ close;
+}
+
+//=========================== NPC that tells you, that the Guild moved
+//=========================== She's there on kRO, but the current text is custom ^^
+geffen_in.gat,110,169,4 script Guildsman 726,{
+ mes "[Blacksmith Guildsman]";
+ mes "Welcome! We're the masters of the metal, blacksmiths!";
+ mes "Our skills in creating weapons, in a way, is almost an art form!.";
+ next;
+ mes "[Blacksmith Guildsman]";
+ mes "Our Guild was recently moved to a biger building in the steel city of Einbroch.";
+ mes "If you are here to take part in your training, please go there";
+ next;
+ menu "What? Where? How?",-,"OK, thank you!",M_ok;
+
+ mes "[Blacksmith Guildsman]";
+ mes "Ah. I'm sorry. You must be unfamiliar with the new and wonderful Airship Transportation System!";
+ next;
+ menu "Air...what?",-,"Oh, that!",M_know;
+
+ mes "[Blacksmith Guildsman]";
+ mes "The Airship Transportation System!";
+ mes "It's realy a wonderful thing. No more relying on stupid Magic Teleports.";
+ mes "The Airship is a big flying machine that will get you to your destination in no time";
+ next;
+ mes "[Blacksmith Guildsman]";
+ mes "Just think about it. The blue sky and white clouds. The wind in your hair.";
+ mes "How I adore that feeling!";
+ next;
+ menu "Um.. about that guild...",-,"She's nuts! RUN!",M_run;
+
+ mes "[Blacksmith Guildsman]";
+ mes "Huh? Oh right. I get carried away sometimes...";
+ next;
+ mes "[Blacksmith Guildsman]";
+ mes "There are two Airships. One is flying from Izlude to Yuno, and the other one flys throughout the whole Shwarzwald Republic.";
+ mes "Thats Yuno, Hugel, Lighthalzen and Einbroch.";
+ next;
+M_know:
+ mes "[Blacksmith Guildsman]";
+ mes "If you wish to go to Einbroch, simply board the Airship in Izlude, get of in Yuno and take the second ship until it reaches Einbroch.";
+ mes "When you reach your destination just ask one of the Guides for the Blacksmith Guild";
+ next;
+ mes "[Blacksmith Guildsman]";
+ mes "Now I know that this may be a bit confusing. That's why our guild in association with the Kafra Corporation is serving free warps to Izlude!";
+ mes "Would you like to use our services?";
+ next;
+ menu "Yes, please.",-,"No, thank you.",M_no;
+
+ mes "[Blacksmith Guildsman]";
+ mes "Have a nice trip!!";
+ close2;
+ warp "izlude.gat",145,39;
+ end;
+
+M_ok:
+ mes "[Blacksmith Guildsman]";
+ mes "Always at your service!";
+ close;
+
+M_run:
+ mes "[Blacksmith Guildsman]";
+ mes "Huh? Hey! Where are you going?!";
+ close;
+
+M_no:
+ mes "[Blacksmith Guildsman]";
+ mes "No? Don't tell me you're afraid of flying...";
+ close;
+}
\ No newline at end of file diff --git a/npc/jobs/2-1/hunter.txt b/npc/jobs/2-1/hunter.txt new file mode 100644 index 000000000..deff0140b --- /dev/null +++ b/npc/jobs/2-1/hunter.txt @@ -0,0 +1,1199 @@ +//===== eAthena Script =======================================
+//= Hunter Job Quest
+//===== By: ==================================================
+//= EREMES THE CANIVALIZER (Aegis)Translated by yoshiki (Aegis)
+//= Converted by kobra_k88
+//= Further bugfixed and tested by Lupus
+//===== Current Version: =====================================
+//= 1.7
+//===== Compatible With: =====================================
+//= eAthena 1.0
+//===== Description: =========================================
+//= Hunter Job Quest converted from aegis script
+//===== Additional Comments: =================================
+//= 0.5 Fully working.
+//= 0.6 Changed global variable names to unique ones.
+//= 0.7 - 0.8 Updates for eAthena +Knight2,Crusader2 fix
+//= 0.9 Fixed items quest fork bug [Lupus]
+//= 1.0 Fixed items quest bug: added extra condition [Lupus]
+//= 1.1 Fixed skillpoints check bug [Lupus]
+//= 1.2 Fixed an exploit, thanks to nonox [celest]
+//= 1.3 Added Baby Class support [Lupus]
+//= 1.5 Fixed possible EXP abuse [Lupus]
+//= 1.6 Added a func which prevent advanced classes passing
+//= 2nd Job Quests again. It also guides adv classes where
+//= to go. [Lupus]
+//= 1.6a Infinite Arrows exploit fix (thanx to Lorky, that
+//= reported the bug) [Lupus]
+//= 1.7 Moved the Job QUest to Hugel [Poki#3]
+//============================================================
+
+//<====================================== Job Changer ========================================>\\
+hu_in01.gat,386,374,4 script Hunter Sharon 727,{
+ callfunc "F_BlockHigh",27,"High Archer",35,"Sniper","Hunter Sharon";
+
+ if(BaseJob==Job_Archer) goto L_Start;
+ callfunc "Hun_check";
+
+
+L_Start:
+ mes "[Hunter Sharon]";
+ if(HNTR_Q == 1) goto L_Test2;
+ if(HNTR_Q == 2) goto L_Test3;
+ if(HNTR_Q == 3) goto L_Change;
+ if(HNTR_Q2 == 1) goto L_ReTest;
+ mes "Hey archer!! Hmmm....... You look like you've trained pretty hard.... I take it you're here to be a hunter!";
+ next;
+ menu "Of course!",M_0, "What are the requirements",M_1, "Not right now.",M_End;
+
+ M_0:
+ mes "[Hunter Sharon]";
+ mes "Heh, I knew it. First fill out this application form.";
+ next;
+ mes "(you fill out the form and hand it back)";
+ next;
+ mes "[Hunter Sharon]";
+ if(JobLevel < 40) goto sL_LowLvl;
+ if(JobLevel == 50) goto sL_HighLvl;
+ set JBLVL, 40;
+ mes "Looks good. Let me start off by introducing myself. My name is Sharon, nice to meet you.";
+ next;
+ mes "[Hunter Sharon]";
+ mes "Before I explain the process of becoming a Hunter, I'd like to do a short interview with you.";
+ next;
+ mes "[Hunter Sharon]";
+ mes "Do you want to do the interview now?";
+ next;
+ menu "Yeah, let's begin.",L_Test, "Nah, I'll come back in a bit.",M_End;
+
+ sL_LowLvl:
+ mes "Hmm... It looks like you'll need more training. To become a Hunter, you will have to have a great amount of experience.";
+ next;
+ mes "[Hunter Sharon]";
+ mes "Having a ^5533FFjob level of 40^000000 is what is required of all Hunter candidates. Please continue your training and good luck.";
+ close;
+ sL_HighLvl:
+ mes "Well, well now! A high level archer.... very nice! You must have trained really hard.";
+ emotion 5;
+ next;
+ mes "[Hunter Sharon]";
+ mes "My name is Sharon, nice to meet you. Before I explain the process of becoming a Hunter, I'd like to do a short interview with you.";
+ next;
+ set JBLVL, 50;
+ goto L_Test;
+ M_1:
+ mes "[Hunter Sharon]";
+ mes "The requirements?";
+ mes "1. Be a archer";
+ mes "2. Have a job level of at least 40";
+ mes "3. Pass all of the tests";
+ next;
+ mes "[Hunter Sharon]";
+ mes "If you trained hard enough, you shouldn't have any problems becoming a Hunter.";
+ close;
+
+ M_End:
+ mes "[Hunter Sharon]";
+ mes "Ok, I'll see you later.";
+ close;
+
+
+ L_ReTest:
+ mes "[Hunter Sharon]";
+ mes "Hmm.. what's this? So you wanna do the interview again? Very well. Hopefully you'll do better this time.";
+ next;
+ mes "[Hunter Sharon]";
+ mes "Okay, let's start!";
+ next;
+ L_Test:
+ set @score, 0;
+ mes "[Hunter Sharon]";
+ mes "I'm going to ask you some simple questions to get a feel for who you are and why you want to become a Hunter.";
+ mes "Relax and answer the questions honestly and thoughtfully.";
+ next;
+ mes "[Hunter Sharon]";
+ mes "You've been an training for a while, and now you're running out of ideas about where to go hunt. What should you do?";
+ next;
+ menu "Walk around screaming, 'Where should i go hunt!?'",M_1b, "Ask someone politely.",-, "Just explore.",-;
+
+ set @score, @score + 10;
+ M_1b:
+
+ mes "[Hunter Sharon]";
+ mes "Okay, so you picked your hunting spot! You plan to go to the Sograt Desert to hunt Hodes.";
+ next;
+ mes "[Hunter Sharon]";
+ mes "But you're in Payon! How do you get to the desert?";
+ next;
+ menu "Go beg priests for warps",M_2b, "Kafra warp",-, "Walk there with a friend",-;
+
+ set @score, @score + 10;
+ M_2b:
+
+ mes "[Hunter Sharon]";
+ mes "There are no priests around, all your friends are busy, and you don't have enough money for a kafra warp.";
+ next;
+ mes "[Hunter Sharon]";
+ mes "How do you get the money?";
+ next;
+ menu "Beg",M_3b, "Sell useless items",-, "Go hunting in a nearby field",-;
+
+ set @score, @score + 10;
+ M_3b:
+
+ mes "[Hunter Sharon]";
+ mes "You somehow get to the desert, but now you feel too weak to hunt hodes.";
+ next;
+ mes "[Hunter Sharon]";
+ mes "What do you do now??";
+ next;
+ menu "Go cliff hunting.",M_4b, "Go rest at Morroc.",-, "Start shooting the hodes that other people are attacking.",M_4b;
+
+ set @score, @score + 10;
+ M_4b:
+
+ mes "[Hunter Sharon]";
+ mes "It's too much, you can't do it. You go to Morroc.";
+ next;
+ mes "[Hunter Sharon]";
+ mes "By the time you return to town, you have no hp left, but you see a priest. How do you ask for a heal?";
+ next;
+ menu "If it's ok, can i have a heal please?",-, "Heal please.",M_5b, "heal plz",M_5b;
+
+ set @score, @score + 10;
+ M_5b:
+
+ mes "[Hunter Sharon]";
+ mes "While hunting, you find a rare item. You go to the market to sell it, and find lots of people and chat rooms.";
+ next;
+ mes "[Hunter Sharon]";
+ mes "What do you do to sell the item quicker?";
+ next;
+ menu "Go into preexisting chat rooms and ask",M_6b, "Make your own chat room.",-, "See if anyone is buying.",-;
+
+ set @score, @score + 10;
+ M_6b:
+
+ mes "[Hunter Sharon]";
+ mes "After a while, a person starts to beg you. What do you do?";
+ next;
+ menu "Give some items and money",M_7b, "Ignore that person",M_7b, "Tell them where to level and make money.",-;
+
+ set @score, @score + 10;
+ M_7b:
+
+ mes "[Hunter Sharon]";
+ mes "You decide to go hunting in the woods.";
+ next;
+ mes "[Hunter Sharon]";
+ mes "But you find someone who's lost. What do you do?";
+ next;
+ menu "Give him/her directions.",-, "Personally escort him/her.",-, "Ignore that person.",M_8b;
+
+ set @score, @score + 10;
+ M_8b:
+
+ mes "[Hunter Sharon]";
+ mes "You take the person to a safe place and resume hunting. While hunting, you see someone fighting a mvp!";
+ next;
+ mes "[Hunter Sharon]";
+ mes "What do you do?";
+ next;
+ menu "Watch and attack if asked for help.",-, "Start attacking.",M_9b, "Return to town in panic.",M_9b;
+
+ set @score, @score + 10;
+ M_9b:
+
+ mes "[Hunter Sharon]";
+ mes "Now you're done hunting for the day.";
+ next;
+ mes "[Hunter Sharon]";
+ mes "You find a rare item on the street while going back to town. What do you do?";
+ next;
+ menu "Finders keepers.",M_10b, "Try to find owner.",-, "Walk past it.",-;
+
+ set @score, @score + 10;
+ M_10b:
+
+ L_Score:
+ mes "[Hunter Sharon]";
+ mes "Now we're done!!";
+ next;
+ if(@score < 90) goto sL_Failed;
+ if(@score < 100) goto sL_90;
+
+ sL_100:
+ mes "[Hunter Sharon]";
+ mes "Great! Based on the answers you gave, you seem to be just the type of person we're looking for.";
+ emotion 21;
+ next;
+ mes "[Hunter Sharon]";
+ mes "With your kind of additude and values, you should have no problems becoming a Hunter.";
+ next;
+ goto L_Test2;
+ sL_90:
+ mes "[Hunter Sharon]";
+ mes "You didn't do as well as I hoped, but I'll pass you.... Though I don't know what the guild master will think of you....";
+ next;
+ mes "[Hunter Sharon]";
+ mes "Work hard on the next test. Make Sharon happy, okies?";
+ next;
+ goto L_Test2;
+ sL_Failed:
+ mes "[Hunter Sharon]";
+ mes "I.......don't think I can pass you..... The way you live your life is...... well... unexecptable for a Hunter candidate.";
+ emotion 4;
+ next;
+ mes "[Hunter Sharon]";
+ mes "Think carefully about my questions and your answers. Working well with people is just as important as loving nature.";
+ set HNTR_Q2, 1;
+ close;
+
+L_Test2:
+ mes "What you have to do next is go see ^5533FFMr. Demon Hunter^000000 behind me. He'll tell you about the second test.";
+ next;
+ mes "[Hunter Sharon]";
+ mes "Good luck!";
+ set HNTR_Q, 1;
+ set HNTR_Q2, 0;
+ close;
+
+L_Test3:
+ mes "Hmmm? The guild master? Oh, he's out right now.";
+ emotion 20;
+ next;
+ mes "[Hunter Sharon]";
+ mes "If I remember correctly, he should be somewhere in Archer Village. I think he had to talk with someone in the ^5533FFArcher Guild^000000.";
+ close;
+
+L_Change:
+ if(skillpoint > 0) goto sL_SkPoints;
+ if(countitem(1007) < 1) goto sL_NotRdy;
+ mes "Huh? Did you pass the test?";
+ next;
+ mes "[Hunter Sharon]";
+ mes "Congratulations!!";
+ emotion 21;
+ next;
+ mes "[Hunter Sharon]";
+ mes "Now I can change you into a Hunter!";
+ next;
+ mes "[Hunter Sharon]";
+ mes "There you go! You look great in the hunter outfit";
+
+ callfunc "Job_Change",Job_Hunter;
+ emotion 21;
+ next;
+ mes "[Hunter Sharon]";
+ mes "Now, for working so hard, the guild has a small reward for you.";
+ if(JBLVL == 50) getitem 1718, 1;
+ if(JBLVL != 50) getitem 1710, 1;
+ callfunc "F_ClearJobVar"; // clears all job variables for the current player
+ next;
+ mes "[Hunter Sharon]";
+ mes "Do all of us here a favor, act responsibly, and love and respect nature! Good luck on your journey and remember you are always welcome here!";
+ next;
+ close;
+
+ sL_SkPoints:
+ mes "You still have skill points left over. Speak with me after you've used them up.";
+ close;
+ sL_NotRdy:
+ mes "[Hunter Sharon]";
+ mes "Hmmm, I received news of your success.... But you don't seem to have the ^5533FFNecklace of Wisdom^000000 as proof.";
+ emotion 20;
+ next;
+ mes "[Hunter Sharon]";
+ mes "You will need the Necklace of Wisdom to become a Hunter. If you don't have it you will have to start the test over.";
+ next;
+ menu "Um... I've got it.... somewhere....",-, "Heh heh.... I must have misplaced it.....",sM_ReStart;
+
+ mes "[Hunter Sharon]";
+ mes "Well then go get it!";
+ emotion 6;
+ close;
+ sM_ReStart:
+ mes "[Hunter Sharon]";
+ mes "..... That's just pathetic....... Have fun re-doing the ENTIRE TEST!";
+ emotion 32;
+ set HNTR_Q, 0;
+ set HNTR_Q2, 0;
+ close;
+}
+
+
+//<=========================== Demon Hunter: Second Test ===============================>\\
+hu_in01.gat,382,382,5 script Demon Hunter 732,{
+ if(BaseJob == Job_Archer) goto L_Arc;
+ if(BaseJob == Job_Hunter) goto L_Hnt;
+
+L_Other:
+ mes "[Demon Hunter]";
+ mes "They call me the Demon Hunter. What's that? You want to know why I'm called that?......";
+ next;
+ mes "[Demon Hunter]";
+ mes "heh... heh.... heh.....";
+ next;
+ mes "[Demon Hunter]";
+ mes "For your safety... it's best that you DON'T find out.....";
+ emotion 29;
+ close;
+
+L_Hnt:
+ mes "[Demon Hunter]";
+ mes "Look at you! Nice and spiffy in that Hunter's outfit. How does it feel? Good I bet. Well good luck to you.";
+ emotion 0;
+ close;
+
+L_Arc:
+ mes "[Demon Hunter]";
+ if(HNTR_Q == 1 && HNTR_Q2 > 0) goto L_Check; //Fixed [Lupus]
+ if(HNTR_Q == 1) goto L_Start;
+ if(HNTR_Q == 2) goto L_Test3;
+ if(HNTR_Q == 3) goto L_Done;
+ mes "You'll have to speak with ^5533FFHunter Sharon^000000 first, if you want to become a hunter.";
+ close;
+L_Start:
+ mes "Hello, I'm the test examiner they call the Demon Hunter. Is ^5566FF"+strcharinfo(0)+"^000000 your name?";
+ next;
+ menu "Yes",M_Yes, "Uhhh.... no",M_No;
+
+ M_Yes:
+ mes "[Demon Hunter]";
+ mes "Good. Because we make the arrows used during some of the tests, we also need the materials to make those arrows.";
+ next;
+ mes "[Demon Hunter]";
+ mes "If you haven't noticed already, our guild is NOT as wealthy as some of the others. I mean we're in the middle of the freaking forest for pete sake....";
+ emotion 7;
+ next;
+ mes "[Demon Hunter]";
+ mes "Ehem... Like I was saying earlier we need certain materials to make our arrows. That is where Hunter wanna be's like you come in handy.";
+ mes "For this test you will have to gather the materials needed for making our arrows.";
+ next;
+ mes "[Demon Hunter]";
+ mes "Let's see... the items you need to gather are.....";
+ next;
+ set HNTR_Q2, rand(1,5);
+ if(HNTR_Q2 == 2) goto sL_2;
+ if(HNTR_Q2 == 3) goto sL_3;
+ if(HNTR_Q2 == 4) goto sL_4;
+ if(HNTR_Q2 == 5) goto sL_5;
+
+ sL_1:
+ mes "[Demon Hunter]";
+ mes "^5533FF20 Bill of Birds^000000 for arrow heads.";
+ mes "^5533FF5 Skel-Bones^000000 used here and there.";
+ mes "and ^5533FF20 green herbs^000000.";
+ goto L_Cont;
+ sL_2:
+ mes "[Demon Hunter]";
+ mes "^5533FF7 Venom Canine.";
+ mes "20 Animal Skins.";
+ mes "and 15 red herbs^000000.";
+ goto L_Cont;
+ sL_3:
+ mes "[Demon Hunter]";
+ mes "^5533FF3 Dokebi Horns";
+ mes "3 Pieces of Egg Shell.";
+ mes "and 10 Feathers^000000.";
+ goto L_Cont;
+ sL_4:
+ mes "[Demon Hunter]";
+ mes "^5533FF20 Rainbow Shells";
+ mes "20 Chrysalis";
+ mes "9 Yellow Herbs^000000";
+ goto L_Cont;
+ sL_5:
+ mes "[Demon Hunter]";
+ mes "^5533FF20 Tooths of Bat.";
+ mes "20 Sticky Mucus.";
+ mes "and 5 Bears foot skin^000000";
+
+ L_Cont:
+ next;
+ mes "[Demon Hunter]";
+ mes "When you get all of the items return!";
+ close;
+
+ M_No:
+ mes "[Demon Hunter]";
+ mes "Stop playing around "+strcharinfo(0)+", that's your name, right?";
+ menu "Yes",M_Yes, "uhhh no",sM_End;
+
+ sM_End:
+ mes "[Demon Hunter]";
+ mes "DON'T you mess around with me! If you're gonna fool around then LEAVE!";
+ emotion 32;
+ warp "hugel.gat", 207, 222;
+ end;
+
+L_Check:
+ mes "Yes?";
+ next;
+ if(HNTR_Q2 == 1) goto L_1;
+ if(HNTR_Q2 == 2) goto L_2;
+ if(HNTR_Q2 == 3) goto L_3;
+ if(HNTR_Q2 == 4) goto L_4;
+ if(HNTR_Q2 == 5) goto L_5;
+
+ L_1:
+ if(countitem(925)<20 || countitem(932)<5 || countitem(511)<20) goto sL_1;
+ delitem 925, 20;
+ delitem 932, 5;
+ delitem 511, 20;
+ goto L_End;
+ L_2:
+ if(countitem(937)<7 || countitem(919)<20 || countitem(507)<15) goto sL_2;
+ delitem 937, 7;
+ delitem 919, 20;
+ delitem 507, 15;
+ goto L_End;
+ L_3:
+ if(countitem(1021)<3 || countitem(7032)<3 || countitem(949)<10) goto sL_3;
+ delitem 1021, 3;
+ delitem 7032, 3;
+ delitem 949, 10;
+ goto L_End;
+ L_4:
+ if(countitem(1013)<20 || countitem(915)<20 || countitem(508)<9) goto sL_4;
+ delitem 1013, 20;
+ delitem 915, 20;
+ delitem 508, 9;
+ goto L_End;
+ L_5:
+ if(countitem(913)<20 || countitem(938)<20 || countitem(948)<5) goto sL_5;
+ delitem 913, 20;
+ delitem 938, 20;
+ delitem 948, 5;
+
+ L_End:
+ mes "[Demon Hunter]";
+ mes "Good job. You brought all the necesarry items. Now go find the ^5533FFGuild Master^000000.";
+ mes "I think he's somewhere in the ^5533FFArcher Guild^000000. He'll give you your final test. Good luck.";
+ set HNTR_Q, 2;
+ set HNTR_Q2, 0;
+ close;
+
+L_Test3:
+ mes "Huh? Can't you find the guild master? He should be in the ^5533FFArcher Guild in Archer village^000000. Go find him.";
+ emotion 20;
+ close;
+
+L_Done:
+ mes "Ah, you passed the test! Congrats, go see Sharin now.";
+ close;
+
+}
+
+
+//<=============================== Guild Master: Last Test =================================>\\
+payon_in02.gat,21,31,1 script Guild Master 59,{
+ if(BaseJob == Job_Archer) goto L_Archer;
+ if(BaseJob == Job_Hunter) goto L_Hnt;
+
+L_Other:
+ mes "[Hunter]";
+ mes "Is there something you want of me? I'm have some buisiness to take care of, so please be quiet.";
+ emotion 20;
+ close;
+
+L_Hnt:
+ mes "[Guild Master]";
+ mes "Ah, it's you again, "+strcharinfo+"! Good to see you're well. Me? I'm still busy as usual.";
+ next;
+ mes "[Guild Master]";
+ mes "Well I've gota get back to work. Stay safe.";
+ close;
+
+L_Archer:
+ mes "[Guild Master]";
+ if(HNTR_Q == 1) goto L_Test2;
+ if(HNTR_Q == 2) goto L_Start;
+ if(HNTR_Q == 3) goto L_Done;
+ mes "You want to be a hunter bad, don't you? In my days, I worked for over a month to become a hunter, hehe.";
+ next;
+ mes "[Guild Master]";
+ mes "If you don't have anything else I suggest you go back to the guild!";
+ close;
+
+L_Start:
+ if(HNTR_Q2 == 1) goto L_ReTest;
+ if(HNTR_Q2 == 2) goto L_Passed;
+ mes "So, you've come to take the test? I see.... well then, do you have any questions before we get started?";
+ M_Menu:
+ next;
+ menu "What's the test about?",M_0, "Anything I should know?",M_1, "Start the test.",M_Start;
+
+ M_0:
+ mes "[Guild Master]";
+ mes "This is a test of speed, agility, and target recogniton. You will be warped to a room full of monsters.";
+ mes "You will have to ^5533FFkill 4^000000 of those monsters but not just any 4. You will need to kill the ones called, ^5533FFJob Change Monster^000000.";
+ next;
+ mes "[Guild Master]";
+ mes "Kill the wrong one and you will fail the test. To make things even harder, we have set traps all over the room.";
+ mes "Stepping on a trap will also result in failure.";
+ next;
+ mes "[Guild Master]";
+ mes "One more important note.... You must complete the test within ^FF55333 minutes^000000.";
+ next;
+ mes "[Guild Master]";
+ mes "This will teach you the important abilities a hunter needs, mobilitiy and tracking.";
+ goto M_Menu;
+ M_1:
+ mes "[Guild Master]";
+ mes "Only one person can take the test at time. If someone is currently taking the test, just enter the chat room and wait.";
+ mes "You will automatically be warped to the testing room when the other player either finishes or fails.";
+ next;
+ mes "[Guild Master]";
+ mes "Make sure you aim carefully. There will be a lot of monsters and you don't want to hit the wrong one.";
+ mes "Keeping track of the monsters' names will be very important in this test.";
+ next;
+ mes "[Guild Master]";
+ mes "And ALWAYS watch your step! There are traps everywhere!";
+ goto M_Menu;
+ M_Start:
+ if (countitem(1751) <= 5 && @HNTR_QA==0) callsub sF_GetArrows;
+ mes "[Guild Master]";
+ mes "Good luck, I'll send you to the test room now.";
+ next;
+ set HNTR_Q2, 1;
+ set @HNTR_QA,0;
+ savepoint "payon_in02.gat", 16, 26;
+ warp "job_hunte.gat", 176, 22;
+ end;
+
+ sF_GetArrows:
+ mes "[Guild Master]";
+ mes "This is where your hard work in the 2nd test payed off. Here are some arrows, made with the items you collected.";
+ getitem 1751, 200;
+ set @HNTR_QA,1;
+ next;
+ return;
+
+L_ReTest:
+ mes "Ah, you're one of the archers that failed. Here, let me heal you wounds...";
+ next;
+ mes "[Guild Master]";
+ mes "You're ready right?";
+ percentheal 100,100;
+ goto M_Menu;
+
+L_Passed:
+ mes "I see you suceeded. Great job! Now I will give you the proof of your success, the ^5533FFNecklace of Wisdom^000000.";
+ emotion 21;
+ next;
+ mes "[Guild Master]";
+ mes "Here you go. Make sure you show this to Hunter Sharon or you WON'T be able to become a Hunter.";
+ getitem 1007,1;
+ next;
+ mes "[Guild Master]";
+ mes "Anyway, I've got some work left to do here so I'll see you later.";
+ set HNTR_Q, 3;
+ set HNTR_Q2, 0;
+ close;
+
+L_Test2:
+ mes "Yes? What would a archer want from me? The guild didn't send me a msg about you.";
+ mes "Did you talk to the guild recruiters and get all the items needed? You have to get them the items first.";
+ close;
+L_Done:
+ mes "Hmm? What is it? Don't waste your time here, go on and become a Hunter already....";
+ close;
+
+}
+
+
+// Test Guide ====================================================
+job_hunte.gat,178,32,5 script Hunter Test Guide::HntTG 107,{
+
+L_Start:
+ mes "[Test Guide]";
+ mes "Welcome to the Hunter's testing arena.";
+ next;
+ menu "Take the test.",-, "I changed my mind.",M_End;
+
+ mes "[Test Guide]";
+ mes "Please enter the waiting room after hearing my explaination.";
+ next;
+ mes "[Test Guide]";
+ mes "You will be warped into room with traps and monsters. Avoid the traps and kill the monsters. Once you do, a switch will appear";
+ next;
+ mes "[Test Guide]";
+ mes "Use the switch to open an exit out of the arena. You will have 3 minutes to complete the test.";
+ next;
+ mes "[Test Guide]";
+ mes "If you get knocked out, get caught in a trap, or run out of time, you will fail the test and have to start over again.";
+ next;
+ mes "[Test Guide]";
+ mes "Don't worry about arrows, we'll provide them. So, if you're ready, go to the waiting room.";
+ close;
+ M_End:
+ mes "[Test Guide]";
+ mes "Alright, I'll send you back to Payon. Hopefully I'll see you again later. Don't forget to save!";
+ warp "payon_in02.gat", 16, 26;
+ end;
+
+OnInit:
+ waitingroom "Hunter Test Waiting Room", 8,"HntTG::OnStart",1;
+ end;
+
+OnStart:
+ set $@HntUsers, getareausers("job_hunte.gat", 50, 64, 123, 143);
+ if ($@HntUsers > 0) end; // stops the rest of the script from running if there is somebody taking the test
+
+ if ((getwaitingroomstate(33)) == 0) end; // stops the rest of the script from running if there is no one in the waiting room
+ killmonsterall "job_hunte.gat";
+ warpwaitingpc "job_hunte.gat", 90, 67;
+ donpcevent "Ev_HntRm";
+ end;
+
+}
+
+
+// Ev_HntRm: Test room --------------------------------------------------------
+job_hunte.gat,1,1,1 script Ev_HntRm -1,{
+
+ disablenpc "SwitchHnt";
+ disablenpc "ExitHnt";
+ set $@HntMob, 4;
+ // Real Monsters
+ monster "job_hunte.gat",67,80,"Job Change Monster",1015,1,"Ev_HntRm::OnMyMobDead1";
+ monster "job_hunte.gat",114,78,"Job Change Monster",1015,1,"Ev_HntRm::OnMyMobDead1";
+ monster "job_hunte.gat",89,127,"Job Change Monster",1002,1,"Ev_HntRm::OnMyMobDead1";
+ monster "job_hunte.gat",53,73,"Job Change Monster",1041,1,"Ev_HntRm::OnMyMobDead1";
+ monster "job_hunte.gat",125,70,"Job Change Monster",1016,1,"Ev_HntRm::OnMyMobDead1";
+ monster "job_hunte.gat",90,92,"Job Change Monster",1015,1,"Ev_HntRm::OnMyMobDead1";
+ donpcevent "Ev_HntRm2";
+ initnpctimer "TimerHnt";
+ end;
+
+OnMyMobDead1:
+ set $@HntMob, $@HntMob - 1;
+ if($@HntMob != 0) end;
+
+ stopnpctimer "TimerHnt";
+ killmonsterall "job_hunte.gat";
+ enablenpc "SwitchHnt";
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: Great job! Go use the switch now!",8;
+ end;
+
+}
+
+// Ev_HntRm2: Spawns the Decoy Monsters ----------------------------------------
+job_hunte.gat,1,1,1 script Ev_HntRm2 -1,{
+
+ // Decoy Monsters
+ monster "job_hunte.gat",85,100,"Test Monster",1016,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",72,102,"Test Monster",1041,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",108,103,"Test Monster",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",88,127,"Test Monster",1002,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",125,69,"Test Monster",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat", 77, 112,"Test Monster",1016,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",53, 106,"Test Monster",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",53, 73,"Test Monster",1002,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",125, 70,"Test Monster",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",90, 91,"Test Monster",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",67, 80,"Test Monster",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",77, 112,"Test Monster",1016,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",53, 106,"Test Monster",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",53, 73,"Test Monster",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",125, 70,"Test Monster",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",90, 91,"Test Monster",1041,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",85, 100,"Test Monster",1002,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",72, 102,"Test Monster",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",108, 103,"Test Monster",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",77, 112,"Test Monster",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",112, 139,"Vinnie Paul",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",112, 139,"Dimeback Darrel",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",112, 139,"Rex",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",112, 139,"Phillip Angelmo",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",90, 91,"Anolian",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",53, 73,"monster sample",1002,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",53, 106,"I'm not the one you want >_>",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",77, 112,"SPARE ME~",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",72, 102,"Don't hurt me!",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",108, 103,"aspd 184",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ end;
+
+OnMyMobDead2:
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: You killed the wrong monster! You have failed the test!",8;
+ addtimer 3000, "TimerHnt::OnTimer196000";
+ end;
+}
+
+// Test Timer -----------------------------------------------------------------
+job_hunte.gat,1,1,1 script TimerHnt -1,{
+
+
+OnTimer500:
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: Remember, you need to kill the 'Job Change Monsters'!",8;
+ end;
+OnTimer4000:
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: Don't forget to AVOID the TRAPS!!!",8;
+ end;
+OnTimer10000:
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: ******The clock will start now! 3 minutes left! ****** ",8;
+ donpcevent "HntTG::OnStart";
+ end;
+OnTimer40000:
+ donpcevent "HntTG::OnStart";
+ end;
+OnTimer70000:
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: ****** 2 minutes left! ****** ",8;
+ donpcevent "HntTG::OnStart";
+ end;
+OnTimer100000:
+ donpcevent "HntTG::OnStart";
+ end;
+OnTimer130000:
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: ****** 1 minute left! ****** ",8;
+ donpcevent "HntTG::OnStart";
+ end;
+OnTimer160000:
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: ****** 30 sec left! ****** ",8;
+ donpcevent "HntTG::OnStart";
+ end;
+OnTimer185000:
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: 5 . . . .",8;
+ donpcevent "HntTG::OnStart";
+ end;
+OnTimer186000:
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: 4. . . .",8;
+ end;
+OnTimer187000:
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: 3. . .",8;
+ end;
+OnTimer188000:
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: 2. .",8;
+ end;
+OnTimer189000:
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: 1...",8;
+ end;
+OnTimer190000:
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: 0! ",8;
+ end;
+OnTimer193000:
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: You ran out of time! You can challenge again later!.",8;
+ end;
+OnTimer196000:
+ stopnpctimer;
+ areawarp "job_hunte.gat", 50, 64, 123, 143, "payon_in02.gat", 16, 26;
+ killmonsterall "job_hunte.gat";
+ donpcevent "HntTG::OnStart";
+ end;
+}
+
+// SwitchHnt ------------------------------------------------------
+job_hunte.gat,93,101,1 script SwitchHnt 723,{
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: *** The exit has been activated! You have 30 sec. to find the exit!! *** ",8;
+ enablenpc "ExitHnt";
+ addtimer 30000, "TimerHnt::OnTimer196000";
+ close;
+}
+
+// ExitHnt -----------------------------------------------------------
+job_hunte.gat,89,139,1 script ExitHnt 45,2,2,{
+
+ deltimer "TimerHnt::OnTimer196000";
+ set HNTR_Q2, 2;
+ warp "payon_in02.gat", 16, 26;
+ killmonsterall "job_hunte.gat";
+ donpcevent "HntTG::OnStart";
+ end;
+}
+
+
+// Hunter Test Traps =======================================
+
+job_hunte.gat,52,140,1 script 1-1::HntTrap 139,0,1,{
+ stopnpctimer "TimerHnt";
+ warp "payon_in02.gat", 16, 26;
+ killmonsterall "job_hunte.gat";
+ donpcevent "HntTG::OnStart";
+ end;
+}
+
+job_hunte.gat,53,140,1 duplicate(HntTrap) 1-2 139,0,1
+job_hunte.gat,54,141,1 duplicate(HntTrap) 1-3 139,0,0
+job_hunte.gat,55,141,1 duplicate(HntTrap) 1-4 139,0,0
+job_hunte.gat,55,140,1 duplicate(HntTrap) 1-5 139,0,0
+job_hunte.gat,54,140,1 duplicate(HntTrap) 1-6 139,0,0
+job_hunte.gat,52,138,1 duplicate(HntTrap) 1-7 139,0,0
+job_hunte.gat,53,138,1 duplicate(HntTrap) 1-8 139,0,0
+job_hunte.gat,62,140,1 duplicate(HntTrap) 2-1 139,0,1
+job_hunte.gat,63,140,1 duplicate(HntTrap) 2-2 139,0,1
+job_hunte.gat,64,140,1 duplicate(HntTrap) 2-3 139,0,0
+job_hunte.gat,64,141,1 duplicate(HntTrap) 2-4 139,0,0
+job_hunte.gat,65,140,1 duplicate(HntTrap) 2-5 139,0,0
+job_hunte.gat,65,141,1 duplicate(HntTrap) 2-6 139,0,0
+job_hunte.gat,62,138,1 duplicate(HntTrap) 2-7 139,0,0
+job_hunte.gat,63,138,1 duplicate(HntTrap) 2-8 139,0,0
+job_hunte.gat,72,140,1 duplicate(HntTrap) 3-1 139,0,1
+job_hunte.gat,73,140,1 duplicate(HntTrap) 3-2 139,0,1
+job_hunte.gat,72,138,1 duplicate(HntTrap) 3-3 139,0,0
+job_hunte.gat,72,138,1 duplicate(HntTrap) 3-4 139,0,0
+job_hunte.gat,78,140,1 duplicate(HntTrap) 4-1 139,0,0
+job_hunte.gat,78,141,1 duplicate(HntTrap) 4-2 139,0,0
+job_hunte.gat,79,140,1 duplicate(HntTrap) 4-3 139,0,0
+job_hunte.gat,79,141,1 duplicate(HntTrap) 4-4 139,0,0
+job_hunte.gat,82,138,1 duplicate(HntTrap) 5-1 139,0,0
+job_hunte.gat,82,139,1 duplicate(HntTrap) 5-2 139,0,0
+job_hunte.gat,83,138,1 duplicate(HntTrap) 5-3 139,0,0
+job_hunte.gat,83,139,1 duplicate(HntTrap) 5-4 139,0,0
+job_hunte.gat,99,138,1 duplicate(HntTrap) 6-1 139,1,0
+job_hunte.gat,99,139,1 duplicate(HntTrap) 6-2 139,1,0
+job_hunte.gat,101,138,1 duplicate(HntTrap) 6-3 139,0,0
+job_hunte.gat,101,139,1 duplicate(HntTrap) 6-4 139,0,0
+job_hunte.gat,106,140,1 duplicate(HntTrap) 7-1 139,0,1
+job_hunte.gat,107,140,1 duplicate(HntTrap) 7-2 139,0,1
+job_hunte.gat,106,138,1 duplicate(HntTrap) 7-3 139,0,0
+job_hunte.gat,107,138,1 duplicate(HntTrap) 7-4 139,0,0
+job_hunte.gat,112,140,1 duplicate(HntTrap) 8-1 139,0,0
+job_hunte.gat,112,141,1 duplicate(HntTrap) 8-2 139,0,0
+job_hunte.gat,113,140,1 duplicate(HntTrap) 8-3 139,0,0
+job_hunte.gat,113,141,1 duplicate(HntTrap) 8-4 139,0,0
+job_hunte.gat,116,140,1 duplicate(HntTrap) 9-1 139,0,0
+job_hunte.gat,116,141,1 duplicate(HntTrap) 9-2 139,0,0
+job_hunte.gat,117,140,1 duplicate(HntTrap) 9-3 139,0,0
+job_hunte.gat,117,141,1 duplicate(HntTrap) 9-4 139,0,0
+job_hunte.gat,120,138,1 duplicate(HntTrap) 10-1 139,0,0
+job_hunte.gat,120,139,1 duplicate(HntTrap) 10-2 139,0,0
+job_hunte.gat,121,138,1 duplicate(HntTrap) 10-3 139,0,0
+job_hunte.gat,121,139,1 duplicate(HntTrap) 10-4 139,0,0
+job_hunte.gat,126,139,1 duplicate(HntTrap) 11-1 139,0,2
+job_hunte.gat,127,139,1 duplicate(HntTrap) 11-2 139,0,2
+job_hunte.gat,126,136,1 duplicate(HntTrap) 11-3 139,0,0
+job_hunte.gat,127,136,1 duplicate(HntTrap) 11-4 139,0,0
+job_hunte.gat,52,134,1 duplicate(HntTrap) 12-1 139,0,1
+job_hunte.gat,53,134,1 duplicate(HntTrap) 12-2 139,0,1
+job_hunte.gat,52,132,1 duplicate(HntTrap) 12-3 139,0,0
+job_hunte.gat,53,132,1 duplicate(HntTrap) 12-4 139,0,0
+job_hunte.gat,124,130,1 duplicate(HntTrap) 13-1 139,0,0
+job_hunte.gat,124,131,1 duplicate(HntTrap) 13-2 139,0,0
+job_hunte.gat,125,130,1 duplicate(HntTrap) 13-3 139,0,0
+job_hunte.gat,125,131,1 duplicate(HntTrap) 13-4 139,0,0
+job_hunte.gat,64,128,1 duplicate(HntTrap) 14-1 139,0,0
+job_hunte.gat,64,129,1 duplicate(HntTrap) 14-2 139,0,0
+job_hunte.gat,65,128,1 duplicate(HntTrap) 14-3 139,0,0
+job_hunte.gat,65,129,1 duplicate(HntTrap) 14-4 139,0,0
+job_hunte.gat,68,126,1 duplicate(HntTrap) 15-1 139,0,0
+job_hunte.gat,68,127,1 duplicate(HntTrap) 15-2 139,0,0
+job_hunte.gat,69,126,1 duplicate(HntTrap) 15-3 139,0,0
+job_hunte.gat,69,127,1 duplicate(HntTrap) 15-4 139,0,0
+job_hunte.gat,75,128,1 duplicate(HntTrap) 16-1 139,1,0
+job_hunte.gat,75,129,1 duplicate(HntTrap) 16-2 139,1,0
+job_hunte.gat,77,128,1 duplicate(HntTrap) 16-3 139,0,0
+job_hunte.gat,77,129,1 duplicate(HntTrap) 16-4 139,0,0
+job_hunte.gat,82,126,1 duplicate(HntTrap) 17-1 139,0,0
+job_hunte.gat,82,127,1 duplicate(HntTrap) 17-2 139,0,0
+job_hunte.gat,83,126,1 duplicate(HntTrap) 17-3 139,0,0
+job_hunte.gat,83,127,1 duplicate(HntTrap) 17-4 139,0,0
+job_hunte.gat,96,128,1 duplicate(HntTrap) 18-1 139,0,0
+job_hunte.gat,96,129,1 duplicate(HntTrap) 18-2 139,0,0
+job_hunte.gat,97,128,1 duplicate(HntTrap) 18-3 139,0,0
+job_hunte.gat,97,129,1 duplicate(HntTrap) 18-4 139,0,0
+job_hunte.gat,100,126,1 duplicate(HntTrap) 19-1 139,0,0
+job_hunte.gat,100,127,1 duplicate(HntTrap) 19-2 139,0,0
+job_hunte.gat,101,126,1 duplicate(HntTrap) 19-3 139,0,0
+job_hunte.gat,101,127,1 duplicate(HntTrap) 19-4 139,0,0
+job_hunte.gat,106,128,1 duplicate(HntTrap) 20-1 139,0,0
+job_hunte.gat,106,129,1 duplicate(HntTrap) 20-2 139,0,0
+job_hunte.gat,107,128,1 duplicate(HntTrap) 20-3 139,0,0
+job_hunte.gat,107,129,1 duplicate(HntTrap) 20-4 139,0,0
+job_hunte.gat,112,126,1 duplicate(HntTrap) 21-1 139,0,0
+job_hunte.gat,112,127,1 duplicate(HntTrap) 21-2 139,0,0
+job_hunte.gat,113,126,1 duplicate(HntTrap) 21-3 139,0,0
+job_hunte.gat,113,127,1 duplicate(HntTrap) 21-4 139,0,0
+job_hunte.gat,126,126,1 duplicate(HntTrap) 22-1 139,0,0
+job_hunte.gat,126,127,1 duplicate(HntTrap) 22-2 139,0,0
+job_hunte.gat,127,126,1 duplicate(HntTrap) 22-3 139,0,0
+job_hunte.gat,127,127,1 duplicate(HntTrap) 22-4 139,0,0
+job_hunte.gat,52,122,1 duplicate(HntTrap) 23-1 139,0,1
+job_hunte.gat,52,122,1 duplicate(HntTrap) 23-2 139,0,1
+job_hunte.gat,53,120,1 duplicate(HntTrap) 23-3 139,1,0
+job_hunte.gat,54,121,1 duplicate(HntTrap) 23-4 139,0,0
+job_hunte.gat,55,121,1 duplicate(HntTrap) 23-5 139,0,0
+job_hunte.gat,55,120,1 duplicate(HntTrap) 23-6 139,0,0
+job_hunte.gat,66,120,1 duplicate(HntTrap) 24-1 139,0,0
+job_hunte.gat,66,121,1 duplicate(HntTrap) 24-2 139,0,0
+job_hunte.gat,67,120,1 duplicate(HntTrap) 24-3 139,0,0
+job_hunte.gat,67,121,1 duplicate(HntTrap) 24-4 139,0,0
+job_hunte.gat,114,118,1 duplicate(HntTrap) 25-1 139,0,0
+job_hunte.gat,114,119,1 duplicate(HntTrap) 25-2 139,0,0
+job_hunte.gat,115,118,1 duplicate(HntTrap) 25-3 139,0,0
+job_hunte.gat,115,119,1 duplicate(HntTrap) 25-4 139,0,0
+job_hunte.gat,124,120,1 duplicate(HntTrap) 26-1 139,0,1
+job_hunte.gat,125,120,1 duplicate(HntTrap) 26-2 139,0,1
+job_hunte.gat,124,118,1 duplicate(HntTrap) 26-3 139,0,0
+job_hunte.gat,125,118,1 duplicate(HntTrap) 26-4 139,0,0
+job_hunte.gat,66,116,1 duplicate(HntTrap) 27-1 139,0,0
+job_hunte.gat,66,117,1 duplicate(HntTrap) 27-2 139,0,0
+job_hunte.gat,67,116,1 duplicate(HntTrap) 27-3 139,0,0
+job_hunte.gat,67,117,1 duplicate(HntTrap) 27-4 139,0,0
+job_hunte.gat,76,114,1 duplicate(HntTrap) 28-1 139,0,0
+job_hunte.gat,76,115,1 duplicate(HntTrap) 28-2 139,0,0
+job_hunte.gat,77,114,1 duplicate(HntTrap) 28-3 139,0,0
+job_hunte.gat,77,115,1 duplicate(HntTrap) 28-4 139,0,0
+job_hunte.gat,82,116,1 duplicate(HntTrap) 29-1 139,0,0
+job_hunte.gat,82,117,1 duplicate(HntTrap) 29-2 139,0,0
+job_hunte.gat,83,116,1 duplicate(HntTrap) 29-3 139,0,0
+job_hunte.gat,83,117,1 duplicate(HntTrap) 29-4 139,0,0
+job_hunte.gat,86,114,1 duplicate(HntTrap) 30-1 139,0,0
+job_hunte.gat,86,115,1 duplicate(HntTrap) 30-2 139,0,0
+job_hunte.gat,87,114,1 duplicate(HntTrap) 30-3 139,0,0
+job_hunte.gat,87,115,1 duplicate(HntTrap) 30-4 139,0,0
+job_hunte.gat,92,115,1 duplicate(HntTrap) 31-1 139,1,0
+job_hunte.gat,92,114,1 duplicate(HntTrap) 31-2 139,1,0
+job_hunte.gat,90,115,1 duplicate(HntTrap) 31-3 139,0,0
+job_hunte.gat,102,116,1 duplicate(HntTrap) 32-1 139,0,0
+job_hunte.gat,102,117,1 duplicate(HntTrap) 32-2 139,0,0
+job_hunte.gat,103,116,1 duplicate(HntTrap) 32-3 139,0,0
+job_hunte.gat,103,117,1 duplicate(HntTrap) 32-4 139,0,0
+job_hunte.gat,114,114,1 duplicate(HntTrap) 33-1 139,0,0
+job_hunte.gat,114,115,1 duplicate(HntTrap) 33-2 139,0,0
+job_hunte.gat,115,114,1 duplicate(HntTrap) 33-3 139,0,0
+job_hunte.gat,115,115,1 duplicate(HntTrap) 33-4 139,0,0
+job_hunte.gat,54,110,1 duplicate(HntTrap) 34-1 139,0,1
+job_hunte.gat,55,110,1 duplicate(HntTrap) 34-2 139,0,1
+job_hunte.gat,54,108,1 duplicate(HntTrap) 34-3 139,0,0
+job_hunte.gat,55,108,1 duplicate(HntTrap) 34-4 139,0,0
+job_hunte.gat,64,112,1 duplicate(HntTrap) 35-1 139,0,0
+job_hunte.gat,64,113,1 duplicate(HntTrap) 35-2 139,0,0
+job_hunte.gat,65,112,1 duplicate(HntTrap) 35-3 139,0,0
+job_hunte.gat,65,113,1 duplicate(HntTrap) 35-4 139,0,0
+job_hunte.gat,80,110,1 duplicate(HntTrap) 36-1 139,0,0
+job_hunte.gat,80,111,1 duplicate(HntTrap) 36-2 139,0,0
+job_hunte.gat,81,110,1 duplicate(HntTrap) 36-3 139,0,0
+job_hunte.gat,81,111,1 duplicate(HntTrap) 36-4 139,0,0
+job_hunte.gat,90,108,1 duplicate(HntTrap) 37-1 139,0,6
+job_hunte.gat,91,108,1 duplicate(HntTrap) 37-2 139,0,5
+job_hunte.gat,91,102,1 duplicate(HntTrap) 37-3 139,0,0
+job_hunte.gat,98,109,1 duplicate(HntTrap) 38-1 139,0,2
+job_hunte.gat,99,109,1 duplicate(HntTrap) 38-2 139,0,2
+job_hunte.gat,103,109,1 duplicate(HntTrap) 38-3 139,3,0
+job_hunte.gat,103,108,1 duplicate(HntTrap) 38-4 139,3,0
+job_hunte.gat,97,106,1 duplicate(HntTrap) 39-1 139,2,0
+job_hunte.gat,96,107,1 duplicate(HntTrap) 39-2 139,1,0
+job_hunte.gat,94,108,1 duplicate(HntTrap) 39-3 139,0,1
+job_hunte.gat,95,109,1 duplicate(HntTrap) 39-4 139,0,0
+job_hunte.gat,95,108,1 duplicate(HntTrap) 40-1 139,0,0
+job_hunte.gat,94,106,1 duplicate(HntTrap) 40-2 139,0,0
+job_hunte.gat,96,102,1 duplicate(HntTrap) 40-3 139,0,3
+job_hunte.gat,97,102,1 duplicate(HntTrap) 40-4 139,0,3
+job_hunte.gat,95,98,1 duplicate(HntTrap) 41-1 139,2,0
+job_hunte.gat,94,99,1 duplicate(HntTrap) 42-1 139,1,0
+job_hunte.gat,92,98,1 duplicate(HntTrap) 43-1 139,0,0
+job_hunte.gat,112,110,1 duplicate(HntTrap) 44-1 139,0,0
+job_hunte.gat,112,111,1 duplicate(HntTrap) 44-2 139,0,0
+job_hunte.gat,113,110,1 duplicate(HntTrap) 44-3 139,0,0
+job_hunte.gat,113,111,1 duplicate(HntTrap) 44-4 139,0,0
+job_hunte.gat,126,108,1 duplicate(HntTrap) 45-1 139,0,1
+job_hunte.gat,127,108,1 duplicate(HntTrap) 45-2 139,0,1
+job_hunte.gat,126,106,1 duplicate(HntTrap) 45-3 139,0,0
+job_hunte.gat,126,106,1 duplicate(HntTrap) 45-4 139,0,0
+job_hunte.gat,53,102,1 duplicate(HntTrap) 46-1 139,1,1
+job_hunte.gat,55,102,1 duplicate(HntTrap) 46-2 139,0,1
+job_hunte.gat,53,100,1 duplicate(HntTrap) 46-3 139,1,0
+job_hunte.gat,55,100,1 duplicate(HntTrap) 46-4 139,0,0
+job_hunte.gat,64,106,1 duplicate(HntTrap) 47-1 139,0,0
+job_hunte.gat,64,107,1 duplicate(HntTrap) 47-2 139,0,0
+job_hunte.gat,65,106,1 duplicate(HntTrap) 47-3 139,0,0
+job_hunte.gat,65,107,1 duplicate(HntTrap) 47-4 139,0,0
+job_hunte.gat,66,100,1 duplicate(HntTrap) 48-1 139,0,0
+job_hunte.gat,66,101,1 duplicate(HntTrap) 48-2 139,0,0
+job_hunte.gat,67,100,1 duplicate(HntTrap) 48-3 139,0,0
+job_hunte.gat,67,101,1 duplicate(HntTrap) 48-4 139,0,0
+job_hunte.gat,86,106,1 duplicate(HntTrap) 49-1 139,0,1
+job_hunte.gat,87,106,1 duplicate(HntTrap) 49-2 139,0,1
+job_hunte.gat,82,104,1 duplicate(HntTrap) 49-3 139,5,0
+job_hunte.gat,81,105,1 duplicate(HntTrap) 49-4 139,4,0
+job_hunte.gat,76,105,1 duplicate(HntTrap) 50-1 139,0,0
+job_hunte.gat,76,104,1 duplicate(HntTrap) 50-2 139,0,0
+job_hunte.gat,78,101,1 duplicate(HntTrap) 50-3 139,0,2
+job_hunte.gat,79,101,1 duplicate(HntTrap) 50-4 139,0,2
+job_hunte.gat,76,99,1 duplicate(HntTrap) 51-1 139,10
+job_hunte.gat,77,98,1 duplicate(HntTrap) 51-2 139,2,0
+job_hunte.gat,74,99,1 duplicate(HntTrap) 51-3 139,0,0
+job_hunte.gat,74,98,1 duplicate(HntTrap) 51-4 139,0,0
+job_hunte.gat,82,100,1 duplicate(HntTrap) 53-1 139,0,0
+job_hunte.gat,82,101,1 duplicate(HntTrap) 53-2 139,0,0
+job_hunte.gat,83,100,1 duplicate(HntTrap) 53-3 139,0,0
+job_hunte.gat,83,101,1 duplicate(HntTrap) 53-4 139,0,0
+job_hunte.gat,106,104,1 duplicate(HntTrap) 54-1 139,0,0
+job_hunte.gat,106,105,1 duplicate(HntTrap) 54-2 139,0,0
+job_hunte.gat,107,104,1 duplicate(HntTrap) 54-3 139,0,0
+job_hunte.gat,107,105,1 duplicate(HntTrap) 54-4 139,0,0
+job_hunte.gat,112,104,1 duplicate(HntTrap) 55-1 139,0,1
+job_hunte.gat,113,104,1 duplicate(HntTrap) 55-2 139,0,1
+job_hunte.gat,112,102,1 duplicate(HntTrap) 55-3 139,0,0
+job_hunte.gat,113,102,1 duplicate(HntTrap) 55-4 139,0,0
+job_hunte.gat,54,92,1 duplicate(HntTrap) 56-1 139,0,0
+job_hunte.gat,54,93,1 duplicate(HntTrap) 56-2 139,0,0
+job_hunte.gat,55,92,1 duplicate(HntTrap) 56-3 139,0,0
+job_hunte.gat,55,93,1 duplicate(HntTrap) 56-4 139,0,0
+job_hunte.gat,52,90,1 duplicate(HntTrap) 56-5 139,0,0
+job_hunte.gat,52,91,1 duplicate(HntTrap) 56-6 139,0,0
+job_hunte.gat,53,90,1 duplicate(HntTrap) 56-7 139,0,0
+job_hunte.gat,53,91,1 duplicate(HntTrap) 56-8 139,0,0
+job_hunte.gat,64,92,1 duplicate(HntTrap) 57-1 139,0,0
+job_hunte.gat,64,93,1 duplicate(HntTrap) 57-2 139,0,0
+job_hunte.gat,65,92,1 duplicate(HntTrap) 57-3 139,0,0
+job_hunte.gat,65,93,1 duplicate(HntTrap) 57-4 139,0,0
+job_hunte.gat,76,94,1 duplicate(HntTrap) 58-1 139,0,0
+job_hunte.gat,76,95,1 duplicate(HntTrap) 58-2 139,0,0
+job_hunte.gat,77,94,1 duplicate(HntTrap) 58-3 139,0,0
+job_hunte.gat,77,95,1 duplicate(HntTrap) 58-4 139,0,0
+job_hunte.gat,78,92,1 duplicate(HntTrap) 59-1 139,0,0
+job_hunte.gat,78,93,1 duplicate(HntTrap) 59-2 139,0,0
+job_hunte.gat,79,92,1 duplicate(HntTrap) 59-3 139,0,0
+job_hunte.gat,79,93,1 duplicate(HntTrap) 59-4 139,0,0
+job_hunte.gat,86,92,1 duplicate(HntTrap) 60-1 139,0,0
+job_hunte.gat,86,93,1 duplicate(HntTrap) 60-2 139,0,0
+job_hunte.gat,87,92,1 duplicate(HntTrap) 60-3 139,0,0
+job_hunte.gat,87,93,1 duplicate(HntTrap) 60-4 139,0,0
+job_hunte.gat,90,96,1 duplicate(HntTrap) 61-1 139,0,0
+job_hunte.gat,90,97,1 duplicate(HntTrap) 61-2 139,0,0
+job_hunte.gat,91,96,1 duplicate(HntTrap) 61-3 139,0,0
+job_hunte.gat,91,97,1 duplicate(HntTrap) 61-4 139,0,0
+job_hunte.gat,99,95,1 duplicate(HntTrap) 62-1 139,1,0
+job_hunte.gat,99,94,1 duplicate(HntTrap) 62-2 139,1,0
+job_hunte.gat,101,94,1 duplicate(HntTrap) 62-3 139,0,1
+job_hunte.gat,100,93,1 duplicate(HntTrap) 62-4 139,0,0
+job_hunte.gat,100,92,1 duplicate(HntTrap) 63-1 139,0,0
+job_hunte.gat,101,92,1 duplicate(HntTrap) 63-2 139,0,0
+job_hunte.gat,102,98,1 duplicate(HntTrap) 64-1 139,0,0
+job_hunte.gat,102,99,1 duplicate(HntTrap) 64-2 139,0,0
+job_hunte.gat,103,98,1 duplicate(HntTrap) 64-3 139,0,0
+job_hunte.gat,103,99,1 duplicate(HntTrap) 64-4 139,0,0
+job_hunte.gat,102,90,1 duplicate(HntTrap) 65-1 139,0,0
+job_hunte.gat,102,91,1 duplicate(HntTrap) 65-2 139,0,0
+job_hunte.gat,103,90,1 duplicate(HntTrap) 65-3 139,0,0
+job_hunte.gat,103,91,1 duplicate(HntTrap) 65-4 139,0,0
+job_hunte.gat,114,96,1 duplicate(HntTrap) 66-1 139,0,0
+job_hunte.gat,114,97,1 duplicate(HntTrap) 66-2 139,0,0
+job_hunte.gat,115,96,1 duplicate(HntTrap) 66-3 139,0,0
+job_hunte.gat,115,97,1 duplicate(HntTrap) 66-4 139,0,0
+job_hunte.gat,112,90,1 duplicate(HntTrap) 67-1 139,0,0
+job_hunte.gat,112,91,1 duplicate(HntTrap) 67-2 139,0,0
+job_hunte.gat,113,90,1 duplicate(HntTrap) 67-3 139,0,0
+job_hunte.gat,113,91,1 duplicate(HntTrap) 67-4 139,0,0
+job_hunte.gat,125,97,1 duplicate(HntTrap) 68-1 139,1,0
+job_hunte.gat,125,96,1 duplicate(HntTrap) 68-2 139,1,0
+job_hunte.gat,127,96,1 duplicate(HntTrap) 68-3 139,0,0
+job_hunte.gat,127,97,1 duplicate(HntTrap) 68-4 139,0,0
+job_hunte.gat,52,86,1 duplicate(HntTrap) 69-1 139,0,0
+job_hunte.gat,52,87,1 duplicate(HntTrap) 69-2 139,0,0
+job_hunte.gat,53,86,1 duplicate(HntTrap) 69-3 139,0,0
+job_hunte.gat,53,87,1 duplicate(HntTrap) 69-4 139,0,0
+job_hunte.gat,66,88,1 duplicate(HntTrap) 70-1 139,0,0
+job_hunte.gat,66,89,1 duplicate(HntTrap) 70-2 139,0,0
+job_hunte.gat,67,88,1 duplicate(HntTrap) 70-3 139,0,0
+job_hunte.gat,67,89,1 duplicate(HntTrap) 70-4 139,0,0
+job_hunte.gat,114,84,1 duplicate(HntTrap) 71-1 139,0,0
+job_hunte.gat,114,85,1 duplicate(HntTrap) 71-2 139,0,0
+job_hunte.gat,115,84,1 duplicate(HntTrap) 71-3 139,0,0
+job_hunte.gat,115,85,1 duplicate(HntTrap) 71-4 139,0,0
+job_hunte.gat,126,86,1 duplicate(HntTrap) 72-1 139,0,0
+job_hunte.gat,126,87,1 duplicate(HntTrap) 72-2 139,0,0
+job_hunte.gat,127,86,1 duplicate(HntTrap) 72-3 139,0,0
+job_hunte.gat,127,87,1 duplicate(HntTrap) 72-4 139,0,0
+job_hunte.gat,54,80,1 duplicate(HntTrap) 73-1 139,0,1
+job_hunte.gat,55,80,1 duplicate(HntTrap) 73-2 139,0,1
+job_hunte.gat,55,80,1 duplicate(HntTrap) 73-3 139,0,0
+job_hunte.gat,55,78,1 duplicate(HntTrap) 73-4 139,0,0
+job_hunte.gat,64,82,1 duplicate(HntTrap) 74-1 139,0,1
+job_hunte.gat,65,82,1 duplicate(HntTrap) 74-2 139,0,1
+job_hunte.gat,64,80,1 duplicate(HntTrap) 74-3 139,0,0
+job_hunte.gat,65,80,1 duplicate(HntTrap) 74-4 139,0,0
+job_hunte.gat,66,78,1 duplicate(HntTrap) 75-1 139,0,0
+job_hunte.gat,66,79,1 duplicate(HntTrap) 75-2 139,0,0
+job_hunte.gat,67,78,1 duplicate(HntTrap) 75-3 139,0,0
+job_hunte.gat,67,79,1 duplicate(HntTrap) 75-4 139,0,0
+job_hunte.gat,74,78,1 duplicate(HntTrap) 76-1 139,0,0
+job_hunte.gat,74,79,1 duplicate(HntTrap) 76-2 139,0,0
+job_hunte.gat,75,78,1 duplicate(HntTrap) 76-3 139,0,0
+job_hunte.gat,75,79,1 duplicate(HntTrap) 76-4 139,0,0
+job_hunte.gat,78,80,1 duplicate(HntTrap) 77-1 139,0,0
+job_hunte.gat,78,81,1 duplicate(HntTrap) 77-2 139,0,0
+job_hunte.gat,79,80,1 duplicate(HntTrap) 77-3 139,0,0
+job_hunte.gat,79,81,1 duplicate(HntTrap) 77-4 139,0,0
+job_hunte.gat,82,78,1 duplicate(HntTrap) 78-1 139,0,0
+job_hunte.gat,82,79,1 duplicate(HntTrap) 78-2 139,0,0
+job_hunte.gat,83,78,1 duplicate(HntTrap) 78-3 139,0,0
+job_hunte.gat,83,79,1 duplicate(HntTrap) 78-4 139,0,0
+job_hunte.gat,94,78,1 duplicate(HntTrap) 79-1 139,0,0
+job_hunte.gat,94,79,1 duplicate(HntTrap) 79-2 139,0,0
+job_hunte.gat,95,78,1 duplicate(HntTrap) 79-3 139,0,0
+job_hunte.gat,95,79,1 duplicate(HntTrap) 79-4 139,0,0
+job_hunte.gat,101,80,1 duplicate(HntTrap) 80-1 139,1,0
+job_hunte.gat,101,81,1 duplicate(HntTrap) 80-2 139,1,0
+job_hunte.gat,103,81,1 duplicate(HntTrap) 80-3 139,0,0
+job_hunte.gat,103,80,1 duplicate(HntTrap) 80-4 139,0,0
+job_hunte.gat,104,78,1 duplicate(HntTrap) 81-1 139,0,0
+job_hunte.gat,104,79,1 duplicate(HntTrap) 81-2 139,0,0
+job_hunte.gat,105,78,1 duplicate(HntTrap) 81-3 139,0,0
+job_hunte.gat,105,79,1 duplicate(HntTrap) 81-4 139,0,0
+job_hunte.gat,110,78,1 duplicate(HntTrap) 82-1 139,0,0
+job_hunte.gat,110,79,1 duplicate(HntTrap) 82-2 139,0,0
+job_hunte.gat,111,78,1 duplicate(HntTrap) 82-3 139,0,0
+job_hunte.gat,111,79,1 duplicate(HntTrap) 82-4 139,0,0
+job_hunte.gat,114,80,1 duplicate(HntTrap) 83-1 139,0,0
+job_hunte.gat,114,81,1 duplicate(HntTrap) 83-2 139,0,0
+job_hunte.gat,115,80,1 duplicate(HntTrap) 83-3 139,0,0
+job_hunte.gat,115,81,1 duplicate(HntTrap) 83-4 139,0,0
+job_hunte.gat,124,78,1 duplicate(HntTrap) 84-1 139,0,0
+job_hunte.gat,124,79,1 duplicate(HntTrap) 84-2 139,0,0
+job_hunte.gat,125,78,1 duplicate(HntTrap) 84-3 139,0,0
+job_hunte.gat,125,79,1 duplicate(HntTrap) 84-4 139,0,0
+job_hunte.gat,126,82,1 duplicate(HntTrap) 85-1 139,0,0
+job_hunte.gat,126,83,1 duplicate(HntTrap) 85-2 139,0,0
+job_hunte.gat,127,82,1 duplicate(HntTrap) 85-3 139,0,0
+job_hunte.gat,127,83,1 duplicate(HntTrap) 85-4 139,0,0
+job_hunte.gat,52,68,1 duplicate(HntTrap) 86-1 139,0,1
+job_hunte.gat,53,68,1 duplicate(HntTrap) 86-2 139,0,1
+job_hunte.gat,52,66,1 duplicate(HntTrap) 86-3 139,0,0
+job_hunte.gat,53,66,1 duplicate(HntTrap) 86-4 139,0,0
+job_hunte.gat,54,70,1 duplicate(HntTrap) 87-1 139,0,1
+job_hunte.gat,55,70,1 duplicate(HntTrap) 87-2 139,0,1
+job_hunte.gat,54,68,1 duplicate(HntTrap) 87-3 139,0,0
+job_hunte.gat,55,68,1 duplicate(HntTrap) 87-4 139,0,0
+job_hunte.gat,59,66,1 duplicate(HntTrap) 88-1 139,1,0
+job_hunte.gat,59,67,1 duplicate(HntTrap) 88-2 139,1,0
+job_hunte.gat,61,67,1 duplicate(HntTrap) 88-3 139,0,0
+job_hunte.gat,61,66,1 duplicate(HntTrap) 88-4 139,0,0
+job_hunte.gat,68,68,1 duplicate(HntTrap) 89-1 139,0,1
+job_hunte.gat,69,68,1 duplicate(HntTrap) 89-2 139,0,1
+job_hunte.gat,68,66,1 duplicate(HntTrap) 89-3 139,0,0
+job_hunte.gat,69,66,1 duplicate(HntTrap) 89-4 139,0,0
+job_hunte.gat,76,66,1 duplicate(HntTrap) 90-1 139,0,0
+job_hunte.gat,76,67,1 duplicate(HntTrap) 90-2 139,0,0
+job_hunte.gat,77,66,1 duplicate(HntTrap) 90-3 139,0,0
+job_hunte.gat,77,67,1 duplicate(HntTrap) 90-4 139,0,0
+job_hunte.gat,82,68,1 duplicate(HntTrap) 91-1 139,0,0
+job_hunte.gat,82,69,1 duplicate(HntTrap) 91-2 139,0,0
+job_hunte.gat,83,68,1 duplicate(HntTrap) 91-3 139,0,0
+job_hunte.gat,83,69,1 duplicate(HntTrap) 91-4 139,0,0
+job_hunte.gat,96,66,1 duplicate(HntTrap) 92-1 139,0,0
+job_hunte.gat,96,67,1 duplicate(HntTrap) 92-2 139,0,0
+job_hunte.gat,97,66,1 duplicate(HntTrap) 92-3 139,0,0
+job_hunte.gat,97,67,1 duplicate(HntTrap) 92-4 139,0,0
+job_hunte.gat,100,68,1 duplicate(HntTrap) 93-1 139,0,0
+job_hunte.gat,100,69,1 duplicate(HntTrap) 93-2 139,0,0
+job_hunte.gat,101,68,1 duplicate(HntTrap) 93-3 139,0,0
+job_hunte.gat,101,69,1 duplicate(HntTrap) 93-4 139,0,0
+job_hunte.gat,107,66,1 duplicate(HntTrap) 94-1 139,1,0
+job_hunte.gat,107,67,1 duplicate(HntTrap) 94-2 139,1,0
+job_hunte.gat,109,67,1 duplicate(HntTrap) 94-3 139,0,0
+job_hunte.gat,109,66,1 duplicate(HntTrap) 94-4 139,0,0
+job_hunte.gat,117,69,1 duplicate(HntTrap) 95-1 139,1,0
+job_hunte.gat,117,68,1 duplicate(HntTrap) 95-2 139,1,0
+job_hunte.gat,119,69,1 duplicate(HntTrap) 95-3 139,0,0
+job_hunte.gat,119,68,1 duplicate(HntTrap) 95-4 139,0,0
+job_hunte.gat,124,66,1 duplicate(HntTrap) 96-1 139,0,0
+job_hunte.gat,124,67,1 duplicate(HntTrap) 96-2 139,0,0
+job_hunte.gat,125,66,1 duplicate(HntTrap) 96-3 139,0,0
+job_hunte.gat,125,67,1 duplicate(HntTrap) 96-4 139,0,0
+job_hunte.gat,126,70,1 duplicate(HntTrap) 97-1 139,0,0
+job_hunte.gat,126,71,1 duplicate(HntTrap) 97-2 139,0,0
+job_hunte.gat,127,70,1 duplicate(HntTrap) 97-3 139,0,0
+job_hunte.gat,127,71,1 duplicate(HntTrap) 97-4 139,0,0
diff --git a/npc/jobs/2-1/knight.txt b/npc/jobs/2-1/knight.txt new file mode 100644 index 000000000..d41a0ed74 --- /dev/null +++ b/npc/jobs/2-1/knight.txt @@ -0,0 +1,1828 @@ +//===== eAthena Script =======================================
+//= Knight Job Quest
+//===== By: ==================================================
+//= PGRO TEAM (Aegis).
+//= Converted by kobra_k88
+//= Further bugfixed and tested by Lupus
+//===== Current Version: =====================================
+//= 1.6
+//===== Compatible With: =====================================
+//= eAthena 1.0
+//===== Description: =========================================
+//= Official RO Knight job quest converted from aegis script, and my own
+//= RO screenies and play experience
+//===== Additional Comments: =================================
+//= 1.0 Fully working. Please comment out any pre-existing warps for the
+//= test rooms in any other files so that the ones specified here can work.
+//= 1.1 Fixed a major bug. Now using the initnpctimer command,
+//= donpcevent, and new waitingroom event commands. No more addtimer
+//= spamming. No longer have to talk to the npc to take the test. Just enter the chat room.
+//= 1.2 More bug fixes. Changed global variable names to unique ones.
+//= Added second set of items to first test. Added Awake pots award for job change.
+//= 1.3 Added Baby Class support [Lupus]
+//= 1.5 Fixed possible EXP abuse [Lupus]
+//= 1.6 Added a func which prevent advanced classes passing
+//= 2nd Job Quests again. It also guides adv classes where
+//= to go. [Lupus]
+//============================================================
+
+
+
+//<------------------------------------------------------------------------------------ Chivalry Captain Herman------------------------------------------------------------------------------------------>\\
+prt_in.gat,88,101,3 script Chivalry Captain Herman 56,{
+ callfunc "F_BlockHigh",25,"Swordman High",31,"Lord Knight","Chivalry Captain Herman";
+
+ if (BaseJob == Job_Swordman && KNIGHT_Q > 0) goto L_Check;
+
+ mes "[Chivalry Captain Herman]";
+ mes "Good Day. This is the Prontera Chivarly, home of the famous Prontera Knights.";
+M_Menu:
+ next;
+ menu "I am ready for Knighthood.",M_0,"The Requirements.",M_1,"Quit.",M_End;
+
+ M_0:
+ mes "[Chivalry Captain Herman]";
+ callfunc "Kni_check";
+ mes "[Chivalry Captain Herman]";
+ mes "In order to become a Knight one must posses great strength, courage, determination, and strong desire to help others.";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "You will have to show me that you have these attributes before I can make you a knight.";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "The 6 Knights you see around the room have each prepapred a unique test for would be Knights to take.";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "You must complete each one of their test and prove to me that you are truly committed to becomming a knight!";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "Speak with ^0000ffSir Andrew Syloc^000000. He will give you your first test. Good luck!! I expect to see you again soon!";
+ set KNIGHT_Q, 1;
+ set JBLVL, 40;
+ close;
+
+ M_1:
+ mes "[Chivalry Captain Herman]";
+ mes "The first requirement for becoming a Knight is that you must be a Swordsman.";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "The second requirement is that you must have at least a Job Level of 40.";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "The last requirement is that you will need to pass 6 tests that will determine whether or not you are worthy enough to become a Knight.";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "These requirements may seem difficult, but the Knight class is an elite and noble job class and only the best candidates may join.";
+ goto M_Menu;
+
+ M_End:
+ close;
+
+L_Check:
+ mes "[Chivalry Captain Herman]";
+ if (KNIGHT_Q == 1) mes "Please speak with ^0000ffSir Andrew Syloc^000000. He will give you your first test.";
+ if (KNIGHT_Q == 2) mes "Congratulations on finishing your first test. ^0000ffSir James Syracuse^000000 will administer your ^ff0000second test^000000.";
+ if (KNIGHT_Q == 3) mes "Congratulations on finishing the second test. ^0000ffSir Windsor^000000 will administer your ^ff0000third test^000000.";
+ if (KNIGHT_Q == 4) mes "Congratulations on finishing the third test. ^0000ffLady Amy Beatris^000000 will administer your ^ff0000fourth test^000000.";
+ if (KNIGHT_Q == 5) mes "Congratulations on finishing the fourth test. ^0000ffSir Edmund^000000 will administer your ^ff0000fifth test^000000.";
+ if (KNIGHT_Q == 6) mes "Congratulations on finishing the fifth test. ^0000ffSir Grey^000000 will administer your ^ff0000sixth test^000000.";
+ if (KNIGHT_Q == 7) goto L_MakeKnight;
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "Good luck!";
+ close;
+
+ L_MakeKnight:
+ if(SkillPoint > 0) goto sL_SKpoint;
+
+ mes "Oh, ^ff0000"+strcharinfo(0)+"^000000. So you've passed Sir Grey's test?";
+ mes "Let me just say that I applaud all of your hard work and your determination.";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "The final step to become a Knight is to recieve a recomondation from all six of the Knights who tested you.";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "Let's start with Sir Andrew Syloc. Sir Syloc, what is your opinion of Knight candidate, ^ff0000"+strcharinfo(0)+"^000000.";
+ next;
+ mes "[Sir Andrew Syloc]";
+ mes "Patience is a quality all Knights must have. By passing my test, ^ff0000"+strcharinfo(0)+"^000000 showed great patience and determination.";
+ next;
+ mes "[Sir Andrew Syloc]";
+ mes "In my opinion ^ff0000"+strcharinfo(0)+"^000000 is deserving of becoming a Knight!";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "Very good Sir Syloc. Sir James Syracuse, what say you?";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "^ff0000"+strcharinfo(0)+"^000000 was albe to answer everyone of my questions correctly.";
+ mes "This displays a mastery of the basic concepts of the Knight class.";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "^ff0000"+strcharinfo(0)+"^000000 has my recomendation for Knighthood!";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "I see Sir Syracuse. Sir Winsor what do you have to say?";
+ next;
+ mes "[Sir Winsor]";
+ mes "..............................";
+ next;
+ mes "[Sir Winsor]";
+ mes "Hmphf. I have no objections.";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "Hahaha! You never waste words do you Sir Winsor. What are your thoughts Lady Amy Beatris?";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "A Knight will be involved in many different kinds of situations on his/her journey.";
+ mes "It is a Knight's duty to make the right decisions in dealing with these situations.";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "^ff0000"+strcharinfo(0)+"^000000 showed good decision making in answering my questions.";
+ mes "I too recomend that this candidate be Knighted!";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "Thank you Lady Beatris. How about you Sir Edmund?";
+ next;
+ mes "[Sir Edmund]";
+ mes "A rock is an unchanging figure that never wavers in the face of adversity.";
+ next;
+ mes "[Sir Edmund]";
+ mes "Though mighty winds may try to knock it down and crashing waves may try to wash it away, a rock will stand solid and firm.";
+ next;
+ mes "[Sir Edmund]";
+ mes "^ff0000"+strcharinfo(0)+"^000000 showed the strength of a rock and was ever calm durring my test.";
+ mes "It is my honest belief that ^ff0000"+strcharinfo(0)+"^000000 should be bestowed with Knighthood.";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "As always Sir Edmund, a very profound observation. Well we're down to the last tester. Sir Grey, please give us your final desicion.";
+ next;
+ mes "[Sir Grey]";
+ mes "What can I say. ^ff0000"+strcharinfo(0)+"^000000 answered my questions thoughtfully and truthfully.";
+ next;
+ mes "[Sir Grey]";
+ mes "Though others may think that a Knight's strength lies within his/her sword, we Knights know that true strength lies within ones mind and heart.";
+ next;
+ mes "[Sir Grey]";
+ if(sex==1) mes "After speaking to ^ff0000"+strcharinfo(0)+"^000000, I felt that he had this strength within him.";
+ if(sex==0) mes "After speaking to ^ff0000"+strcharinfo(0)+"^000000, I felt that she had this strength within her.";
+ mes "I would be happy to give ^ff0000"+strcharinfo(0)+"^000000 my recomendation to become a Knight!";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "Many thanks Sir Grey, and many thanks to all of you for your time. Well it looks like it was a unanimous decision.";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "The process to become a Knight is very rigorous and difficult and yet you were able to successfully make it through.";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "You have done extremely well and therefore are deserving of the honor of being called a Knight.";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "^ff0000"+strcharinfo(0)+"^000000, in the name of King Tristin the 3rd, ruler of the kingdom of Run-Midgard, I hereby bestow upon thee the title of Knight!";
+ next;
+ callfunc "Job_Change",Job_Knight;
+ if(JBLVL != 50) getitem 656, 3;
+ if(JBLVL == 50) getitem 656, 7;
+ callfunc "F_ClearJobVar"; // clears all job variables for the current player
+ mes "[Chivalry Captain Herman]";
+ mes "Congratulations!! You are now a fellow Knight and protector of Rune-Midgard! Now go forth and make Rune-Midgard a better place to live!";
+ emotion 21;
+ close;
+
+ sL_SKpoint:
+ mes "Please use up all of your skill points so that I can make you a Knight.";
+ emotion 5;
+ close;
+}
+
+
+//<--------------------------------------------------------------------------------- Sir Andrew Syloc (1st test) ------------------------------------------------------------------------------------------>\\
+prt_in.gat,75,107,4 script Sir Andrew Syloc 65,{
+ mes "[Sir Andrew Syloc]";
+ if (BaseJob == Job_Knight) goto L_Knight;
+ if (BaseJob == Job_Novice) goto L_Novice;
+ if (BaseJob == Job_Swordman && KNIGHT_Q == 1) goto L_Test;
+ if (BaseJob == Job_Swordman && KNIGHT_Q == 2) goto L_Done;
+L_Other:
+ mes "We Knights of Prontera battle for peace and freedom! We fight to ensure a prosperous future for the people of Rune-Midgard!";
+ close;
+L_Novice:
+ mes "Oh, its a novice. Welcome to the Prontera Chivalry!";
+ next;
+ mes "[Sir Andrew Syloc]";
+ mes "Even though you feel weak now, I assure you that once you get your first job, you will feel confident and strong.";
+ next;
+ mes "[Sir Andrew Syloc]";
+ mes "Just stay safe and keep out of trouble.";
+ close;
+L_Knight:
+ mes "Oh, your one of us, how are you doing?";
+ next;
+ mes "[Sir Andrew Syloc]";
+ mes "It's important that you get the right equipment. It will allow you fight a lot of monsters and inturn get a lot of zeny.";
+ next;
+ mes "[Sir Andrew Syloc]";
+ mes "You should remember though, that being a Knight isn't about amassing wealth.";
+ close;
+
+
+L_Test:
+ if (KNIGHT_Q2 > 0) goto L_Check;
+ mes "Oh so you've come to join the Prontera Chivalry have you. Let's see, you're ^ff0000" + strcharinfo(0) + "^000000 right?";
+ next;
+ mes "[Sir Andrew Syloc]";
+ mes "My name is Andrew Syloc and I am one of the knights in the Prontera Knight Guild.";
+ next;
+ mes "[Sir Andrew Syloc]";
+ mes "I will be giving you the first of many tests that will determine if you have what it takes to become a Knight.";
+ next;
+ mes "[Sir Andrew Syloc]";
+ mes "This first test is like a scavenger hunt and will test your knowledge of monsters and their locations.";
+ next;
+ mes "[Sir Andrew Syloc]";
+ mes "This infrormation is vital for a Knight's ability to properly defend the many different towns in Rune-Midgard.";
+ next;
+ menu "I'm ready.",M_1, "Give me time.",M_End;
+
+ M_1:
+ mes "[Sir Andrew Syloc]";
+ if (joblevel == 50) goto sL_Skip;
+ mes "To pass this test you will need to gather:";
+ set KNIGHT_Q2, rand(1,2);
+ if(KNIGHT_Q2 == 1) callsub sF_R1;
+ if(KNIGHT_Q2 == 2) callsub sF_R2;
+ next;
+ mes "[Sir Andrew Syloc]";
+ mes "When you have all of those items, return here and give them to me.";
+ next;
+ mes "[Sir Andrew Syloc]";
+ mes "Good luck and be carefull! I shall await your return.";
+ close;
+
+ sF_R1:
+ mes "^5533FF5 Elder Pixie's Mustache,"; //1040
+ mes "5 Wings of Red Bat"; //7006
+ mes "5 Orcish Vouchers"; //931
+ mes "5 Moth Dust"; //1057
+ mes "5 Reptile Tongues^000000"; //903
+ mes "and ^5533FF5 Manes^000000."; //1028
+ return;
+ sF_R2:
+ mes "^5533FF5 Bug Legs";
+ mes "5 Heart of Mermaid";
+ mes "5 Snail's Shells";
+ mes "5 Clam Flesh";
+ mes "5 Old Frying Pans^000000";
+ mes "and ^5533FF5 Maneater Blossoms^000000.";
+ return;
+
+ sL_Skip:
+ mes "Wait..... what's this?";
+ next;
+ mes "[Sir Andrew]";
+ mes "You seem to be an increadibly strong swordsman. Yes, your strength and skill are amazing.";
+ next;
+ mes "[Sir Andrew]";
+ mes "Hahaha! There's no need for you to take my test. Why don't you go onto the next one ok.";
+ next;
+ mes "[Sir Andrew]";
+ mes "Speak to ^5533FFSir James Syracuse^000000. The tests you will be taking will teach you valuable life lessons, so please try hard.";
+ set KNIGHT_Q, 2;
+ set KNIGHT_Q2, 0;
+ set JBLVL, 50;
+ close;
+
+ M_End:
+ mes "[Sir Andrew Syloc]";
+ mes "Take as much time as you need. Come back when you're ready.";
+ close;
+
+L_Check:
+ mes "You've come back ^ff0000"+strcharinfo(0)+"^000000. Did you get all of the items I asked for?";
+ next;
+ if(KNIGHT_Q2 == 2) goto L_2;
+
+ L_1:
+ if(countitem(1040)<5 || countitem(7006)<5 || countitem(931)<5 || countitem(1057)<5 || countitem(903)<5 || countitem(1028)<5) goto L_NotDone;
+ delitem 1040,5;
+ delitem 7006,5;
+ delitem 931,5;
+ delitem 1057,5;
+ delitem 903,5;
+ delitem 1028,5;
+ goto L_Cont;
+
+ L_2:
+ if(countitem(1042)<5 || countitem(950)<5 || countitem(946)<5 || countitem(966)<5 || countitem(7031)<5 || countitem(1032)<5) goto L_NotDone;
+ delitem 1042,5;
+ delitem 950,5;
+ delitem 946,5;
+ delitem 966,5;
+ delitem 7031,5;
+ delitem 1032,5;
+
+ L_Cont:
+ mes "[Sir Andrew Syloc]";
+ mes "Lets see here..... 5 of this.... 5 of that.... Great! You got everything I asked for.";
+ next;
+ mes "[Sir Andrew Syloc]";
+ mes "You have done well and have past your first test! However you shouldn't get too excited.";
+ mes "There are still more challenges that you will have to overcome before you can become a knight.";
+ next;
+ mes "[Sir Andrew Syloc]";
+
+ L_Done:
+ mes "Speak to the Chivalry Captain Herman and he will inform you about your next test.";
+ mes "Stay focused and give it your all ^0000ff"+strcharinfo(0)+"^000000. I know you will do well.";
+ set KNIGHT_Q, 2;
+ set KNIGHT_Q2, 0;
+ close;
+
+ L_NotDone:
+ mes "[Sir Andrew Syloc]";
+ mes "What? You don't have everything I asked for?";
+ emotion 4;
+ next;
+ mes "[Sir Andrew Syloc]";
+ mes "This is what you were SUPPOSED to collect....";
+ if(KNIGHT_Q2 == 1) callsub sF_R1;
+ if(KNIGHT_Q2 == 2) callsub sF_R2;
+ next;
+ mes "[Sir Andrew Syloc]";
+ mes "Once you have ALL of those items come back and see me.";
+ close;
+}
+
+
+//<------------------------------------------------------------------------------ Sir James Syracuse (2nd Test) ----------------------------------------------------------------------------------------->\\
+prt_in.gat,71,91,6 script Sir James Syracuse 65,{
+ mes "[Sir James Syracuse]";
+ if (BaseJob == Job_Knight) goto L_Knight;
+ if (BaseJob == Job_Novice) goto L_Novice;
+ if (BaseJob == Job_Swordman && KNIGHT_Q == 2) goto L_Test;
+ if (BaseJob == Job_Swordman && KNIGHT_Q == 3) goto L_Done;
+L_Other:
+ mes "Attacking and defending..... is there a way to do both at the same time?";
+ mes "With a 'two-handed' weapon you have a great attack but no defense. Is there anything that can compensate for this weakness?";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "A weapon that could be used to both attack and defend would be invaluable to a Knight...... Darn!..... Where can I get such a thing??!! ";
+ close;
+L_Novice:
+ mes "What are you doing here novice?";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "Do you want to become a Knight? Well too bad novices can't become knights.";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You have to be an experienced swordman in order to become a knight.";
+ close;
+L_Knight:
+ mes "Hey, how are you doing... the guild is fine.";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "We are still recruiting knights. I hear there's a bad knight out there ruining the good name of the Prontera Chivalry...";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "If you see him, teach him a lesson.";
+ close;
+
+L_Test:
+ mes "Oh, so you passed the first test ^ff0000"+strcharinfo(0)+"^000000.";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "First let me introduce myself, my name is James Syracuse. I am of course a Knight here at the Prontera Chivalry.";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "This test will be on your knowledge of Knights. You will also be asked about your opinions of Knights...";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "Dont' be nervous, I'll only be asking a few simple questions.";
+ next;
+ menu "Let's go",M_0,"I'm not ready yet.",M_End;
+
+ M_0:
+ mes "[Sir James Syracuse]";
+ mes "Okay lets start, please answer the questions as quickly as you can. If you get an answer wrong you will have to start the test all over again.";
+ next;
+
+ mes "[Sir James Syracuse]";
+ //mes "Knights excel in both attack strength and defensive prowess.";
+ mes "Can you tell me which of these swords is NOT a two handed sword?";
+ next;
+ menu "Katzbalger",sM_0a,"Bastard Sword",sM_0b,"Claymore",sM_0c,"Flamberge",sM_0d;
+
+ sM_0a:
+ mes "[Sir James Syracuse]";
+ mes "^ff0000Wrong^000000. Katzbalger IS a two-handed sword";
+ mes "How will you manage to become a knight if you don't know about the swords that Knight's use?";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You need to know the basics BEFORE you take this test!";
+ close;
+
+ sM_0b:
+ mes "[Sir James Syracuse]";
+ mes "^ff0000Wrong^000000. Bastard Sword IS a two-handed sword!";
+ mes "How will you manage to become a knight if you don't know about the swords that knight's use?";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You need to know the basics BEFORE you take this test!";
+ close;
+
+ sM_0c:
+ mes "[Sir James Syracuse]";
+ mes "^ff0000Wrong^000000. Claymore IS a two-handed sword";
+ mes "How will you manage to become a knight if you don't know about the swords that knight's use?";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You need to know the basics BEFORE you take this test!";
+ close;
+
+ sM_0d:
+
+ mes "[Sir James Syracuse]";
+ mes "Okay, let me ask you a question about Knight skills.";
+ mes "What skill listed below is NOT used for attacking an opponent?";
+ next;
+ menu "Two-Hand Mastery Lv.5",sM_1a,"Berserk Lv.3",sM_1b,"Endure Lv.10",sM_1c,"Bash Lv.10",sM_1d;
+
+ sM_1a:
+ mes "[Sir James Syracuse]";
+ mes "^ff0000Wrong^000000. If you don't know this then you will never master the art of combat!";
+ mes "If you want to become a knight, you have to know what each skill does.";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You need to know the basics BEFORE you take this test!";
+ close;
+
+ sM_1b:
+ mes "[Sir James Syracuse]";
+ mes "^ff0000Wrong^000000. If you don't know this then you will never master the art of combat!";
+ mes "If you want to become a knight, you have to know what each skill does.";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You need to know the basics BEFORE you take this test!";
+ close;
+
+ sM_1c:
+ goto L_Cont1;
+
+ sM_1d:
+ mes "[Sir James Syracuse]";
+ mes "^ff0000Wrong^000000. If you don't know this then you will never master the art of combat!";
+ mes "If you want to become a knight, you have to know what each skill does.";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You need to know the basics BEFORE you take this test!";
+ close;
+
+ L_Cont1:
+ mes "[Sir James Syracuse]";
+ mes "Knights are different from other classes in that Knights can use spears and have special spear skills.";
+ mes "What spear skill below uses the MOST sp?";
+ next;
+ menu "Pierce",sM_2a,"Spear Boomarang",sM_2b,"Spear Stab",sM_2c,"Riding",sM_2d;
+
+ sM_2a:
+ mes "[Sir James Syracuse]";
+ mes "^ff0000Wrong^000000. If you don't know this, it'll be hard for you to master the Spear!";
+ mes "How can you not know about this if you're trying to become a Knight? Thats just not tolerable!";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You need to know the basics BEFORE you take this test!";
+ close;
+
+ sM_2b:
+ mes "[Sir James Syracuse]";
+ mes "^ff0000Wrong^000000. If you don't know this, it'll be hard for you to master the Spear!";
+ mes "How can you not know about this if you're trying to become a Knight? Thats just not tolerable!";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You need to know the basics BEFORE you take this test!";
+ close;
+
+ sM_2c:
+ goto L_Cont2;
+
+ sM_2d:
+ mes "[Sir James Syracuse]";
+ mes "^ff0000Wrong^000000. If you don't know this, it'll be hard for you to master the Spear!";
+ mes "How can you not know about this if you're trying to become a Knight? Thats just not tolerable!";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You need to know the basics BEFORE you take this test!";
+ close;
+
+ L_Cont2:
+ mes "[Sir James Syracuse]";
+ mes "Spears can also have elemental properites.";
+ mes "Which of the elements below is strongest against Dark/Undead monsters?";
+ next;
+ menu "Holy",sM_3a, "Wind",sM_3b, "Poison",sM_3c, "Earth",sM_3d;
+
+ sM_3a:
+ goto L_Cont3;
+
+ sM_3b:
+ mes "[Sir James Syracuse]";
+ mes "^ff0000Wrong^000000. Wind is NOT that strong against undead!";
+ mes "These are basic stuff and you don't it how funny?";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You need to know the basics BEFORE you take this test!";
+ close;
+
+ sM_3c:
+ mes "[Sir James Syracuse]";
+ mes "^ff0000Wrong^000000. Poion is NOT strong against undead";
+ mes "These are basic stuff and you don't it how funny";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You need to know the basics BEFORE you take this test!";
+ close;
+
+ sM_3d:
+ mes "[Sir James Syracuse]";
+ mes "^ff0000Wrong^000000. Earth is NOT strong against undead";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You need to know the basics BEFORE you take this test!";
+ close;
+
+ L_Cont3:
+ mes "[Sir James Syracuse]";
+ mes "When you become a Knight you can ride a pecopeco. However your attack speed drops significantly.";
+ mes "But if you learn the skill, Cavalry Mastery, your attack speed will increase again.";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "What percentage of your attack speed is regained by learning level 3 cavalry mastery?";
+ next;
+ menu "70%",sM_4a, "80%",sM_4b, "90%",sM_4c, "100%",sM_4d;
+
+ sM_4a:
+ mes "[Sir James Syracuse]";
+ mes "^ff0000Wrong^000000. If you don't know this I recommend that you do not ride a peco";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You need to know the basics BEFORE you take this test!";
+ close;
+
+ sM_4b:
+ goto L_Cont4;
+
+ sM_4c:
+ mes "[Sir James Syracuse]";
+ mes "^ff0000Wrong^000000. If you don't know this I recommend that you do not ride a peco";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You need to know the basics BEFORE you take this test!";
+ close;
+
+ sM_4d:
+ mes "[Sir James Syracuse]";
+ mes "^ff0000Wrong^000000. If you don't know this I recommend that you do not ride a peco";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You need to know the basics BEFORE you take this test!";
+ close;
+
+ L_Cont4:
+ mes "[Sir James Syracuse]";
+ mes "Good, looks like you know a lot about knights";
+ mes "Ok. Let me ask you some more questions";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "If you run into a novice and he asks you to tank for him because he's to lazy to fight on his own, you should....";
+ next;
+ menu "Tell the novice a good place to train",sM_5a, "Give him some zeny",sM_5b, "Give him some weapons",sM_5c;
+
+ sM_5a:
+ mes "[Sir James Syracuse]";
+ mes "Yes! That's a good answer. Novice's need to be independent and work hard on their own.";
+ mes "This builds good character and helps them become stronger.";
+ next;
+ goto L_Cont5;
+
+ sM_5b:
+ mes "[Sir James Syracuse]";
+ mes "WHAT?? Are you Nuts? Do you think that money is everything? LEAVE NOW!";
+ close;
+
+ sM_5c:
+ mes "[Sir James Syracuse]";
+ mes "Do you think you're helping someone when you give them good weapons?";
+ mes "You are basically KILLING them not helping them. LEAVE NOW!";
+ close;
+
+ L_Cont5:
+ mes "[Sir James Syracuse]";
+ mes "If you're in a party and your party gets attacked, what would you do?";
+ next;
+ menu "Stay in front and protect everyone.",sM_6a, "Wait until the others attack first then leech.",sM_6b,
+ "Who cares, I just want the drops.",sM_6c;
+
+ sM_6a:
+ mes "[Sir James Syracuse]";
+ mes "Yes! We Knights are important in most battles because of our strong attack and defensive skills.";
+ mes "We should try our best to take the brunt of any attack and allow our party members to provide support.";
+ next;
+ goto L_Cont6;
+
+ sM_6b:
+ mes "[Sir James Syracuse]";
+ mes "...WHAT? If you do that you're going to get EVERYONE KILLED!!";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You....LEAVE NOW! You don't have what it takes to become a Knight!";
+ close;
+
+ sM_6c:
+ mes "[Sir James Syracuse]";
+ mes "YOU THINK DROPS ARE MORE IMPORTANT THAN YOUR PARTY MEMBERS??";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You don't have what it takes to become a knight... LEAVE NOW!!";
+ close;
+
+ L_Cont6:
+ mes "[Sir James Syracuse]";
+ mes "And finally, the last question. What do you think is most important to a Knight?";
+ next;
+ menu "Honor",sM_7a, "Money",sM_7b, "The Fame",sM_7c;
+
+ sM_7a:
+ mes "[Sir James Syracuse]";
+ mes "Yes! Absolutely correct! A Knight's pride and honor come before all else.";
+ mes "You have to always remember that!";
+ next;
+ mes "[Sir James Syracuse]";
+ goto L_Done;
+
+ sM_7b:
+ mes "[Sir James Syracuse]";
+ mes "You're a REALLY GREEDY PERSON!!";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "Leave now!! We DON'T want your kind here!";
+ close;
+
+ sM_7c:
+ mes "[Sir James Syracuse]";
+ mes "Did you want to a become a knight because you desired to become FAMOUS?";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "Leave now!! We DON'T need your kind here!";
+ close;
+
+ L_Done:
+ mes "Good job on passing the second test. Please speak with the Captain about your next test.";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "There is more to a Knight than raw strength. Duty and honor are of the utmost importance to a Knight";
+ mes "Remember this and you will have no problems with the rest of the tests.";
+ set KNIGHT_Q, 3;
+ close;
+
+ M_End:
+ mes "[Sir James Syracuse]";
+ mes "I see. Take your time.";
+ close;
+
+}
+
+
+//<--------------------------------------------------------------------------------- Sir Windsor (3rd Test) -------------------------------------------------------------------------------------------------->\\
+// Sir Windsor ---------------------------------------------------------
+prt_in.gat,79,94,3 script Sir Windsor#1 733,{
+ mes "[Sir Windsor]";
+ if(BaseJob == Job_Knight) goto L_Knight;
+ if(BaseJob == Job_Novice) goto L_Novice;
+ if(BaseJob == Job_Swordman && KNIGHT_Q == 3) goto L_Test;
+ if(BaseJob == Job_Swordman && KNIGHT_Q == 4) goto L_Done;
+L_Other:
+ mes "..........";
+ next;
+ mes "[Sir Windsor]";
+ mes "What're you looking at.....?";
+ close;
+L_Novice:
+ mes "..........";
+ next;
+ mes "[Sir Windsor]";
+ mes "Go play somewhere else......";
+ close;
+L_Knight:
+ mes "Don't talk to me......";
+ emotion 9;
+ close;
+
+
+L_Test:
+ if(KNIGHT_Q2 == 2) goto L_Done;
+ if(KNIGHT_Q2 == 1) goto sL_ReTest;
+ mes ".............";
+ next;
+ mes "[Sir Windsor]";
+ mes "... so you're here to take the test?";
+ next;
+ mes "[Sir Windsor]";
+ mes "Follow me.....";
+ next;
+ set KNIGHT_Q2,1;
+ savepoint "prt_in.gat",77,96;
+ warp "job_knt",89,106;
+ end;
+
+ sL_ReTest:
+ mes ".............";
+ next;
+ mes "[Sir Windsor]";
+ mes "Hmf... your previous attempt was pathetic....";
+ next;
+ mes "[Sir Windsor]";
+ mes "Lets go......";
+ next;
+ savepoint "prt_in.gat",77,96;
+ warp "job_knt",89,106;
+ end;
+
+L_Done:
+ mes "Hmf.......";
+ next;
+ mes "[Sir Windsor]";
+ mes ".... You passed my test.";
+ next;
+ mes "[Sir Windsor]";
+ mes ".... Go talk to the Chivalry Captain Herman.";
+ set KNIGHT_Q2,0;
+ set KNIGHT_Q,4;
+ close;
+}
+
+
+// Waiting Room ---------------------------------------------------------------------------
+job_knt.gat,89,110,4, script Sir Windsor#2::SW2 733,{
+ mes "[Sir Windsor]";
+ mes "..........";
+ next;
+ mes "[Sir Windsor]";
+ mes ".....You have a problem?";
+ next;
+ menu "What is this test about?",M_0, "I wanna kick some moster butt!.",M_1, "I want to leave.",M_2, "Nothing.",M_End;
+
+ M_0:
+ mes "[Sir Windsor]";
+ mes "..........";
+ next;
+ mes "[Sir Windsor]";
+ mes ".....You are going to fight monsters.";
+ next;
+ mes "[Sir Windsor]";
+ mes ".....You must kill every single monster in the arena.";
+ next;
+ mes "[Sir Windsor]";
+ mes "..........";
+ next;
+ mes "[Sir Windsor]";
+ mes ".....You have to survive three levels of viscous monsters.";
+ next;
+ mes "[Sir Windsor]";
+ mes ".....I will give you 3 minutes for each level.";
+ next;
+ mes "[Sir Windsor]";
+ mes "..........";
+ close;
+
+ M_1:
+ mes "[Sir Windsor]";
+ mes "..........";
+ next;
+ mes "[Sir Windsor]";
+ mes ".....Go to the waiting room first.";
+ next;
+ mes "[Sir Windsor]";
+ mes ".....The test will start soon.";
+ next;
+ mes "[Sir Windsor]";
+ mes "..........";
+ next;
+ mes "[Sir Windsor]";
+ mes ".....If someones in there, you have to wait until they are done or fail.";
+ next;
+ mes "[Sir Windsor]";
+ mes ".....Once that happens, you will be automatically warped to the test room..";
+ next;
+ mes "[Sir Windsor]";
+ mes "..........";
+ close;
+
+ M_2:
+ mes "[Sir Windsor]";
+ mes "..........";
+ next;
+ mes "[Sir Windsor]";
+ mes ".....Leave then.";
+ next;
+ warp "prt_in.gat",80,100;
+ close;
+
+ M_End:
+ mes "[Sir Windsor]";
+ mes "..........";
+ close;
+
+OnInit:
+ waitingroom "Knight Test Waiting Room",8,"SW2::OnStart",1;
+ end;
+
+OnStart:
+ set $@KntUsers, getareausers("job_knt.gat", 24, 126, 63, 165); // get user count for first lvl
+ set $@KntUsers, $@KntUsers + getareausers("job_knt.gat", 24, 32, 63, 71); // get user count for second lvl + first lvl
+ set $@KntUsers, $@KntUsers + getareausers("job_knt.gat", 124, 132, 163, 171); // get user count for third lvl + second lvl + first lvl
+ if($@KntUsers > 0) end;
+
+ if ((getwaitingroomstate(33)) == 0) end; // stops the rest of the script from running if there is no one in the waiting room;
+ //kills off any left over monsters from other testers
+ killmonster "job_knt.gat", "KntLvl1::OnMyMobDead";
+ killmonster "job_knt.gat", "KntLvl2::OnMyMobDead";
+ killmonster "job_knt.gat", "KntLvl3::OnMyMobDead";
+ warpwaitingpc "job_knt.gat",43,146;
+ donpcevent "KntLvl1";
+ end;
+}
+
+// First Level ---------------------------------------------------------
+job_knt.gat,1,1,1 script KntLvl1 -1,{
+ set $@KntRm, 1;
+ set $@KntMob,12;
+ monster "job_knt.gat",39,150,"Dustiness",1114,1,"KntLvl1::OnMyMobDead";
+ monster "job_knt.gat",47,150,"Dustiness",1114,1,"KntLvl1::OnMyMobDead";
+ monster "job_knt.gat",39,142,"Dustiness",1114,1,"KntLvl1::OnMyMobDead";
+ monster "job_knt.gat",47,142,"Dustiness",1114,1,"KntLvl1::OnMyMobDead";
+ monster "job_knt.gat",43,137,"Piere",1160,1,"KntLvl1::OnMyMobDead";
+ monster "job_knt.gat",43,155,"Piere",1160,1,"KntLvl1::OnMyMobDead";
+ monster "job_knt.gat",43,155,"Deniro",1105,1,"KntLvl1::OnMyMobDead";
+ monster "job_knt.gat",43,155,"Deniro",1105,1,"KntLvl1::OnMyMobDead";
+ monster "job_knt.gat",43,155,"Andre",1095,1,"KntLvl1::OnMyMobDead";
+ monster "job_knt.gat",43,137,"Andre",1095,1,"KntLvl1::OnMyMobDead";
+ monster "job_knt.gat",35,146,"Argos",1100,1,"KntLvl1::OnMyMobDead";
+ monster "job_knt.gat",52,146,"Argos",1100,1,"KntLvl1::OnMyMobDead";
+ initnpctimer "TimerKnt";
+ end;
+
+OnMyMobDead:
+ set $@KntMob, $@KntMob - 1;
+ if($@KntMob > 0) end;
+
+ stopnpctimer "TimerKnt";
+ areaannounce "job_knt.gat", 24, 126, 63, 165, "[Sir Windsor]: Get ready for the second level....",8;
+ set $@KntMob, 0;
+ addtimer 5000, "KntLvl2";
+ end;
+}
+
+
+// Second Level ---------------------------------------------------------
+job_knt.gat,1,1,1 script KntLvl2 -1,{
+ set $@KntRm, 2;
+ set $@KntMob,12;
+ monster "job_knt.gat",53,52,"Frilldora",1119,1,"KntLvl2::OnMyMobDead";
+ monster "job_knt.gat",34,52,"Frilldora",1119,1,"KntLvl2::OnMyMobDead";
+ monster "job_knt.gat",43,42,"Desert Wolf",1106,1,"KntLvl2::OnMyMobDead";
+ monster "job_knt.gat",43,62,"Desert Wolf",1106,1,"KntLvl2::OnMyMobDead";
+ monster "job_knt.gat",58,52,"Drainliar",1111,1,"KntLvl2::OnMyMobDead";
+ monster "job_knt.gat",58,52,"Drainliar",1111,1,"KntLvl2::OnMyMobDead";
+ monster "job_knt.gat",29,52,"Drainliar",1111,1,"KntLvl2::OnMyMobDead";
+ monster "job_knt.gat",29,52,"Drainliar",1111,1,"KntLvl2::OnMyMobDead";
+ monster "job_knt.gat",60,68,"Anacondaq",1030,1,"KntLvl2::OnMyMobDead";
+ monster "job_knt.gat",27,68,"Anacondaq",1030,1,"KntLvl2::OnMyMobDead";
+ monster "job_knt.gat",60,35,"Anacondaq",1030,1,"KntLvl2::OnMyMobDead";
+ monster "job_knt.gat",27,35,"Anacondaq",1030,1,"KntLvl2::OnMyMobDead";
+ warp "job_knt.gat",43,52;
+ initnpctimer "TimerKnt";
+ end;
+
+OnMyMobDead:
+ set $@KntMob, $@KntMob - 1;
+ if($@KntMob > 0) end;
+
+ stopnpctimer "TimerKnt";
+ areaannounce "job_knt.gat", 24, 32, 63, 71, "[Sir Windsor]: Get ready for the third level....",8;
+ set $@KntMob, 0;
+ addtimer 5000, "KntLvl3";
+ end;
+
+}
+
+// Third Level ---------------------------------------------------------------
+job_knt.gat,1,1,1 script KntLvl3 -1,{
+ set $@KntRm, 3;
+ set $@KntMob,7;
+ monster "job_knt.gat",136,152,"Knife Goblin Bro",1122,1,"KntLvl3::OnMyMobDead";
+ monster "job_knt.gat",150,152,"Mace Goblin Bro",1123,1,"KntLvl3::OnMyMobDead";
+ monster "job_knt.gat",143,145,"Axe Goblin Bro",1124,1,"KntLvl3::OnMyMobDead";
+ monster "job_knt.gat",143,167,"Hammer Goblin Bro",1125,1,"KntLvl3::OnMyMobDead";
+ monster "job_knt.gat",139,167,"Club Goblin Bro",1126,1,"KntLvl3::OnMyMobDead";
+ monster "job_knt.gat",147,167,"Goblin Archer",1258,1,"KntLvl3::OnMyMobDead";
+ monster "job_knt.gat",136,158,"Steam Goblin",1280,1,"KntLvl3::OnMyMobDead";
+ warp "job_knt.gat",143,152;
+ initnpctimer "TimerKnt";
+ end;
+
+OnMyMobDead:
+ set $@KntMob, $@KntMob - 1;
+ if($@KntMob > 0) end;
+
+ stopnpctimer "TimerKnt";
+ set KNIGHT_Q2, 2;
+ areaannounce "job_knt.gat", 124, 132, 163, 171, "[Sir Windsor]: ....... test completed.",8;
+ set $@KntMob, 0;
+ addtimer 7000, "TimerKnt::OnTimer184000";
+ end;
+
+}
+
+// Timer --------------------------------------------------------------------------------
+job_knt.gat,1,1,1 script TimerKnt -1,{
+
+OnTimer2000:
+ set $@KntTime$, "You have 3 minutes...";
+ donpcevent "SW2::OnStart"; //checks to see if anyone is still in the room, in case of logout or KO
+ callsub AnnounceKnt;
+OnTimer32000:
+ donpcevent "SW2::OnStart";
+ end;
+OnTimer62000:
+ set $@KntTime$, "You have 2 minutes left...";
+ donpcevent "SW2::OnStart";
+ callsub AnnounceKnt;
+OnTimer92000:
+ donpcevent "SW2::OnStart";
+ end;
+OnTimer122000:
+ set $@KntTime$, "You have 1 minute left...";
+ donpcevent "SW2::OnStart";
+ callsub AnnounceKnt;
+OnTimer152000:
+ set $@KntTime$, "You have 30 seconds left...";
+ donpcevent "SW2::OnStart";
+ callsub AnnounceKnt;
+OnTimer162000:
+ set $@KntTime$, "You have 10 seconds left...";
+ callsub AnnounceKnt;
+OnTimer182000:
+ set $@KntTime$, "Times up! You failed!!";
+ donpcevent "SW2::OnStart";
+ callsub AnnounceKnt;
+OnTimer184000:
+ stopnpctimer;
+ if($@KntRm==1) areawarp "job_knt.gat", 24, 126, 63, 165, "prt_in.gat",77,96;
+ if($@KntRm==2) areawarp "job_knt.gat", 24, 32, 63, 71, "prt_in.gat",77,96;
+ if($@KntRm==3) areawarp "job_knt.gat", 124, 132, 163, 171, "prt_in.gat",77,96;
+ areaannounce "job_knt.gat", 82, 98, 97, 113, "[Sir Windsor]: The testing rooms are now open.....",8;
+ killmonster "job_knt.gat", "KntLvl1::OnMyMobDead";
+ killmonster "job_knt.gat", "KntLvl2::OnMyMobDead";
+ killmonster "job_knt.gat", "KntLvl3::OnMyMobDead";
+ donpcevent "SW2::OnStart";
+ end;
+
+AnnounceKnt:
+ if($@KntRm==1) areaannounce "job_knt.gat", 24, 126, 63, 165, "[Sir Windsor]: "+$@KntTime$+".",8;
+ if($@KntRm==2) areaannounce "job_knt.gat", 24, 32, 63, 71, "[Sir Windsor]: "+$@KntTime$+".",8;
+ if($@KntRm==3) areaannounce "job_knt.gat", 124, 132, 163, 171, "[Sir Windsor]: "+$@KntTime$+".",8;
+ end;
+}
+
+
+//<------------------------------------------------------------------------------------ Lady Amy Beatris (4th Test) ---------------------------------------------------------------------------------------------->\\
+prt_in.gat,69,107,5 script Lady Amy Beatris 728,{
+ mes "[Lady Amy Beatris]";
+ if (BaseJob == Job_Knight) goto L_Knight;
+ if (BaseJob == Job_Novice) goto L_Novice;
+ if (BaseJob == Job_Swordman && KNIGHT_Q == 4) goto L_Test;
+ if (BaseJob == Job_Swordman && KNIGHT_Q == 5) mes "Speak to the Chivalry Captain Herman about your next test.";
+ if (BaseJob == Job_Swordman && KNIGHT_Q == 5) close;
+L_Other:
+ mes "Welcome to the Prontera Chivalry.";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "There are only Knights here so just relax.";
+ close;
+L_Novice:
+ mes "Wow... A cute novice... soooo cute...";
+ emotion 14;
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "Do you want to become a Knight?";
+ if(sex==0) mes "I bet you'll be lovely as a Knight.";
+ if(sex==1) mes "I bet you'll be really handsome as a Knight.";
+ next;
+ mes "[Lady Amy Beatris]";
+ if(sex==0) mes "If you become a Knight, come back and see me. We Lady Knights should stick together.";
+ if(sex==1) mes "If you become a knight, come back and see me okay?(*winks*)";
+ close;
+L_Knight:
+ if(sex==1) goto L_Male;
+
+ L_Female:
+ mes "Oh my! Aren't you just the prettiest Knight. I love how your sword matches with your shoes.";
+ emotion 14;
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "Anyway, I'm glad you came back to see me. I'm always curious about how a Knight turns out.";
+ mes "You look like you're doing fine so continue the good work okay? Lady Knights rule!";
+ close;
+
+ L_Male:
+ mes "Well hello handsome. There's just something about men in armor....";
+ emotion 3;
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "So, did you come back for some fun...?";
+ next;
+ menu "YOU BET!!!",M_Yes, "... um... well... err...",M_No;
+
+ M_Yes:
+ mes "^FF0000(SLAPP!! SMACK!! BASH!!)^000000";
+ emotion 6;
+ percentheal (-10),0;
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "How dare you!! Just what kind of girl do you take me for?";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "Allways remember that a Knight's a Knight, no matter what gender they are.";
+ mes "Also remember to be respectfull to women at all times!";
+ emotion 32;
+ close;
+
+ M_No:
+ mes "[Lady Amy Beatris]";
+ mes "Teh he he. Silly, I'm just playing with you. You may be good looking, but I'm NOT that kind of girl.";
+ emotion 18;
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "Anyway, I'm glad you came back to see me. I'm always curious about how a Knight turns out.";
+ mes "You look like you're doing fine so continue the good work okay?";
+ emotion 21;
+ close;
+
+
+L_Test:
+ if(KNIGHT_Q2 == 1) mes "Are you ready to take the test over?"; //for when someone retakes the test
+ if(KNIGHT_Q2 == 1) goto M_Menu;
+ mes "Hello. Your ^ff0000"+strcharinfo(0)+"^000000, right?";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "My name is Amy Beatris, a Knight of the Prontera Chivalry.";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "For your test I will be asking you some questions";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "Please listen carefully and pick the correct answer.";
+M_Menu:
+ next;
+ menu "Ok. I'm ready.",M_0, "Please give me some time.",M_End;
+
+ M_0:
+ set @score,0;
+
+ mes "[Lady Amy Beatris]";
+ mes "Let's say your in Morroc and you want to recruit a party member. What would you do?";
+ next;
+ menu "Randomly follow someone around",sM_0a, "Make a chatroom and wait.",sM_0b, "Ask if anyone wants to party with a Knight..",sM_0c;
+
+ sM_0a:
+ goto L_Cont1;
+
+ sM_0b:
+ set @score, @score + 10;
+ goto L_Cont1;
+
+ sM_0c:
+ set @score, @score + 10;
+
+ L_Cont1:
+ mes "[Lady Amy Beatris]";
+ mes "You're in a party with a hunter, a priest, a wizard, a blacksmith, and an assassin.";
+ mes "The six of you decide to train in the Pyramids.";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "Your party makes it to the fourth floor of the pyramid, what will you do now?";
+ next;
+ menu "Scout ahead and make sure it's safe for all",sM_1a, "Go fight by yourself",sM_1b, "Stay in front of the party and move slowly",sM_1c;
+
+ sM_1a:
+ set @score, @score + 10;
+
+ sM_1b:
+ goto L_Cont2;
+
+ sM_1c:
+ set @score, @score + 10;
+
+ L_Cont2:
+ mes "[Lady Amy Beatris]";
+ mes "A lame-o guy creates a mob right in front of your party and disappears. What would you do?";
+ next;
+ menu "Look after your partners",sM_2a, "Fight hard and help when needed",sM_2b, "Take your PecoPeco and RIDE like the WIND!",sM_2c;
+
+ sM_2a:
+ set @score, @score + 10;
+ goto L_Cont3;
+
+ sM_2b:
+ set @score, @score + 10;
+ goto L_Cont3;
+
+ sM_2c:
+
+ L_Cont3:
+ mes "[Lady Amy Beatris]";
+ mes "Somehow you beat the mob. Your party then journeys on and you stumble upon someone who has fainted.";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "This guy begs you to help him, what will you do?";
+ next;
+ menu "Ask the priest in your party to help.",sM_3a, "Ask him how much he'll pay you if you help",sM_3b, "Ignore him.",sM_3c;
+
+ sM_3a:
+ set @score, @score + 10;
+
+ sM_3b:
+
+ sM_3c:
+
+ L_Cont4:
+ mes "[Lady Amy Beatris]";
+ mes "You guys have to go to different places so you guys seperate yourselves into smaller groups.";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "During your previous battles, a monster dropped a very valuable item that you picked up. What do you do with it?";
+ next;
+ menu "Give it to the person that deserves it the most.",sM_4a, "Pretend you don't know about it.",sM_4b, "Discuss it with the others.",sM_4c;
+
+ sM_4a:
+ set @score, @score + 10;
+
+ sM_4b:
+ goto L_Cont5;
+
+ sM_4c:
+ set @score, @score + 10;
+
+ L_Cont5:
+ mes "[Lady Amy Beatris]";
+ mes "You decide to go back to Prontera and sell some of the valuble items you picked up.";
+ mes "On the road, you see a lot of chatrooms.";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "What would be the best way to sell them?";
+ next;
+ menu "Sell them to an NPC.",sM_5a, "Create a chatroom to advertise the items.",sM_5b, "Go around looking for someone that needs them.",sM_5c;
+
+ sM_5a:
+ goto L_Cont6;
+
+ sM_5b:
+ set @score, @score + 10;
+ goto L_Cont6;
+
+ sM_5c:
+ set @score, @score + 10;
+
+ L_Cont6:
+ mes "[Lady Amy Beatris]";
+ mes "Someone comes up to you and begs you for money. What would you do?";
+ next;
+ menu "Give him some money and items.",sM_6a, "Ignore him.",sM_6b, "Tell him a place where its suitable for him to earn money.",sM_6c;
+
+ sM_6a:
+
+ sM_6b:
+ goto L_Cont7;
+ sM_6c:
+ set @score, @score + 10;
+
+ L_Cont7:
+ mes "[Lady Amy Beatris]";
+ mes "Now your alone and training in a forest. You are happily riding a pecopeco.";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "You run into somone who's lost. What do you do?";
+ next;
+ menu "Tell her where the exit is.",sM_7a, "Bring her to the exit.",sM_7b, "Give her a butterfly wing.",sM_7c;
+
+ sM_7a:
+ set @score, @score + 10;
+ goto L_Cont8;
+
+ sM_7b:
+ set @score, @score + 10;
+
+ sM_7c:
+
+ L_Cont8:
+ mes "[Lady Amy Beatris]";
+ mes "You're still in the forest but now your busy fighting monsters.";
+ mes "You realize that you've run out of healing items and your health is very low.";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "Suddenly a priest appears! What would you do?";
+ next;
+ menu "'Give me a heal'",sM_8a, "'Would you please heal me. I'll share the drops with you.'",sM_8b, "'Dude! I need healz plz.'",sM_8c;
+
+ sM_8a:
+ goto L_Cont9;
+
+ sM_8b:
+ set @score, @score + 10;
+
+ sM_8c:
+
+ L_Cont9:
+ mes "[Lady Amy Beatris]";
+ mes "Your getting tired so you decide to head back to town.";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "On the road back to town, you see a very valuable object. What will you do?";
+ next;
+ menu "Pick it up and keep it.",sM_9a, "Ask around to see if anyone dropped it.",sM_9b, "Leave it there.",sM_9c;
+
+ sM_9a:
+ goto L_Cont10;
+
+ sM_9b:
+ set @score, @score + 10;
+ goto L_Cont10;
+
+ sM_9c:
+ set @score, @score + 10;
+
+ L_Cont10:
+ mes "[Lady Amy Beatris]";
+ mes "Alright. I'm finished with my questions. Now that wasn't so bad was it?";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "Okay, let me just quickly add up your score....";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "You got a score of ^ff0000"+@score+"^000000 out of ^0000ff100^000000.";
+ next;
+ mes "[Lady Amy Beatris]";
+ if(@score == 100) goto L_100;
+ if(@score >= 80) goto L_80;
+
+ L_Failed:
+ mes "I am sorry but you failed the test. I hope you will try again and do better next time.";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "When I ask you a question please think hard about it.";
+ set KNIGHT_Q2, 1; //flag for re-taking the test
+ close;
+
+ L_100:
+ mes "Great job! You got a perfect score. If you keep this up, you'll become one of the best knights around.";
+ mes "Speak to the Chivalry Captain Herman about your next test.";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "Keep up the good work and pass all the tests okay?";
+ set KNIGHT_Q, 5;
+ set KNIGHT_Q2, 0;
+ close;
+ L_80:
+ mes "Not bad. Not as good as had I hoped, but you did well enough to pass.";
+ mes "Speak to the Chivalry Captain Herman about your next test.";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "Good luck on the next test. I hope you'll pass and become a knight soon.";
+ set KNIGHT_Q, 5;
+ set KNIGHT_Q2, 0;
+ close;
+
+ M_End:
+ mes "[Lady Amy Beatris]";
+ mes "Sure thing. See me when you're ready.";
+ close;
+
+}
+
+
+//<------------------------------------------------------------------------------------------- Sir Edmund (5th Test) --------------------------------------------------------------------------------------------->\\
+prt_in.gat,70,99,5 script Sir Edmund 734,{
+ mes "[Sir Edmund]";
+ if (BaseJob == Job_Knight) goto L_Knight;
+ if (BaseJob == Job_Swordman) goto L_Sword;
+ if (BaseJob == Job_Novice) goto L_Novice;
+L_Other:
+ mes "Everything in this world exists in harmony.";
+ next;
+ mes "[Sir Edmund]";
+ mes "Living without disrupting this harmony is the only true way to live your life....";
+ close;
+L_Novice:
+ mes "A tree with deep roots will not be swayed by the wind.";
+ next;
+ mes "[Sir Edmund]";
+ mes "Skills rooted in a strong foundation will one day shine their light...";
+ next;
+ mes "[Sir Edmund]";
+ mes "You future will be decided by what you do now.... so strengthen those roots.";
+ close;
+
+ mes "[Sir Edmund]";
+ mes "People who wants to be on the dark side will always have nightmares";
+ next;
+ mes "[Sir Edmund]";
+ mes "If a person gets a nightmare everyday, all his dreams will be crushed...";
+ close;
+
+L_Knight:
+ mes "Make your heart into a river.";
+ next;
+ mes "[Sir Edmund]";
+ mes "A river will wash out everything in its path...";
+ next;
+ mes "[Sir Edmund]";
+ mes "As a knight you must walk your path like a flowing river.";
+ close;
+
+L_Sword:
+ if (KNIGHT_Q == 5) goto L_Test;
+ if (KNIGHT_Q == 6) goto L_Done;
+ mes "Those with ominous thoughts will only dream ominous dreams.";
+ next;
+ mes "[Sir Edmund]";
+ mes "Having ominous dreams will result in no dreams at all....";
+ close;
+L_Test:
+ if(KNIGHT_Q2 == 1) goto L_ReTest;
+ if(KNIGHT_Q2 == 2) goto L_Done;
+ mes "Oh so its your turn to take my test.";
+ mes "I hope you can pass it";
+ next;
+ mes "[Sir Edmund]";
+ mes "My name is Edmund.";
+ mes "And iam a knight in the prontera Knight Guild.";
+ next;
+ mes "[Sir Edmund]";
+ mes "Knights are like the people that keeps justice and peace in this world...";
+ mes "If you can help people and be nice, you'll be one of the best knights in this world.";
+ next;
+ mes "[Sir Edmund]";
+ mes "Your actions can't be slow, if you decide on something, you got to do it.";
+ mes "Sometimes you can be the water, Weak , but most time you got to be the wind, HARD.";
+ next;
+ mes "[Sir Edmund]";
+ mes "You can't kill monsters because its fun.";
+ mes "And sometimes you'll need time to calm down...";
+ next;
+ mes "[Sir Edmund]";
+ mes "Okay lets start the test now.";
+ next;
+ warp "job_knt.gat",143,57;
+ doevent "ev_Test";
+ end;
+
+ L_ReTest:
+ mes "Last time when you did the test you didn't try hard enough.";
+ mes "A knights weapon should only be used to protect, not to bully weak monsters.";
+ next;
+ mes "[Sir Edmund]";
+ mes "Everything in this world is equal, there shouldn't be any exceptions.";
+ mes "This point shouldn't be kept just when you have tests, it should be kept when you're training in real life...";
+ next;
+ mes "[Sir Edmund]";
+ mes "OKay now, try again.";
+ next;
+ warp "job_knt.gat",143,57;
+ doevent "ev_Test";
+ end;
+
+ L_Done:
+ mes "You have done very well to pass my test.";
+ next;
+ mes "[Sir Edmund]";
+ mes "Remember that true strength comes from patience and understanding.";
+ next;
+ mes "[Sir Edmund]";
+ mes "When you understand the world around you, you will be able to overcome any obstacle in life.";
+ next;
+ mes "[Sir Edmund]";
+ mes "Go to the Chivalry Captain Herman and find out about your next challenge. Good luck.";
+ set KNIGHT_Q2,0;
+ set KNIGHT_Q,6;
+ close;
+}
+
+// Test -----------------------------
+job_knt.gat,1,1,1 script ev_Test -1,{
+ killmonster "job_knt.gat","ev_Test::OnMyMobDead";
+ monster "job_knt.gat",141,57,"Poring",1002,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",145,57,"Poring",1002,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",143,55,"Poring",1002,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",143,59,"Poring",1002,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",141,55,"Lunatic",1063,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",141,59,"Lunatic",1063,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",145,55,"Lunatic",1063,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",145,59,"Lunatic",1063,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",139,57,"Chonchon",1011,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",147,57,"Chonchon",1011,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",143,53,"Chonchon",1011,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",143,61,"Chonchon",1011,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",130,69,"Spore",1014,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",157,69,"Spore",1014,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",130,42,"Spore",1014,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",157,42,"Spore",1014,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",165,54,"Spore",1014,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",165,57,"Spore",1014,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",122,54,"Spore",1014,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",122,57,"Spore",1014,1,"ev_Test::OnMyMobDead";
+
+ addtimer 240000, "ev_Test::OnTimerPass";
+ end;
+
+OnTimerPass:
+ set KNIGHT_Q2, 2;
+ areaannounce "job_knt.gat", 124, 36, 163, 75, "[Sir Edmund]: Well done.",0;
+ addtimer 4000, "ev_Test::OnTimerWarp";
+ end;
+
+OnMyMobDead:
+ set KNIGHT_Q2, 1;
+ areaannounce "job_knt.gat", 124, 36, 163, 75, "[Sir Edmund]: You are not at peace and therfore have failed my test.",0;
+ deltimer "ev_Test::OnTimerPass";
+ addtimer 4000, "ev_Test::OnTimerWarp";
+ end;
+
+OnTimerWarp:
+ if(KNIGHT_Q2 == 2) warp "prt_in.gat",80,100;
+ if(KNIGHT_Q2 == 1) warp "prt_fild05.gat",353,251;
+ end;
+}
+
+
+//<------------------------------------------------------------------------------------------ Sir Grey (Final Test) ------------------------------------------------------------------------------------------------------>\\
+prt_in.gat,87,90,3 script Sir Grey 119,{
+ mes "[Sir Grey]";
+ if (BaseJob == Job_Knight) goto L_Knight;
+ if (BaseJob == Job_Novice) goto L_Novice;
+ if (BaseJob == Job_Swordman && KNIGHT_Q == 6) goto L_Test;
+ if (BaseJob == Job_Swordman && KNIGHT_Q == 7) mes "Go to Chivalry Captain Herman and allow him to bestow upon you the great honor of Knighthood.";
+ if (BaseJob == Job_Swordman && KNIGHT_Q == 7) close;
+L_Other:
+ mes "Use your time wisely young one......";
+ next;
+ mes "[Sir Grey]";
+ mes "You don't want to end up regreting missed opportunities.";
+ close;
+L_Novice:
+ mes "Believe it or not, I was once a Novice as well.";
+ next;
+ mes "[Sir Grey]";
+ mes "Back then, I never dreamed about being a knight.... I just wanted to become a strong person.....";
+ next;
+ mes "[Sir Grey]";
+ mes "And somehow after all these years, I ended up becoming one. Imagine that.... Hahaha.";
+ emotion 18;
+ close;
+L_Knight:
+ mes "I don't know if I can even properly describe the ^00aa00Claymore^000000, but I know this... it's the greatest weapon a Knight can wield!!";
+ next;
+ mes "[Sir Grey]";
+ mes "Yes! The ^00aa00'Claymore'^000000!! Every knight should have one!";
+ next;
+ menu "Info about the Claymore ",M_Info, "Buy the Claymore",M_Buy, "End talk",M_Cancel;
+
+ M_Info:
+ mes "[Sir Grey]";
+ mes "The Claymore is the best 2 handed sword a knight can get. Its like a knight's bestfriend.";
+ next;
+ mes "[Sir Grey]";
+ mes "Our guild works very hard to make these beautiful Claymore swords and therefore deserves some compensation for their work.";
+ next;
+ mes "[Sir Grey]";
+ mes "For the small fee of ^0000ff'74000 zeny'^000000 and ^0000ff'1 Steel '^000000, any Knight can get their hands on a Claymore.";
+ next;
+ mes "[Sir Grey]";
+ mes "I'm in charge of selling them so if you would like one let me know.";
+ close;
+
+ M_Buy:
+ if(countitem(999) < 1 || Zeny < 74000) goto L_NotEnough;
+
+ mes "[Sir Grey]";
+ mes "Good, you brought me the steel and have enough to cover the labor fee.";
+ next;
+ mes "[Sir Grey]";
+ mes "Here you are! A magnificant weapon that is un-matched in quality and strength! I know you will use it well.";
+ delitem 999, 1;
+ set Zeny, Zeny - 74000;
+ getitem 1163, 1;
+ close;
+
+ L_NotEnough:
+ mes "[Sir Grey]";
+ mes "I know you want a claymore but you need to bring me ^0000ff'74000 zeny'^000000 and ^0000ff'1 Steel '^000000.";
+ next;
+ mes "[Sir Grey]";
+ mes "When you get the steel and the money, come back and see me.";
+ close;
+
+ M_Cancel:
+ mes "[Sir Grey]";
+ mes "If your going to be a good knight, you'll need a claymore..";
+ mes "I'll be glad to see you after your training...";
+ close;
+
+L_ReTest:
+ mes "I see you're back. Have you spent enough time reflecting on Knighthood?";
+ mes "I hope that you are now ready for this test.";
+ goto M_Menu;
+
+L_Test:
+ if (KNIGHT_Q2 == 1) goto L_ReTest;
+ mes "Haha, so you already finished all the other tests eh?";
+ next;
+ mes "[Sir Grey]";
+ mes "Okay then, lets start my test. Its not any different from the other ones.";
+M_Menu:
+ next;
+ menu "Bring it on!",M_0, "Maybe a little later.",M_End;
+
+ M_0:
+ set @score,0;
+ mes "[Sir Grey]";
+ mes "Let me ask you a few questions.";
+ next;
+
+ mes "[Sir Grey]";
+ mes "First, why are you so determined to become a knight?";
+ next;
+ menu "I want to be stronger.",sM_0, "I want to help the town.",sM_1, "Being a Swordsman sucks.",sM_2;
+
+ sM_0:
+ mes "[Sir Grey]";
+ mes "To become stronger huh.... It's true that becoming a knight does make you stronger but....";
+ next;
+ mes "[Sir Grey]";
+ mes "What would you do with that strength? Use it to help a town? Show it off to people? Or is there another reason?";
+ next;
+ menu "Use it to make me rich$$.",sM_0a, "Use it to protect myself.",sM_0b, "Use it to protect other people.",sM_0c;
+
+ sM_0a:
+ set @score, @score + 10;
+ mes "[Sir Grey]";
+ mes "Money is important for a comfortable living, but a Knights strength can be used for more important things.";
+ goto L_Cont1;
+
+ sM_0b:
+ mes "[Sir Grey]";
+ mes "This is a very good idea. By first learning how to protect yourself, you will then be able to protect others.";
+ mes "I admire your thought very much.";
+ goto L_Cont1;
+
+ sM_0c:
+ mes "[Sir Grey]";
+ mes "It is a great idea to help others. We Knights pride ourselves on serving the public in anyway we can.";
+ goto L_Cont1;
+
+ sM_1:
+ mes "[Sir Grey]";
+ mes "I see. You have a very strong sense of community.";
+ next;
+ mes "[Sir Grey]";
+ mes "With the power that comes with becoming Knight, what would you do to help the town?";
+ next;
+ menu "Whatever the town needs me to do.",sM_1a, "I will help the town get rich.",sM_1b, "I will protect the citizens of the town.",sM_1c;
+
+ sM_1a:
+ mes "[Sir Grey]";
+ mes "Good. A Knight should always strive to help whatever the task.";
+ goto L_Cont1;
+
+ sM_1b:
+ set @score, @score + 10;
+ mes "[Sir Grey]";
+ mes "A town does need money to be prosperous, but that is not the most important thing a town needs.";
+ mes "As a Knight you can provide the town with protection and other valuable services.";
+ goto L_Cont1;
+
+ sM_1c:
+ mes "[Sir Grey]";
+ mes "A very noble idea indeed. Towns people are often ill equiped to protect themselves from monsters.";
+ mes "By providing them with protection, you can allow the towns people to live their lives peacefully.";
+ goto L_Cont1;
+
+ sM_2:
+ set @score, @score + 5;
+ mes "[Sir Grey]";
+ mes "Hmm... that's very interesting. Most people enjoy being a Swordsman.";
+ next;
+ mes "[Sir Grey]";
+ mes "Well, what exactly don't you like about being a Swordsman?";
+ next;
+ menu "The skills.",sM_2a, "Swordsman are weak.",sM_2b, "The hard work.",sM_2c;
+
+ sM_2a:
+ set @score, @score + 5;
+ mes "[Sir Grey]";
+ mes "A skill is only as good as the person who uses it. Different skills are used for different situations.";
+ next;
+ mes "[Sir Grey]";
+ mes "If you have not figured out how to effectively use the Swordsman's skills by now, how do you expect to be able to use a Knight's skills?";
+ goto L_Cont1;
+
+ sM_2b:
+ set @score, @score - 5;
+ mes "[Sir Grey]";
+ mes "What? Swordsman are the strongest of the 1st job classes. A Knight's strength is the progression of a Swordsman's strength.";
+ next;
+ mes "[Sir Grey]";
+ mes "If you are a weak Swordsman, I can garauntee that you will be a weak Knight.";
+ goto L_Cont1;
+
+ sM_2c:
+ set @score, @score + 5;
+ mes "[Sir Grey]";
+ mes "Hahaha!. If you think it gets any easier as a Knight you're sadly mistaken my friend.";
+ mes "With the added skills and strength a Knight gets, comes added challenges.";
+ goto L_Cont1;
+
+ L_Cont1:
+ next;
+ mes "[Sir Grey]";
+ mes "Just a reminder, when you become a Knight you will NOT be able to change back into a Swordsman.";
+ next;
+ mes "[Sir Grey]";
+ mes "If you were to become a Knight right now, what would be the first thing you would do?";
+ next;
+ menu "I would go into battle.",sM_3, "Go back to the person who's waiting for me.",sM_4, "Learn more about Knights.",sM_5;
+
+ sM_3:
+ mes "[Sir Grey]";
+ mes "Okay... so you would battle and in doing so you would.....";
+ next;
+ menu "... become the strongest warrior.",sM_3a, "... find out how good I am.",sM_3b, "... go places where Swordsmen can't.",sM_3c;
+
+ sM_3a:
+ set @score, @score + 10;
+ mes "[Sir Grey]";
+ mes "Hold on there tiger. Don't get too eager now. You have to get the basics of Knighthood down first.";
+ mes "Without it you may become the weakest warrior around.";
+ goto L_Cont2;
+
+ sM_3b:
+ mes "[Sir Grey]";
+ mes "Yes! Understanding your strengths and weaknesses is a very important aspect of being a Knight.";
+ goto L_Cont2;
+
+ sM_3c:
+ mes "[Sir Grey]";
+ mes "As a Knight you will be able to train in places you couldn't as a Swordsman.";
+ mes "But becarefull. If you move to fast you may find yourself in a world of trouble.";
+ goto L_Cont2;
+
+ sM_4:
+ mes "[Sir Grey]";
+ mes "Who's waiting for you?";
+ next;
+ menu "A friend.",sM_4a, "A Villager.",sM_4b, "My girlfriend/boyfriend.",sM_4c;
+
+ sM_4a:
+ mes "[Sir Grey]";
+ mes "Yes, he/she will be happy to see you. Now you will be able to protect your freind when he/she is in danger.";
+ goto L_Cont2;
+
+ sM_4b:
+ mes "[Sir Grey]";
+ mes "A villager...... oh... ";
+ goto L_Cont2;
+
+ sM_4c:
+ mes "[Sir Grey]";
+ mes "Oh I see! Did you become a knight because of your this person?";
+ next;
+ mes "[Sir Grey]";
+ if(sex == 1) mes "I hope you will be able to protect her anytime and anywhere!";
+ if(sex == 0) mes "I hope you will be able to protect him anytime and anywhere!";
+ next;
+ mes "[Sir Grey]";
+ mes "Good luck to you and your loved one.";
+ goto L_Cont2;
+
+ sM_5:
+ mes "[Sir Grey]";
+ mes "What else do you want to know?";
+ next;
+ menu "The safest place for a Knight to be.",sM_5a, "A place where a knight can train.",sM_5b, "A place where a knight can earn a lot of cash.",sM_5c;
+
+ sM_5a:
+ set @score, @score + 5;
+ mes "[Sir Grey]";
+ mes "There's no place in this world thats truly safe. Especially for a Knight.";
+ mes "A Knight is always expected to fight the strongest and most fearsome monsters";
+ goto L_Cont2;
+
+ sM_5b:
+ mes "[Sir Grey]";
+ mes "Ask other Knights around Rune-Midgard for advice. You're sure to get some good tips.";
+ goto L_Cont2;
+
+ sM_5c:
+ set @score, @score + 15;
+ mes "[Sir Grey]";
+ mes "The role of a Knight is NOT to make lots and lots of money! A Knight has the duty to serve and protect the citizens of Rune-Midgard.";
+
+ L_Cont2:
+ next;
+ mes "[Sir Grey]";
+ mes "Well that's it. This is the end of my test and the final test in your quest to become a Knight.";
+ mes "Let me now give you my decision.....";
+ next;
+
+ if (@score == 0) goto L_1;
+ if (@score == 5) goto L_2;
+ if (@score == 10) goto L_3;
+
+ L_0:
+ set KNIGHT_Q2, 1;
+ mes "[Sir Grey]";
+ mes "Although I enjoyed speaking with you today.....";
+ next;
+ mes "[Sir Grey]";
+ mes "I'm afraid that you are not ready for Knighthood.";
+ mes "I think it would be best for you to stay a Swordman for the time being.";
+ next;
+ mes "[Sir Grey]";
+ mes "Being a Knight requires not only strength, but discipline and ethical values as well.";
+ mes "A Knight has the duty to protect and help others therefore he/she must be of sound mind and body.";
+ next;
+ mes "[Sir Grey]";
+ mes "Your answers did not seem to represent the type of attributes we look for in a Knight candidate.";
+ next;
+ mes "[Sir Grey]";
+ mes "If you really want to become a Knight, I suggest you spend some more time contemplating the idea then come back to me.";
+ close;
+
+ L_1:
+ set KNIGHT_Q, 7;
+ set KNIGHT_Q2, 0;
+ mes "[Sir Grey]";
+ mes "I am glad that I got a chance to speak with someone such as yourself. You remind me of myself when i was young. Heh heh heh.";
+ next;
+ mes "[Sir Grey]";
+ mes "More importantly...., CONGRATULATIONS!";
+ next;
+ mes "[Sir Grey]";
+ mes "You have done an exellent job to make it this far and your answers proved that you are worthy of Knighthood.";
+ next;
+ mes "[Sir Grey]";
+ mes "You will make a fine Knight! Go to the Chivalry Captain Herman and allow him to bestow upon you the great honor of Knighthood.";
+ close;
+
+ L_2:
+ set KNIGHT_Q, 7;
+ set KNIGHT_Q2, 0;
+ mes "[Sir Grey]";
+ mes "It was nice to talk to you. As a Knight, I expect that you will expand your mind and fullfill your potential.";
+ next;
+ mes "[Sir Grey]";
+ mes "That's right. You have passed my test and are now ready to be Knighted. Congratulations!";
+ next;
+ mes "[Sir Grey]";
+ mes "Now go to Chivalry Captain Herman and allow him to bestow upon you the great honor of Knighthood.";
+ close;
+
+ L_3:
+ set KNIGHT_Q, 7;
+ set KNIGHT_Q2, 0;
+ mes "[Sir Grey]";
+ mes "Although I appreciate your candir in answering my questions, to be honest, I am a bit worried about what I heard.";
+ next;
+ mes "[Sir Grey]";
+ mes "Still, you seem to have enough attributes that are consistent with what we are looking for in a Knight candidate.";
+ next;
+ mes "[Sir Grey]";
+ mes "I'm sure with hard work and dedication you will make a fine Knight. Congratulations! You have passed my test.";
+ next;
+ mes "[Sir Grey]";
+ mes "Now go to Chivalry Captain Herman and allow him to bestow upon you the great honor of Knighthood.";
+ close;
+
+ M_End:
+ close;
+}
+
+
+//==============================================================================
+// mapflag
+//==============================================================================
+job_knt.gat mapflag nomemo
+job_knt.gat mapflag noteleport
+job_knt.gat mapflag nosave SavePoint
+job_knt.gat mapflag nopenalty
+job_knt.gat mapflag nobranch
+job_knt.gat mapflag noexp
+job_knt.gat mapflag noloot
diff --git a/npc/jobs/2-1/priest.txt b/npc/jobs/2-1/priest.txt new file mode 100644 index 000000000..bc01d73d4 --- /dev/null +++ b/npc/jobs/2-1/priest.txt @@ -0,0 +1,1330 @@ +//===== eAthena Script =======================================
+//= Priest Quest
+//===== By: ==================================================
+//= Translated By: Pgro Team (OwNaGe)(Aegis)
+//= Converted by: kobra_k88.
+//= Further bugfixed and tested by Lupus
+//===== Current Version: =====================================
+//= 1.6
+//===== Compatible With: =====================================
+//= eAthena 1.0
+//===== Description: =========================================
+//= Official RO Priest Quest converted from Aegis script.
+//===== Additional Comments: =================================
+//= Fully working. Changed the way Priests enter the test room to help Acos.
+//= Must use this with the included Acolyte quest to work properely.
+//= 1.3 Added Baby Class support, fixed 3 wrong constants bugs [Lupus]
+//= 1.5 Fixed possible EXP abuse [Lupus]
+//= 1.6 Added a func which prevent advanced classes passing
+//= 2nd Job Quests again. It also guides adv classes where
+//= to go. [Lupus]
+==========================================================
+
+
+//*********************************************************************************************************************************************************************************\\
+//============================================ Father Thomas: Job changer, Test 1 =============================================\\
+//*********************************************************************************************************************************************************************************\\
+prt_church.gat,16,41,4 script Father Thomas 60,{
+ callfunc "F_BlockHigh",28,"Acolyte High",32,"High Priest","Father Thomas";
+
+ mes "[Father Thomas]";
+ if (BaseJob == Job_Acolyte) goto L_Start;
+ callfunc "Pri_check";
+ close;
+
+
+L_Start:
+ if (PRIEST_Q == 1) goto L_Test1;
+ if (PRIEST_Q == 2) goto L_Test2;
+ if (PRIEST_Q == 3) goto L_Test3;
+ if (PRIEST_Q == 4) goto L_Change;
+ mes "God bless you, child. What brings you here?";
+ next;
+ menu "I want to become a priest.",M_2a, "Can you please tell me about Priests.",M_2b, "I just wanted to see how you were doing.",M_2End;
+
+ M_2a:
+ mes "[Father Thomas]";
+ mes "Oh... so you want to become a priest? God bless you for your determination.";
+ next;
+ mes "[Father Thomas]";
+ mes "I'm Father Thomas. I'm in charge of protecting Prontera from the evil spirits that plague the lands of Rune Midgard.";
+ next;
+ mes "[Father Thomas]";
+ mes "Please fill out this application form so that I can review your qualifications for becoming a Preist.";
+ next;
+ mes "(you fill out the form and hand it back)";
+ next;
+ mes "[Father Thomas]";
+ if (JobLevel < 40) goto sL_LowLvl;
+ if (JobLevel == 50) goto sL_HighLvl;
+ mes "Ah, very good " + strcharinfo(0) + ". Let me now tell you about the tasks you will have to fullfill in order to become a Priest.";
+ next;
+ mes "[Father Thomas]";
+ mes "The first task will be to find and speak with 3 very wise Clerics. They are located in various parts of Rune Midgard.";
+ next;
+ mes "[Father Thomas]";
+ mes "The second task will consist of 3 trials. In the first trial you must face the undead.";
+ mes "The second trial will test your ability to resist temptation and avoid corruption. The third trial you will have to figure out for yourself.";
+ next;
+ mes "[Father Thomas]";
+ mes "After you finish the 2 tasks, there will be a final test with Sister Cecile. Pass it and you can become a Priest.";
+ next;
+ mes "[Father Thomas]";
+ set JBLVL, 40;
+ goto L_Test1;
+
+ sL_LowLvl:
+ mes "I'm sorry but you cannot become a Priest at this moment. You need to have a job level of at least 40.";
+ next;
+ mes "[Father Thomas]";
+ mes "Please strengthen your faith in God by performing more good deeds.";
+ mes "I hope when the time is right, you'll be back... I will be waiting for you here.";
+ close;
+
+ sL_HighLvl:
+ mes "Wow, your already at job lvl 50. I'm amazed at your dedication and hard work!";
+ emotion 0;
+ next;
+ mes "[Father Thomas]";
+ mes "Because of this I will allow you to skip the first task. How about we start the second task instead?";
+ next;
+ mes "[Father Thomas]";
+ mes "I believe with your power, you can overcome this task easily...";
+ mes "But if you work with a Priest, i think you will learn more and do a lot better.";
+ next;
+ mes "[Father Thomas]";
+ set PRIEST_Q, 2;
+ set JBLVL, 50;
+ goto L_Test2;
+ M_2b:
+ mes "[Father Thomas]";
+ mes "Priests are also followers of God. They are highly trained and are much more powerful than Acolytes.";
+ next;
+ mes "[Father Thomas]";
+ mes "To become a priest, you must have at least a job lvl 40. You will then have to pass a series of tests in order to prove yourself.";
+ next;
+ mes "[Father Thomas]";
+ mes "If you become a Priest, you will become very important to evey other job class.";
+ next;
+ mes "[Father Thomas]";
+ mes "You must NEVER help someone for any sort of profit or self gain. To be a Priest is to be selfless.";
+ next;
+ mes "[Father Thomas]";
+ mes "We Priest have only one objective, and that is to help others...";
+ close;
+ M_2End:
+ mes "[Father Thomas]";
+ mes "Oh is that the case?... Well I'm fine thank you.";
+ mes "Please don't forget your duties as an Acolyte, and be carefull not to stray off the path to salvation.";
+ next;
+ mes "[Father Thomas]";
+ mes "I hope you will visit again soon, and please tell me how the other Acolytes are doing. May God be by your side...";
+ close;
+
+
+
+L_Test1:
+ if (PRIEST_Q2 == 1) goto L_NotDone1a;
+ if (PRIEST_Q2 == 2) goto L_NotDone1b;
+ if (PRIEST_Q2 == 3) goto L_NotDone1c;
+ if (PRIEST_Q2 == 4) goto L_Done1;
+ mes "Okay, let me tell you what you have to do for the first task.";
+ next;
+ mes "[Father Thomas]";
+ mes "First you will have to find ^5533FFFather Rubalkubara^000000, he is located 1 map North and 2 maps East of Prontera, near St. Capitolina Abbey.";
+ next;
+ mes "[Father Thomas]";
+ mes "Next you will have to find ^5533FFMother Matilda^000000. She is located somewhere 1 map North of Morroc.";
+ next;
+ mes "[Father Thomas]";
+ mes "Last but not least, you will have to find ^5533FFFather Yosuke^000000.";
+ mes "I heard that Father Yosuke is often seen on an tiny island 2 maps West and 1 map North of Prontera.";
+ next;
+ mes "[Father Thomas]";
+ mes "Please becareful on your journey. If you have any questions you may speak with me again.";
+ mes "Remeber to check back with me when you have completed the first task.";
+ next;
+ mes "[Father Thomas]";
+ mes "May God Be with you...";
+ set PRIEST_Q, 1;
+ set PRIEST_Q2, 1;
+ close;
+
+ L_NotDone1a:
+ mes "What? Why are you still here? Did you forget the first task?";
+ next;
+ menu "Yes, can you please tell me about the first task again?",sM_3a, "NO! how can I forget.",sM_3End;
+
+ sM_3a:
+ mes "[Father Thomas]";
+ mes "Hmm... if you're having trouble with this task, I fear that you will have an even harder time with the others....";
+ next;
+ mes "[Father Thomas]";
+ mes "Please visit ^5533FFFather Rubalkubara^000000. He is located 1 map North and 2 maps East of Prontera near St. Capitolina Abbey.";
+ close;
+
+ sM_3End:
+ mes "[Father Thomas]";
+ mes "Oh if you have any questions, please speak with Sister Cecila near the entrance.";
+ next;
+ mes "[Father Thomas]";
+ mes "Please hurry and becareful on your journey. May the lord look down and smile upon you....";
+ close;
+ L_NotDone1b:
+ mes "Hmmm??";
+ emotion 1;
+ next;
+ mes "[Father Thomas]";
+ mes "Have you gone to see ^5533FFMother Marthilda^000000 yet? She can be found near Morroc in the Sogart Desert.";
+ mes "Even though Morroc is far away, I know you will be able to find her.";
+ close;
+
+ L_NotDone1c:
+ mes "Have you seen Mother Marthilda in Morroc? In that case you must now go see ^5533FFFather Yosuke^000000.";
+ mes "He is located on tiny island 2 maps West and 1 map North of Prontera. You must go and speak with him!.";
+ close;
+
+ L_Done1:
+ mes "So you spoken with all of the Clerics? Good job, you just completed the first task.";
+ next;
+ mes "[Father Thomas]";
+ mes "Now lets start the second task. Be prepared to face great evils.. If you want, you can ask a Priest to assist you with this test.";
+ set PRIEST_Q, 2;
+ set PRIEST_Q2, 0;
+ next;
+ mes "[Father Thomas]";
+
+L_Test2:
+ if(PRIEST_Q2 == 1) goto L_ReTest2;
+ if(PRIEST_Q2 == 2) goto L_Done2;
+ mes "So are you ready to start the second task?";
+ M_Menu:
+ next;
+ menu "Yes, lets start.",M_4a, "Let me get ready, i'll be back later.",M_4End;
+
+ M_4a:
+ mes "[Father Thomas]";
+ mes "Very well. Let me send you to ^5544FFFather Peter^000000. Once there speak to him about the second task.";
+ next;
+ set PRIEST_Q2, 1;
+ warp "job_prist.gat", 24, 180;
+ savepoint "prt_church.gat", 16, 37;
+ end;
+
+ M_4End:
+ mes "[Father Thomas]";
+ mes "Okay, please get ready and come back soon. I hope you will be able to make it through the trials without many problems.";
+ close;
+
+ L_ReTest2:
+ mes "You look really tired... but guess what, you'll be even more tired when you've become a Priest.";
+ mes "Please don't give up. Do you want to try the task again?";
+ goto M_Menu;
+
+ L_Done2:
+ mes "Great job. If have endured all of the trials and have passed the second test.";
+ mes "If you can pass the last test, I trully belive that you will be one of the best Priests ever!";
+ next;
+ mes "[Father Thomas]";
+ mes "Now, for the final test, please go speak with ^5533FFSister Cecile^000000. Once you have passed it come see me.";
+ next;
+ mes "[Father Thomas]";
+ mes "I'll be waiting here. Good luck my child.";
+ set PRIEST_Q, 3;
+ set PRIEST_Q2, 0;
+ close;
+
+L_Test3:
+ mes "Go speak with ^5533FFSister Cecile^000000 and complete the last test.";
+ next;
+ mes "[Father Thomas]";
+ mes "Good luck. I'll be waiting to hear the good news..";
+ close;
+
+
+L_Change:
+ if (SkillPoint > 0) mes "Wait. You must use up your skill points in order to become a Priest.";
+ if (SkillPoint > 0) close;
+ mes "Congratulations! You have just completed all of the tests. I can now turn you into a Priest.";
+ emotion 21;
+ next;
+ mes "[Father Thomas]";
+ mes "God, please endow "+strcharinfo(0)+" with the strength and courage to fight evil and help mankind.";
+ next;
+ callfunc "Job_Change",Job_Priest;
+ mes "[Father Thomas]";
+ mes "You are now a Priest. As a Priest, you can now help a lot of people in the name of God.";
+ next;
+ if (JBLVL != 50) getitem 1550, 1;
+ if (JBLVL == 50) getitem 1551, 1;
+ callfunc "F_ClearJobVar"; // clears all job variables for the current player
+ mes "[Father Thomas]";
+ mes "Here, take this book as a reward for successfully completing the tests. This book will help you understand more about God.";
+ next;
+ mes "[Father Thomas]";
+ mes "I hope you can help serve as a role model for young Acolytes all over Rune Midgard.";
+ mes "Please be a good Priest and help bring peace to this world!";
+ close;
+}
+
+
+//----------------------------------------------------------------------------------------------------------------------------------------------------------\\
+// Test 1 \\
+//********************************************************************************************************************************\\
+// Function: Father Rubalkabara --------------------------------------------------------------------------
+function script F_FatherRub {
+ if(PRIEST_Q == 1 && PRIEST_Q2==1) goto L_Test;
+ if(PRIEST_Q==1 && PRIEST_Q2 > 1) goto L_Done;
+ mes "It's good to see you again. I expect all is well? Continue on your path of helping others and serving God, and let us pray for humanities salvation.";
+ close;
+
+L_Test:
+ mes "Ah hello there....";
+ next;
+ mes "[Father Rubalkabara]";
+ mes "What's this? You're here because you wish to serve God in an even greater capacity?";
+ emotion 1;
+ next;
+ menu "Yes, I believe Priesthood is the right path.",-, "No, not really.... just came to say hi.",M_No;
+
+ mes "[Father Rubalkabara]";
+ mes "Haha! Very good. We need more people like yourself in order for this world to survive the evils that haunt it.";
+ emotion 21;
+ next;
+ mes "[Father Rubalkabara]";
+ mes "Because of your pure heart I will give you my blessing child. Please meet with ^5533FFMother Marthilda^000000 next.";
+ next;
+ mes "[Father Rubalkabara]";
+ mes "You can find her in the map just north of the town of Morroc. Have a safe journey and good luck on becoming a Priest.";
+ set PRIEST_Q2, 2;
+ close;
+ M_No:
+ mes "[Father Rubalkabara]";
+ mes "Oh... well then... hello to you too. Although it is nice to see a servant of God such as yourself, I'm a little busy right now so if you don't mind.....";
+ emotion 4;
+ close;
+
+L_Done:
+ mes "Please see ^5533FFMother Marthilda^000000 next. Good luck with your journey to becoming a Priest";
+ close;
+}
+
+// Function: Mother Marthilda --------------------------------------------------------------------------
+function script F_MotherMart {
+
+ if(PRIEST_Q==1 && PRIEST_Q2==2) goto L_Test;
+ if(PRIEST_Q==1 && PRIEST_Q2 > 2) goto L_Done;
+ mes "Oh my... It's been a while since I've seen you. My how you've grown. It's nice to see one of God servants continuing to improve.";
+ mes "I wish you continued success child, and always remember to have faith.";
+ close;
+
+L_Test:
+ mes "Ah, you're here for the Priest test aren't you? I must say, you did a very good job in comming all this way.";
+ next;
+ mes "[Mother Marthilda]";
+ mes "That shows that you have true faith! It is my pleasure to allow you to continue on with your test.";
+ next;
+ mes "[Mother Marthilda]";
+ mes "You must now go see ^5533FFFather Yosuke^000000. He is 1 map North and 2 maps East of Prontera. I'm sure you will make a fine Priest!";
+ set PRIEST_Q2, 3;
+ close;
+
+L_Done:
+ mes "To complete your task you must go find ^5533FFFather Yosuke^000000. Please be carefull and remeber to pray.";
+ close;
+}
+
+// Function: Father Yosuke --------------------------------------------------------------------------
+function script F_FatherYos {
+
+ if(PRIEST_Q==1 && PRIEST_Q2==3) goto L_Test;
+ if(PRIEST_Q==1 && PRIEST_Q2==4) goto L_Done;
+ mes "Just because you're a servant of God doesn't mean you can come here and bother me. Please leave...";
+ close;
+
+L_Test:
+ mes "Hmm...? Did you need something? Oh the Priest test..... are you sure you're up for that?";
+ emotion 1;
+ next;
+ mes "[Father Yosuke]";
+ mes "Meh, very well. I will let you pass. Go back to the church and speak with Father Thomas. Your duty here as been fulfilled";
+ set PRIEST_Q2, 4;
+ close;
+
+L_Done:
+ mes "Ugh? What are you still doing here...? I said to go back to the church.... I'm very busy right now....";
+ emotion 1;
+ close;
+}
+
+
+//**********************************************************************************************************************************************************************************\\
+//================================================== Father Peter: Test 2 ====================================================\\
+//**********************************************************************************************************************************************************************************\\
+job_prist.gat,24,186,4 script Father Peter 110,{
+
+L_Start:
+ mes "[Father Peter]";
+ mes "God bless you!! Welcome back!";
+ mes "First i want to congratulated you for passing the first level.";
+ next;
+ mes "[Father Peter]";
+ mes "My name is Peter.";
+ mes "Hows, Thomas these days?";
+ next;
+ mes "[Father Peter]";
+ mes "Oh, so he's a father now eh? hahah...";
+ mes "I think i should call him Father Thomas!";
+ next;
+ mes "[Father Peter]";
+ mes "So you know why your here right? Your next test will be to overcome a series of trials involving the darkest of evils.";
+ mes "Do you understand what this means?";
+ next;
+ menu "Yes, I do.",-, "No, I don't quite know it..?",M_1b;
+
+ mes "[Father Peter]";
+ mes "Wow, your' pretty smart, but i think its better for you to listen to the things i got to say.";
+ mes "heheh!";
+ goto L_Cont;
+ M_1b:
+ mes "[Father Peter]";
+ mes "Oh, is that so, i think i'll need to explain it to you.";
+ mes "After listening to what i have to say, i think you'll understand.";
+ next;
+
+ L_Cont:
+ mes "[Father Peter]";
+ mes "What is overcoming evil? its basically destroying it.";
+ mes "What is evil? its basically devil, ghosts etc...";
+ next;
+ mes "[Father Peter]";
+ mes "There's a lot of evil in this world.";
+ mes "The evil usually tease people that prey to God.";
+ next;
+ mes "[Father Peter]";
+ mes "We priests are supposed to get rid of all the evil!";
+ mes "thats the only way we can bring peace to this world!";
+ next;
+ mes "[Father Peter]";
+ mes "If you are trully dedicated, then these trials should not pose that great of a challenge.";
+ mes "Even so, I you feel it necessary you may ask a Priest to assist you in this test.";
+ next;
+ mes "[Father Peter]";
+ mes "Well, can we start now?";
+ M_Menu:
+ next;
+ menu "Yes.",M_2a, "Wait a minute.",M_2b, "I want to go back to town.",M_2c;
+
+ M_2a:
+ mes "[Father Peter]";
+ mes "Okay, just enter the waiting room.";
+ close;
+
+ M_2b:
+ mes "[Father Peter]";
+ mes "Oh you need to get ready eh?";
+ mes "No problem you can start the quest when your ready.";
+ close;
+ M_2c:
+ mes "[Father Peter]";
+ mes "What? you want to go back? but you just arrived?";
+ mes ".....";
+ next;
+ mes "[Father Peter]";
+ mes "Maybe because its your first time thats why your scared.";
+ mes "You can come back when you get more courage.";
+ next;
+ warp "prt_church.gat", 16, 37;
+ close;
+
+OnInit:
+ waitingroom "Priest Test Waiting Room",8,"Father Peter::OnStart",1;
+ end;
+OnStart:
+ set $@PrstUsers, getareausers("job_prist.gat", 8, 34, 39,109);
+ set $@PrstUsers, $@PrstUsers + getareausers("job_prist.gat", 160, 14, 175, 178);
+ set $@PrstUsers, $@PrstUsers + getareausers("job_prist.gat", 90, 34, 105,105);
+ if($@PrstUsers > 0) end; // stops the rest of the script from running if there is already another player taking the test
+
+ if((getwaitingroomstate(33)) == 0) end; // stops the rest of the script from running if there is no one in the waiting room
+ disablenpc "prst1_1"; //disables the exit warp
+ disablenpc "prst2_1";
+ warpwaitingpc "job_prist.gat", 24, 44;
+ killmonsterall "job_prist.gat";
+ donpcevent "PrstTest2_1";
+ end;
+}
+
+
+//----------------------------------------------------------------------------------------------------------------------------------------------------------\\
+// Test 2, Part 1: Kill the Zombies \\
+//********************************************************************************************************************************\\
+job_prist.gat,1,1,1 script PrstTest2_1 -1,{
+ set $@PrstRm, 1; //used to determine what areawarp and areaannounce to use
+ enablenpc "Zombie1_Trig";
+ enablenpc "Zombie2_Trig";
+ enablenpc "Zombie3_Trig";
+ enablenpc "Zombie4_Trig";
+ enablenpc "Zombie5_Trig";
+ set $@mob, 13;
+ initnpctimer;
+ end;
+
+OnMobDead:
+ set $@mob, $@mob - 1;
+ if($@mob > 0) end;
+
+ enablenpc "prst1_1";
+ areaannounce "job_prist.gat",8,34,39,109,"[Father Peter]: Well done my child. Enter the warp to start the next test.",8;
+ initnpctimer "prst1_1"; //starts a 30 sec timer. this will warp the player even if they don't enter the warp to keep the test going
+ end;
+
+OnTimer500:
+ areaannounce "job_prist.gat",8,34,39,109,"[Father Peter]: In order to pass this trial, you will have to kill all of the zomibes that appear.",8;
+ end;
+OnTimer2500:
+ stopnpctimer;
+ initnpctimer "TimerPrst"; // starts the 5 min test timer
+ areaannounce "job_prist.gat",8,34,39,109,"[Father Peter]: Move slowly and take your time.",8;
+ end;
+}
+
+// These hidden warps spawn the monsters when you walk
+// First set of Zombies------------------------------------------------------------
+job_prist.gat,23,52,1 script Zombie1_Trig 139,16,0,{
+
+ monster "job_prist.gat",24,52,"Robbery",1015,1,"PrstTest2_1::OnMobDead";
+ monster "job_prist.gat",18,52,"Evilness",1015,1,"PrstTest2_1::OnMobDead";
+ monster "job_prist.gat",30,52,"Jealousy",1015,1,"PrstTest2_1::OnMobDead";
+ disablenpc "Zombie1_Trig"; //disables the npc so that it can't spawn the monsters more than once
+ end;
+}
+
+// Second set of Zombies----------------------------------------------------
+job_prist.gat,23,62,1 script Zombie2_Trig 139,16,0,{
+
+ monster "job_prist.gat",21,62,"Anger",1015,1,"PrstTest2_1::OnMobDead";
+ monster "job_prist.gat",27,62,"Wonderness",1015,1,"PrstTest2_1::OnMobDead";
+ disablenpc "Zombie2_Trig";
+ end;
+}
+
+// Third set of Zombies--------------------------------------------------------
+job_prist.gat,23,72,1 script Zombie3_Trig 139,16,0,{
+
+ monster "job_prist.gat",24,72,"Cockyness",1015,1,"PrstTest2_1::OnMobDead";
+ monster "job_prist.gat",18,72,"Slutty",1015,1,"PrstTest2_1::OnMobDead";
+ monster "job_prist.gat",30,72,"Lazyness",1015,1,"PrstTest2_1::OnMobDead";
+ disablenpc "Zombie3_Trig";
+ end;
+}
+
+// Fourth set of Zombies--------------------------------------------------------
+job_prist.gat,23,82,1 script Zombie4_Trig 139,16,0,{
+
+ monster "job_prist.gat",21,82,"Greed",1015,1,"PrstTest2_1::OnMobDead";
+ monster "job_prist.gat",27,82,"Greedyness",1015,1,"PrstTest2_1::OnMobDead";
+ disablenpc "Zombie4_Trig";
+ end;
+}
+
+// Fifth set of Zombies ---------------------------------------------------------
+job_prist.gat,23,92,1 script Zombie5_Trig 139,16,0,{
+
+ monster "job_prist.gat",24,92,"Faithless",1015,1,"PrstTest2_1::OnMobDead";
+ monster "job_prist.gat",18,92,"Non-believer",1015,1,"PrstTest2_1::OnMobDead";
+ monster "job_prist.gat",30,92,"Scaryness",1015,1,"PrstTest2_1::OnMobDead";
+ disablenpc "Zombie5_Trig";
+ end;
+}
+
+
+// End warp for 1st part of test--------------------------------------------------------------------
+job_prist.gat,24,109,1 script prst1_1 45,3,3,{
+
+ if(BaseJob == Job_Priest) end; //If a Priest friend steps on the warp nothing happens. Need the aco to step on the warp.
+OnTimer30000:
+ stopnpctimer;
+ areawarp "job_prist.gat",8,34,39,109,"job_prist.gat",168,17;
+ killmonsterall "job_prist.gat";
+ donpcevent "PrstTest2_2::OnStart";
+ end;
+}
+
+
+//----------------------------------------------------------------------------------------------------------------------------------------------------------\\
+// Test 2, Part 1: Resist Temptation \\
+//********************************************************************************************************************************\\
+job_prist.gat,1,1,0 script PrstTest2_2 -1,{
+
+OnStart:
+ enablenpc "Devi_Trig"; //enables these npc's just in case they were disabled by a previous tester
+ enablenpc "Deviruchi";
+ enablenpc "Doppel_Trig";
+ enablenpc "Doppel";
+ enablenpc "Dark_Trig";
+ enablenpc "Dark Lord";
+ enablenpc "Bapho_Trig";
+ enablenpc "Baphomet";
+ set $@PrstRm, 2;
+ set $PRIEST_Q3, 0;
+ initnpctimer;
+ end;
+
+OnCheck:
+ set $PRIEST_Q3, $PRIEST_Q3 + 1; //this counter checks to see if the player spoke with each devil and answered the questions
+ if($PRIEST_Q3 < 4) end;
+
+ enablenpc "prst2_1";
+ areaannounce "job_prist.gat", 160, 14, 175, 178, "[Father Peter]: Excellent! You have shown great courage! Use the warp to move on to the next room.",8;
+ initnpctimer "prst2_1"; //starts a 30 sec timer. this will warp the player even if they don't enter the warp to keep the test going
+ end;
+
+OnTimer500:
+ stopnpctimer;
+ areaannounce "job_prist.gat", 160, 14, 175, 178, "[Father Peter]: This trial will test the strength of your will and your commitment to God!",8;
+ end;
+
+}
+
+
+// Deviruchi ------------------------------------------------------------------------
+job_prist.gat,168,45,4 script Deviruchi 738,{
+
+OnStart:
+ if(BaseJob == Job_Acolyte) goto L_Aco;
+
+L_Priest:
+ mes "[Deviruchi]";
+ mes "Hey, whats priest like you doing in a place like this? go back to town. You like wasting you time here eh?";
+ next;
+ mes "[Deviruchi]";
+ mes "I feel happy today, so i'll spare you, now go. Next time you come, I'm gonna take to you down.";
+ close;
+
+L_Aco:
+ mes "[Deviruchi]";
+ mes "Hey, isn't that a acolyte? i haven't seen one in ages. Looks like you're going to become a priest soon...";
+ next;
+ mes "[Deviruchi]";
+ mes "I can tell how sad it is to become a servant of God. I think its weird that you're here.";
+ next;
+ mes "[Deviruchi]";
+ mes "The path your walking is going to be difficult. Isn't there better jobs you can be?";
+ next;
+ mes "[Deviruchi]";
+ mes "Doesn't matter if its in a town, in a cave, all the people always asks you to help them. Itsn't funny that they never helped you?";
+ next;
+ mes "[Deviruchi]";
+ mes "I'll give you an advice, you should give up now. The tests will be hard, and the path you're gonna walk will be difficult.";
+ next;
+ menu "Yea, I'm going to give up.",-, "Devil, Be gone NOW!.",M_1a;
+
+ mes "[Deviruchi]";
+ mes "Yeap thats a good choice, you don't have to come to this place again! Since you decided to give up, i'll give you a present.";
+ next;
+ mes "[Deviruchi]";
+ mes "I'll let you meet my friends...FOR FREE HAHAHAHAH!";
+ next;
+ warp "c_tower2.gat", 168, 33;
+ end;
+ M_1a:
+ mes "[Deviruchi]";
+ mes "Oh.. I'm so scared..hahaha. Don't be like this, listen to what i have to say.";
+ next;
+ mes "[Deviruchi]";
+ mes "If you give up now, i'll give you a nice gift. This gift is so hard to find.";
+ next;
+ cutin "¹Ì½ºÆ®·¹½ºÄ«µå.bmp",4;
+ mes "[Deviruchi]";
+ mes "Do you think you can find a card like that? Decide now, don't regret when you become a priest...";
+ next;
+ menu "I accept your card.",-, "Devil, Be GONE!!",sM_1a;
+
+ mes "[Deviruchi]";
+ mes "Hahaha all the human beings are like this, good choice! Okay, let me give you this card!";
+ next;
+ cutin "¹Ì½ºÆ®·¹½ºÄ«µå.bmp",255;
+ mes "[Deviruchi]";
+ mes "Well, too bad i can't give it to you. Go look for it YOURSELF!";
+ next;
+ warp "mjolnir_05.gat", 200, 200;
+ end;
+ sM_1a:
+ cutin "¹Ì½ºÆ®·¹½ºÄ«µå.bmp",255;
+ mes "[Deviruchi]";
+ mes "Wow, your one tough acolyte, if you keep denying you better becareful.";
+ mes "I will be watching, I'll see if you can become a good priest or not.";
+ next;
+ mes "[Deviruchi]";
+ mes "One day, you'll regret and want to come back to me!";
+ disablenpc "Devi_Trig"; //disables the trigger npc so you don't accidentally activate it again
+ disablenpc "Deviruchi";
+ donpcevent "PrstTest2_2::OnCheck";
+ close;
+}
+
+// Doppelganger ------------------------------------------------------------------------------
+job_prist.gat,168,80,4 script Doppelganger::Doppel 739,{
+
+OnStart:
+ if(BaseJob == Job_Acolyte) goto L_Aco;
+
+L_Priest:
+ mes "[Doppelganger]";
+ mes "What good is it to be here?.";
+ mes "Are you this bored? you're already a priest why are you here?.";
+ next;
+ mes "[Doppelganger]";
+ mes "You don't need to help these acolytes, go home.";
+ mes "You're doing something that is wasting your time, leave now.";
+ close;
+L_Aco:
+ mes "[Doppelganger]";
+ mes "Hey, Acolyte wait, listen to what i have to say.";
+ next;
+ mes "[Doppelganger]";
+ mes "You came here because you want to become a priest eh?";
+ mes "I don't think you should become a priest.";
+ next;
+ mes "[Doppelganger]";
+ mes "If you want, i can use my powers to let you start over again.";
+ mes "You can become a novice again, and you can choose what job you want to be.";
+ next;
+ mes "[Doppelganger]";
+ mes "Well, the job you choose depends on your level hhehe.";
+ mes "Isn't this a good deal? if you want i can help you right now.";
+ next;
+ menu "I hope you can help me!",-, "Devil Be gone!",M_1b;
+
+ mes "[Doppelganger]";
+ mes "Yes thats a good choice.";
+ mes "Let me turn you into a novice now.";
+ next;
+ mes "[Doppelganger]";
+ mes "You know it takes a long time to ressurect when you DIE!!";
+ next;
+ warp "gef_dun02.gat", 210, 177;
+ end;
+ M_1b:
+ mes "[Doppelganger]";
+ mes "I don't think you understand what i mean.";
+ mes "This is one of the best things that can happen to you.";
+ next;
+ mes "[Doppelganger]";
+ mes "You just need to tell me that you don't want to become a priest.";
+ mes "If you do that, i can turn you into any job you want, you want to become a swordman like me?";
+ next;
+ menu "I don't want to become a priest!",-, "Devil, Be GONE!",sM_1b;
+
+ mes "[Doppelganger]";
+ mes "good choice, you don't need to come back here anymore.";
+ mes "okay, let me turn you into a novice now...";
+ next;
+ mes "[Doppelganger]";
+ mes "You know its takes a long time to ressurect when you DIE??!!";
+ next;
+ warp "gef_dun02.gat", 210, 177;
+ end;
+ sM_1b:
+ mes "[Doppelganger]";
+ mes "okay fine, i'll spare you today.";
+ next;
+ mes "[Doppelganger]";
+ mes "If i see you next time, I'm gonna make you die painfully.";
+ disablenpc "Doppel_Trig";
+ disablenpc "Doppel";
+ donpcevent "PrstTest2_2::OnCheck";
+ close;
+}
+
+// Dark Lord -------------------------------------------------------------------------------
+job_prist.gat,168,115,4 script Dark Lord 737,{
+
+OnStart:
+ if(BaseJob == Job_Acolyte) goto L_Aco;
+
+L_Priest:
+ mes "[Dark Lord]";
+ mes "Let you feel hatred and anger!!";
+ mes "Let you feel how it feels when your friend betrays you!";
+ next;
+ mes "[Dark Lord]";
+ mes "Stay here, and train with us and next; until you are strong enough then you can go back!";
+ mes "Stay with us and learn to curse!";
+ close;
+L_Aco:
+ mes "[Dark Lord]";
+ mes "Stop right there human!.";
+ mes "Whose permission do you have to pass through here!";
+ next;
+ mes "[Dark Lord]";
+ mes "If you want to become a priest, you can't pass through here,";
+ mes "Go now, before i kill you.";
+ next;
+ mes "[Dark Lord]";
+ mes "Even more annoying than ants you humans, leave and stop bothering me!";
+ next;
+ menu "I'm sorry, please spare me.",-, "Devil, Be GONE!.",M_1c;
+
+ mes "[Dark Lord]";
+ mes "Don't come here again!";
+ next;
+ warp "gl_church.gat", 145, 170;
+ end;
+ M_1c:
+ mes "[Dark Lord]";
+ mes "Don't try to act like a tough guy.";
+ mes "I can cut u in many pieces with my pinky.";
+ next;
+ mes "[Dark Lord]";
+ mes "Before i use my dark powers on you, leave!";
+ next;
+ menu "Please, Spare me.",-, "Devil, BE GONE!",sM_1c;
+
+ mes "[Dark Lord]";
+ mes "Don't appear here again!";
+ next;
+ warp "gl_church.gat", 145, 170;
+ end;
+ sM_1c:
+ mes "[Dark Lord]";
+ mes "So you decided to stay eh? you pesky human, killing you will dirty my hands.";
+ next;
+ mes "[Dark Lord]";
+ mes "If i see you again, I'm gonna kill you.";
+ disablenpc "Dark_Trig";
+ disablenpc "Dark Lord";
+ donpcevent "PrstTest2_2::OnCheck";
+ close;
+}
+
+// Baphomet -----------------------------------------------------------------------------
+job_prist.gat,168,150,4 script Baphomet 736,{
+
+OnStart:
+ if(BaseJob == Job_Acolyte) goto L_Aco;
+
+L_Priest:
+ mes "[Baphomet]";
+ mes "Annoying Priests...";
+ next;
+ mes "[Baphomet]";
+ mes "I have nothing to talk to you about, leave now.";
+ close;
+L_Aco:
+ mes "[Baphomet]";
+ mes "Hey, Human.";
+ next;
+ mes "[Baphomet]";
+ mes "You interested in a deal?";
+ next;
+ mes "[Baphomet]";
+ mes "I can get you all the rich and fame in this world.";
+ mes "Infinite money and weapons which no humans have...";
+ next;
+ mes "[Baphomet]";
+ mes "Also, if you want, you can always summon me.";
+ mes "If you did that, everyone will be afraid of you hahahaha.";
+ next;
+ mes "[Baphomet]";
+ mes "I think you should give up being a priest and just accept my deal.";
+ mes "If you accept my deal, the world is yours.";
+ next;
+ menu"I give up being a priest.",-, "Devil be GONE!",M_1d;
+
+ mes "[Baphomet]";
+ mes "Okay, let us sign the contract...";
+ mes "you will not forget this...";
+ next;
+ mes "[Baphomet]";
+ mes "You go find where i live.";
+ mes "When your there, come and sign the contract.";
+ next;
+ warp "glast_01.gat", 200, 203;
+ end;
+ M_1d:
+ mes "[Baphomet]";
+ mes "Okay fine, i'll leave.";
+ mes "But, you won't leave that easily.";
+ next;
+ mes "[Baphomet]";
+ mes "I already set up a lot of evil stuff for you...";
+ mes "I want to see how long you can last.";
+ next;
+ mes "[Baphomet]";
+ mes "OKay go now.";
+ disablenpc "Bapho_Trig";
+ disablenpc "Baphomet";
+ donpcevent "PrstTest2_2::OnCheck";
+ close;
+}
+
+
+// These hidden warps trigger the npcs when you get near them
+// Deviruchi Trigger --------------------------------------------------------------------
+job_prist.gat,167,40,1 script Devi_Trig 139,8,0,{
+
+ doevent "Deviruchi::OnStart";
+ end;
+}
+// Doppleganger Trigger --------------------------------------------------------------------
+job_prist.gat,167,77,1 script Doppel_Trig 139,8,0,{
+
+ doevent "Doppel::OnStart";
+ end;
+}
+// Dark Lord Trigger --------------------------------------------------------------------
+job_prist.gat,167,112,1 script Dark_Trig 139,8,0,{
+
+ doevent "Dark Lord::OnStart";
+ end;
+}
+// Baphomet Trigger --------------------------------------------------------------------
+job_prist.gat,167,145,1 script Bapho_Trig 139,8,0,{
+
+ doevent "Baphomet::OnStart";
+ end;
+}
+
+
+// End warp for 2nd part of test ---------------------------------------------------------
+job_prist.gat,168,180,0 script prst2_1 45,3,3,{
+
+ if(BaseJob == Job_Priest) end; //If a Priest friend steps on the warp nothing happens. Need the Aco to step on the warp.
+OnTimer30000:
+ set $@PrstRm, 3;
+ set $PRIEST_Q3, 0;
+ enablenpc "Mummy1_Trig"; //enables the floor triggers for the next test
+ enablenpc "Mummy2_Trig";
+ enablenpc "Mummy3_Trig";
+ stopnpctimer;
+ initnpctimer "prst3_1";
+ areawarp "job_prist.gat", 160, 14, 175, 178, "job_prist.gat", 98, 40;
+ end;
+}
+
+
+//----------------------------------------------------------------------------------------------------------------------------------------------------------\\
+// Test 2, Part 3: Make it to the exit \\
+//******************************************************************************************************************************* *\\
+// First set of Mummies --------------------------------------------------------
+job_prist.gat,97,50,0 script Mummy1_Trig 139,8,1,{
+
+ monster "job_prist.gat", 93, 55, "ca", 1041,1;
+ monster "job_prist.gat", 102, 55, "ah", 1041,1;
+ disablenpc "Mummy1_Trig";
+ end;
+}
+// Second set of Mummies --------------------------------------------------------
+job_prist.gat,97,65,0 script Mummy2_Trig 139,8,1,{
+
+ monster "job_prist.gat", 93, 70, "men", 1041,1;
+ monster "job_prist.gat", 102, 70, "ahke", 1041,1;
+ disablenpc "Mummy2_Trig";
+ end;
+}
+// Third set of Mummies --------------------------------------------------------
+job_prist.gat,97,80,0 script Mummy3_Trig 139,8,1,{
+
+ monster "job_prist.gat", 93, 85, "mea", 1041,1;
+ monster "job_prist.gat", 102, 85, "sne", 1041,1;
+ disablenpc "Mummy3_Trig";
+ end;
+}
+
+
+// End warp for 3rd part of test ----------------------------------------------
+job_prist.gat,98,105,0 script prst3_1 45,2,2,{
+
+ if(BaseJob == Job_Priest) end; //If a Priest friend steps on the warp nothing happens. Need the Aco to step on the warp.
+ stopnpctimer "TimerPrst";
+ areawarp "job_prist.gat", 90, 34, 105, 105, "prt_church.gat",16, 37;
+ set PRIEST_Q2, 2;
+ killmonsterall "job_prist.gat";
+ donpcevent "Father Peter::OnStart";
+ end;
+
+OnTimer500:
+ stopnpctimer;
+ areaannounce "job_prist.gat", 90, 34, 105,105, "[Father Peter]: This is the last trial you must face my child. Have faith, I know you can pass it!",8;
+ end;
+}
+
+
+//----------------------------------------------------------------------------------------------------------------------------------------------------------\\
+// Timer \\
+//********************************************************************************************************************************\\
+job_prist.gat,1,1,0 script TimerPrst -1,{
+
+OnTimer3000:
+ areaannounce "job_prist.gat",8,34,39,109,"[Father Peter]: You will have 5 minutes to pass all 3 trials starting now.",8;
+ end;
+OnTimer33000:
+ donpcevent "Father Peter::OnStart";
+ end;
+OnTimer63000:
+ set $@PrstTime$, "You have 4 minutes left!";
+ donpcevent "Father Peter::OnStart";
+ goto AnnouncePrst;
+OnTimer93000:
+ donpcevent "Father Peter::OnStart";
+ end;
+OnTimer123000:
+ set $@PrstTime$, "You have 3 minutes left!";
+ donpcevent "Father Peter::OnStart";
+ goto AnnouncePrst;
+OnTimer153000:
+ donpcevent "Father Peter::OnStart";
+ end;
+OnTimer183000:
+ set $@PrstTime$, "You have 2 minutes left!";
+ donpcevent "Father Peter::OnStart";
+ goto AnnouncePrst;
+OnTimer213000:
+ donpcevent "Father Peter::OnStart";
+ end;
+OnTimer243000:
+ set $@PrstTime$, "You have 1 minute left!";
+ donpcevent "Father Peter::OnStart";
+ goto AnnouncePrst;
+OnTimer273000:
+ set $@PrstTime$, "You have 30 seconds left!";
+ donpcevent "Father Peter::OnStart";
+ goto AnnouncePrst;
+OnTimer293000:
+ set $@PrstTime$, "You have 10 seconds left!";
+ goto AnnouncePrst;
+ end;
+OnTimer2970000:
+ set $@PrstTime$, "You have 5 seconds left.";
+ goto AnnouncePrst;
+ end;
+OnTimer302000:
+ set $@PrstTime$, "Time is up. You failed the test.";
+ goto AnnouncePrst;
+OnTimer306000:
+ stopnpctimer;
+ if($@PrstRm==1) areawarp "job_prist.gat",8,34,39,109,"prt_church.gat",16, 37;
+ if($@PrstRm==2) areawarp "job_prist.gat",160, 14, 175, 178,"prt_church.gat",16, 37;
+ if($@PrstRm==3) areawarp "job_prist.gat", 90, 34, 105,105,"prt_church.gat",16, 37;
+ killmonsterall "job_prist.gat";
+ donpcevent "Father Peter::OnStart";
+ end;
+
+AnnouncePrst:
+ if($@PrstRm==1) areaannounce "job_prist.gat",8,34,39,109,"[Father Peter]: "+$@PrstTime$+".",8;
+ if($@PrstRm==2) areaannounce "job_prist.gat",160, 14, 175, 178, "[Father Peter]: "+$@PrstTime$+".",8;
+ if($@PrstRm==3) areaannounce "job_prist.gat", 90, 34, 105,105, "[Father Peter]: "+$@PrstTime$+".",8;
+ end;
+}
+
+
+
+//**********************************************************************************************************************************************************************************\\
+//================================================= Sister Cecile: Test 3 =====================================================\\
+//**********************************************************************************************************************************************************************************\\
+prt_church.gat,27,24,4 script Sister Cecile 79,{
+ mes "[Sister Cecile]";
+ if(BaseJob == Job_Priest) goto L_Prst;
+ if(BaseJob == Job_Acolyte) goto L_Aco;
+ if(BaseJob == Job_Novice) goto L_Nov;
+
+L_Other:
+ mes "This is the Prontera Church, what can I help you with?";
+ next;
+ menu "Please tell me about priests.",-, "I'm just walking around.",M_End0;
+
+ mes "[Sister Cecile]";
+ mes "Priests are servants of God. They have special powers that allow them to help anyone in need of assistance.";
+ next;
+ mes "[Sister Cecile]";
+ mes "Because they are followers of God, they cannot use swords and many other types of weapons.";
+ next;
+ mes "[Sister Cecile]";
+ mes "Of course, if you want to know more about priests, you should speak with one personally.";
+ next;
+ mes "[Sister Cecile]";
+ mes "Please stay here for as long as you wish. The church is a sanctuary for all those who seek it.";
+ close;
+ M_End0:
+ mes "[Sister Cecile]";
+ mes "Please Relax, wondering around can be tiring.";
+ close;
+
+L_Nov:
+ mes "God bless you, my child. The Prontera Church welcomes you.";
+ next;
+ mes "[Sister Cecile]";
+ mes "Have you choose your job yet? Do you want to be one of God's helpers?";
+ mes "Becoming an Acolyte and helping people is very good thing.";
+ next;
+ mes "[Sister Cecile]";
+ mes "If you want to become an Acolyte, speak to ^5533FFFather Mareusis^000000 in the room across the hall.";
+ next;
+ mes "[Sister Cecile]";
+ mes "Once you've reached job level 40 as an Acolyte, you can come back here and become a Priest.";
+ next;
+ mes "[Sister Cecile]";
+ mes "Since you are still a novice, think carefully about what job you wish to take.";
+ close;
+
+L_Prst:
+ if(sex == 1) mes "God bless you, brother priest.";
+ if(sex == 0) mes "God bless you, sister priest.";
+ mes "I wish you all the best. Keep your faith strong and remeber that God loves all, and so should you.";
+ close;
+
+L_Aco:
+ if(PRIEST_Q == 1) goto L_Test1;
+ if(PRIEST_Q == 2) goto L_Test2;
+ if(PRIEST_Q == 3) goto L_Start;
+ if(PRIEST_Q == 4) goto L_Done;
+ if(sex == 1) mes "God bless you, brother.";
+ if(sex == 0) mes "God bless you, sister.";
+ mes "Why are you here?";
+ next;
+ menu "I want to become a priest.",-, "I'm just wondering around.",M_End1;
+
+ mes "[Sister Cecile]";
+ mes "Oh so you want to become a priest?";
+ mes "A lot of acolytes want to become priests.";
+ next;
+ mes "[Sister Cecile]";
+ mes "My name is Sister Cecile, I'm responsible for helping acolytes become priests.";
+ next;
+ mes "[Sister Cecile]";
+ mes "Because I was born and raised here, I've seen a lot of people become Priests over the years.";
+ mes "Thats why i like to help people become priests now.";
+ next;
+ mes "[Sister Cecile]";
+ mes "In order to become a priest, you will have to fullfill 3 tasks. If you want to change your job now, you can go talk to Father Thomas,";
+ next;
+ mes "[Sister Cecile]";
+ mes "If you encounter any problems with any of the tasks, come talk to me and I might be able to help.";
+ close;
+ M_End1:
+ mes "[Sister Cecile]";
+ mes "Please relax and take a break. The church should feel like your home.";
+ close;
+
+L_Start:
+ if(PRIEST_Q2 == 1) goto L_ReTest;
+ mes "Good job, you successfully completed the second quest...!";
+ mes "You are now really close to becoming a priest.";
+ next;
+ mes "[Sister Cecile]";
+ if(sex==1) mes "If you want to become a priest, the last step is to answer my questions honestly.";
+ if(sex==0) mes "If you want to become a priestess, the last step is to answer my questions honestly.";
+ mes "Please be honest and answer my question.";
+ next;
+ mes "[Sister Cecile]";
+ mes "Okay let me ask you some questions.";
+ set PRIEST_Q2, 1;
+ next;
+L_Test3:
+ mes "[Sister Cecile]";
+ mes "From today on, do you wish to help the God for all eternity?";
+ next;
+ menu "Yes.",M_2a, "No.",-;
+
+ mes "[Sister Cecile]";
+ mes "Why..Why would you say that?...";
+ mes "I don't think your suitable to become a priest...";
+ next;
+ mes "[Sister Cecile]";
+ mes "please come back when you really want to become a priest.";
+ mes "You can't become a priest right now.";
+ close;
+
+ M_2a:
+
+ mes "[Sister Cecile]";
+ mes "Will you use God's power for your own profit?";
+ next;
+ menu "Yes",-, "No.",M_2b;
+
+ mes "[Sister Cecile]";
+ mes "No, that doesn't work, if you use God's power to do what you wish, you're just like a thief.";
+ mes "How can you become a good priest if you think like that?";
+ next;
+ mes "[Sister Cecile]";
+ mes "Please come back when you make up your mind.";
+ mes "Those thoughts are the things that corrupt people.";
+ close;
+
+ M_2b:
+
+
+ mes "[Sister Cecile]";
+ mes "Will you help others in battle when they need help?";
+ next;
+ menu "Yes.",M_2c, "No.",-;
+
+ mes "[Sister Cecile]";
+ mes "Thats wrong, when someone needs help, we will do our best to help them.";
+ mes "It doesn't matter who that person is, our job is to help everyone.";
+ next;
+ mes "[Sister Cecile]";
+ mes "Go walk around.";
+ mes "and you should learn something.";
+ close;
+ M_2c:
+
+ mes "[Sister Cecile]";
+ mes "Will you sacrafice yourself for others?";
+ next;
+ menu "Yes.",M_2d, "No.",-;
+
+ mes "[Sister Cecile]";
+ mes "No, thats not what God thinks.";
+ mes "If we can sacrafice ourselves for something that helps the world, its worth it.";
+ next;
+ mes "[Sister Cecile]";
+ mes "Go and think about sacraficing.";
+ mes "Sacraficing is thing thats easy to say, but hard to do.";
+ close;
+ M_2d:
+
+ mes "[Sister Cecile]";
+ mes "Will you talk bad to people you meet?";
+ next;
+ menu "Yes.",-, "No.",M_2e;
+
+ mes "[Sister Cecile]";
+ mes "That is not right, priests are supposed to help people.";
+ mes "If you talk bad, you don't deserver to be a priest.";
+ next;
+ mes "[Sister Cecile]";
+ mes "even if your God's best servant.";
+ mes "You don't have the right to bad-talk.";
+ close;
+
+ M_2e:
+
+ mes "[Sister Cecile]";
+ mes "Will you bring any kind of devil to help others in battle?";
+ next;
+ menu "Yes.",-, "No.",M_2f;
+
+ mes "[Sister Cecile]";
+ mes "You can't do that.";
+ mes "It doesn't matter if the devil is good or bad, priests should never talk to a devil .";
+ next;
+ mes "[Sister Cecile]";
+ mes "Even though it looks like you did a good thing, but it was a really bad thing.";
+ mes "Please go think about it.";
+ close;
+
+ M_2f:
+
+ mes "[Sister Cecile]";
+ mes "If God wants to you to live or die, will you listen to him?";
+ next;
+ menu "Yes.",M_2g, "No.",-;
+
+ mes "[Sister Cecile]";
+ mes "If your like that you can't become a priest.";
+ mes "If God wants you to die, you have to listen to him.";
+ next;
+ mes "[Sister Cecile]";
+ mes "And we priest have the skill to Resurrect ourselves.";
+ mes "Please go and think about what death means to you.";
+ close;
+ M_2g:
+
+ mes "[Sister Cecile]";
+ mes "I just witness what you said.";
+ mes "Lastly, please promise that you'll remember the things you said today.";
+ next;
+ menu "I promise.",-, "No.",M_2No;
+
+ mes "[Sister Cecile]";
+ mes "Now, you passed all the tests.";
+ mes "Please go talk to Father Thomas to become a priest.";
+ next;
+ mes "[Sister Cecile]";
+ mes "Please remember the things you said today.";
+ mes "God bless you...";
+ set PRIEST_Q, 4;
+ set PRIEST_Q2, 0;
+ close;
+
+ M_2No:
+ mes "[Sister Cecile]";
+ mes "..............";
+ next;
+ mes "[Sister Cecile]";
+ mes "No not yet, your still wondering if you want to become a priest or not.";
+ mes "You can't become a priest right now.";
+ next;
+ mes "[Sister Cecile]";
+ mes "I think you should go do the self-disipline test again...";
+ mes "When you're ready, come back here.";
+ next;
+ mes "[Sister Cecile]";
+ mes "God bless you...";
+ close;
+
+L_ReTest:
+ mes ".............";
+ next;
+ mes "[Sister Cecile]";
+ mes "...Oh your back.";
+ mes "I hope you can be honest this time.";
+ next;
+ mes "[Sister Cecile]";
+ mes "I hope i can sense your sincere...";
+ mes "Please answer me honestly.";
+ next;
+ mes "[Sister Cecile]";
+ mes "Okay, lets start.";
+ next;
+ goto L_Test3;
+
+L_Test1:
+ mes "Oh, so you already started the self-disipline test, good job.";
+ close;
+
+L_Test2:
+ if(PRIEST_Q2 == 1) goto L_Test2a;
+ mes "You didn't start the second quest yet?.";
+ mes "Well, i can't give u any specific details about this task.";
+ next;
+ mes "[Sister Cecile]";
+ mes "I can only tell you to be well-prepared and to not get seduced by anything...";
+ mes "You must trust in yourself in order to complete the second quest.";
+ next;
+ mes "[Sister Cecile]";
+ mes "If you want more specific details go talk to the priest in the training ground.";
+ mes "Father Thomas is a very nice person, he'll help you too.";
+ close;
+
+L_Test2a:
+ mes "Training is hard, but don't give up.";
+ mes "You must overcome anything in order to be a good priest.";
+ next;
+ mes "[Sister Cecile]";
+ mes "If there's experienced priest, you can ask them to help you train.";
+ mes "They might be able to help you pass the first level of the second task.";
+ next;
+ mes "[Sister Cecile]";
+ mes "God bless you...";
+ mes "When you complete the second quest, come back here.";
+ close;
+
+L_Done:
+ mes "Congratulations on finishing the tests. Please see Father Thomas so that he can make you a Priest.";
+ close;
+}
+
+//==============================================================================
+// mapflag
+//==============================================================================
+job_prist.gat mapflag nomemo
+job_prist.gat mapflag noteleport
+job_prist.gat mapflag nosave SavePoint
+job_prist.gat mapflag nopenalty
+job_prist.gat mapflag nobranch
+job_prist.gat mapflag noexp
+job_prist.gat mapflag noloot
diff --git a/npc/jobs/2-1/wizard.txt b/npc/jobs/2-1/wizard.txt new file mode 100644 index 000000000..e7533bcbe --- /dev/null +++ b/npc/jobs/2-1/wizard.txt @@ -0,0 +1,1415 @@ +//===== eAthena Script =======================================
+//= Wizard Job Quest
+//===== By: ==================================================
+//= (Aegis) Translated by yoshiki
+//= converted by kobra_k88
+//= Further bugfixed and tested by Lupus
+//===== Current Version: =====================================
+//= 1.8
+//===== Compatible With: =====================================
+//= eAthena 1.0
+//===== Description: =========================================
+//= Wizard job quest converted from aegis script, plus my own RO screenies.
+//===== Additional Comments: =================================
+//= 1.1 Now using the initnpctimer command, donpcevent,
+//= and new waitingroom event commands. No more addtimer spamming.
+//= No longer have to talk to the npc to take the test. Just enter the chat room.
+//= 1.2 Changed global variable names to unique ones.
+//= 1.2a Rollback from the wrong Kashy's fix
+//= 1.2b Fixed issue with duplicating monsters thx to Bison.[kobra_k88]
+//= 1.2c changed one Horong to Frilldora (now 3rd room contains 1 agressive mob.)
+//= 1.2d more simplified fire room - removed agressive Desert Wolf [Lupus]
+//= 1.3 Added Baby Class support [Lupus]
+//= 1.5 Fixed possible EXP abuse [Lupus]
+//= 1.6 Added a func which prevent advanced classes passing
+//= 2nd Job Quests again. It also guides adv classes where
+//= to go. [Lupus]
+//= 1.7 Replaced 2 Hodes with 2 Horong's (according to the official guide) [Lupus]
+//= 1.8 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon]
+//============================================================
+
+
+//<=================== Some dog =========================>
+gef_tower.gat,107,35,5 script Some Dog 81,{
+ callfunc "F_BlockHigh",26,"High Mage",33,"High Wizard","Dog";
+ if(BaseJob == Job_Mage) goto L_JobMage;
+ callfunc "Wiz1_check";
+
+L_JobMage:
+ mes "[Dog]";
+ mes "Ah... I know what you're about to say.... You want to become a Wizard right?";
+ next;
+ mes "[Dog]";
+ mes "Speak with Catherine. She'll help you out.";
+ next;
+ mes "[Dog]";
+ mes "If you want to know more about the job change process for Wizards, I can be of help.";
+ next;
+ menu "..................",M_0, "A dog is talking to me......",M_1;
+
+ M_0:
+ mes "[Dog]";
+ mes "~Woof~ What is it? Why are you looking at me like that?? Is this the first time you've seen a dog talk?";
+ emotion 1;
+ mes "[Dog]";
+ mes "~Woof~ I suppose it's not that common to see a talking dog..... ~Woof~..... Yeah, it is a rare site actually.....";
+ next;
+ mes "[Dog]";
+ mes "~GRRRR!!~.... Hey! Stop GAWKING at me for goodness sake!! ~WOOOF~";
+ emotion 6;
+ next;
+
+ L_Cont:
+ mes "[Dog]";
+ mes "My name is Maria Splodofska. Just call me Maria. I'm assisting candidates for the Wizard class.";
+ next;
+ mes "[Maria]";
+ mes "~Woof~ You see, the reason I became a dog was.... I was helping my boyfriend with his experiment in preperation for his Final.";
+ mes "He is studying for a Magic Degree. Well, before I knew what happened he accidentally turned me into a dog.....";
+ next;
+ mes "[Maria]";
+ mes "~Grrrrr~ In a couple of months the chemicals should wear off and I should return to normal. Well theoretically speaking anyhow.";
+ next;
+ mes "[Maria]";
+ mes "Uh, anyways..... where were we?";
+ emotion 20;
+ next;
+ mes "[Maria]";
+ mes "Like I said before, if you want to become a Wizard you must first speak with Catherine.";
+ mes "She just recently became a Wizard so she should be a great help.";
+ next;
+ mes "[Maria]";
+ mes "I can tell you more about the job changing process, but I wouldn't want to take up anymore of your time.";
+ mes "That is unless, you want me to go on about what's in store for Wizards to be?.........";
+ next;
+ menu "Yes, please continue.",sM_0, "No, it's ok.",sM_1, "A talking dog......",sM_2;
+
+ sM_0:
+ mes "Maria]";
+ mes "Ok then. Let me explain the process for becoming a Wizard to you....";
+ next;
+ mes "[Maria]";
+ mes "There are 3 Tests in the Wizard job change process. The ^5555FF1st Test^000000 will require you to collect a number of ^FF5555magic items^000000.";
+ next;
+ mes "[Maria]";
+ mes "Catherine will give you that test. She will ask to you collect either a variety of ^5555FFGemstones^000000, or ^5555FFElemental Ores^000000.";
+ next;
+ mes "[Maria]";
+ mes "The ^5555FF2nd Test^000000 will be administered by the, ever gloomy Raul, in the corner over there.";
+ mes "It is a multiple choice Q&A exam about the different aspects of magic.";
+ next;
+ mes "[Maria]";
+ mes "The exam will consist of 10 questions. If you miss any of those questions you will fail the exam.";
+ next;
+ mes "[Maria]";
+ mes "Raul will also administer the ^5555FF3rd Test^000000. This is the last test and it requires that defeat a series of monsters.";
+ mes "There will be three rooms each filled with monsters of a specific elemental attribute.";
+ next;
+ mes "[Maria]";
+ mes "It is up to you to figure what spells work best on which monsters.";
+ next;
+ mes "[Maria]";
+ mes "Well, that's all I can tell you. Go ahead and apply now.";
+ close;
+ sM_1:
+ mes "[Maria]";
+ mes "Oh, ok. Go ahead and apply and do your best.";
+ close;
+ sM_2:
+ mes "[Maria]";
+ mes "I'M NOT A DOG!!! ~ ARROOOOOOOOOWWWWW!!!! ~";
+ emotion 6;
+ next;
+ mes "[Maria]";
+ mes "Dang it! I hope you FAIL!! Now go get lost!";
+ emotion 27;
+ next;
+ warp "gef_dun00.gat",54,23;
+ end;
+ M_1:
+ mes "[Dog]";
+ mes "~WOOF~Woof~woof~ You DON'T have to state the obvious! I KNOW I'm a dog!";
+ emotion 32;
+ next;
+ goto L_Cont;
+
+}
+
+
+//<=========================================== Registrar and Examiner Catherine Medichi ==============================================>\\
+gef_tower.gat,111,37,4 script Catherine Medichi 68,{
+ callfunc "F_BlockHigh",26,"High Mage",33,"High Wizard","Catherine Medichi";
+
+ mes "[Catherine Medichi]";
+ if(BaseJob == Job_Mage) goto L_Mage;
+ callfunc "Wiz2_check";
+
+
+
+L_Mage:
+ if(WIZ_Q == 2) goto L_Test2;
+ if(WIZ_Q == 3) goto L_Test3;
+ if(WIZ_Q == 4) goto L_Done;
+ if(WIZ_Q2 > 0) goto L_Test1;
+
+ mes "My name's Catherine Medichi, and I just became a Wizard. Relax, you can call me Catherine.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "What brings you all the way up here? You want to be a wizard, right?";
+ next;
+ menu "Of course!",M_0a, "The requirements",M_0b,"Not really",M_0End;
+
+ M_0a:
+ mes "[Catherine Medichi]";
+ mes "Please fill out this application form first.";
+ next;
+ mes "(you fill out the form and hand it back)";
+ next;
+ if(JobLevel < 40) goto sL_JobLvl;
+ if(JobLevel == 50) goto sL_Job50;
+
+ mes "[Catherine]";
+ mes "Alright ^ff0000"+strcharinfo(0)+"^000000, it looks like you have everything in order.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Now let me tell you about the test. It is divided into 3 parts.";
+ mes "- The 1st part involves the collecting of a number of magical items,";
+ mes "- the 2nd part is a Q&A exam,";
+ mes "- and the 3rd section is our favorite, the field exam.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "People with a job lvl of 50 can skip the first test. They have already worked hard enough.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Now for the first part of the test. This requires the gathering of a number of magic items.";
+ next;
+ set WIZ_Q2, rand(1,2);
+
+ mes "[Catherine Medichi]";
+ mes "The items you need to bring are:";
+ if(WIZ_Q2 == 2) goto R_2;
+
+ R_1:
+ mes "- 10 ^ff0000Red gemstones^000000";
+ mes "- 10 ^0000ffBlue gemstones^000000";
+ mes "- and 10 ^ddcc11Yellow gemstones^000000.";
+ goto L_Cont0;
+
+ R_2:
+ mes "5 ^0000ffCrystal Blues^000000,";
+ mes "5 ^009900Green Lives^000000,";
+ mes "5 ^ff0000Red Bloods^000000,";
+ mes "and 5 ^ddcc11Wind of Verdures^000000.";
+
+ L_Cont0:
+ next;
+ mes "[Catherine Medichi]";
+ mes "This test isn't THAT hard, so get going!";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Good luck! I'll be waiting!";
+ set WIZ_Q, 1;
+ close;
+
+ sL_JobLvl:
+ mes "[Catherine Medichi]";
+ mes "Hey, I told you already. You have to have at least job lvl 40.";
+ mes "Don't you remember me telling you that?";
+ close;
+
+ sL_Job50:
+ mes "[Catherine Medichi]";
+ mes "Wow! You're at job level 50! You must have worked really hard! I'm impressed!";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Okay, I'll record that you're job 50. You get to skip the first test, but you still got 2 left.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Now, talk to that man in the corner for the test. It's hard, so be careful.";
+ set WIZ_Q, 2;
+ close;
+
+ M_0b:
+ mes "[Catherine Medichi]";
+ mes "Even though many people want to become Wizards, only those with a job level of 40 can qualify.";
+ mes "Anyone with a job level less then that wouldn't have enough magic power to become a Wizard.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Then there is the matter of the Wizard's Test. The test is made up of 3 sections.";
+ mes "Each section focuses on different asspects of Wizardry.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Once you pass the test you'll be a Wizard just like me. Yay!";
+ mes "Unfortunately a lot people have trouble with the test and never quite make it.(*sighs*)";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Maybe you'll have better luck.";
+ close;
+
+ M_0End:
+ mes "[Catherine Medichi]";
+ mes "What? You came up here for nothing!?";
+ emotion 1;
+ close;
+
+
+ L_Test1:
+ mes "Did you get all of the items? Let's see......";
+ next;
+ mes "[Catherine Medichi]";
+ if(WIZ_Q2 == 1) goto sL_Gems;
+ if(WIZ_Q2 == 2) goto sL_Ores;
+
+ sL_Gems:
+ if (countitem(716)<10 || countitem(717)<10 || countitem(715)<10) goto ssL_NotDone;
+ mes "Great! You've brought everything! The guild will use these well.";
+ next;
+ delitem 716, 10;
+ delitem 717, 10;
+ delitem 715, 10;
+ goto ssL_Done;
+
+ sL_Ores:
+ if (countitem(991)<4 || countitem(993)<4 || countitem(990)<4 || countitem(992)<4) goto ssL_NotDone;
+ mes "Great! You've found them all! The guild will use them well.";
+ next;
+ delitem 991, 5;
+ delitem 993, 5;
+ delitem 990, 5;
+ delitem 992, 5;
+
+ ssL_Done:
+ mes "[Catherine Medichi]";
+ mes "Congrats, you passed the first test.";
+ mes "Don't relax yet, you still got 2 tests left.";
+ emotion 21;
+ next;
+ mes "[Catherine Medichi]";
+ mes "Now talk to the man in the corner for the tests.";
+ mes "It's pretty hard, so be carefull.";
+ set WIZ_Q, 2;
+ set WIZ_Q2, 0;
+ close;
+
+ ssL_NotDone:
+ mes "It seems you didn't bring everything that's needed.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "It's hard work to get all the way up here so make sure you have all of the right items okay?";
+ next;
+ mes "[Catherine Medichi]";
+ mes "You need:";
+ if(WIZ_Q2 == 1) goto R_1;
+ if(WIZ_Q2 == 2) goto R_2;
+ close;
+
+ L_Test2:
+ if(WIZ_Q2 == 1)goto sL_Failed2;
+ mes "Hey, did you go talk to the man? No? You can't just become a wizard by getting items.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "There are 2 more tests left. I'll be waiting, so go finish them.";
+ close;
+
+ sL_Failed2:
+ mes "Huh?? You failed the Q&A test!?";
+ emotion 1;
+ next;
+ mes "[Catherine Medichi]";
+ mes "You want to be a wizard and you can't answer a couple of questions?? Sheesh.";
+ emotion 4;
+ next;
+ mes "[Catherine Medichi]";
+ mes "Well, do you want big sis to give you a hint? If you do, go buy me ^0099001 apple juice^000000. I'm a bit thirsty. =P";
+ next;
+ menu "Can I have a hint?",M_1a, "I can pass on my own!",M_1b;
+
+ M_1a:
+ if (countitem(531) < 1) goto sL_NoJuice;
+ delitem 531, 1;
+
+ mes "[Catherine Medichi]";
+ mes "Mmmmmmmmmmmmm, apple juice. ~gulp~gulp~";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Thanks, I'll give you the hint now.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "The man gives you 3 major types of questions, about:";
+ mes "- ^ff0000spells^000000,";
+ mes "- ^ff0000monsters^000000,";
+ mes "- and ^ff0000the caster^000000.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "It's up to him to pick the questions.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Ya know... if he got a hair cut and shaved, he might look cool...";
+ mes "But obviously he wouln't do it....";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Anyways, about his questions on spells, there are obviously some on spells you've learned.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "There are also questions about spells you DON'T know much about, so go ask some Wizards for that info.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "There are also places out there with lots of information about spells, such as www.emperium.org.";
+ mes "You can probably find other sites as well.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "As far as the questions on monsters go, you COULD fight them to learn about them... OR...";
+ next;
+ mes "[Catherine Medichi]";
+ mes "... If I remember correctly, there's a libary in Prontera that has lots of information on monsters.";
+ mes "You could just go there and read about them.";
+ next;
+ mes "[Catherine Medichie]";
+ mes "Now, about the questions about the caster.... You're on your own for this one..";
+ mes "Why? Because YOU ARE the caster!";
+ next;
+ mes "[Catherine Medichi]";
+ mes "If you don't know anything about yourself, how would a stranger like me know?";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Well good luck! Mister Examiner is waiting!";
+ close;
+
+ sL_NoJuice:
+ mes "[Catherine Medichi]";
+ mes "Well, if you want hints, I need apple juice!. Otherwise, you're on your own =P.";
+ close;
+
+ M_1b:
+ mes "[Catherine Medichi]";
+ mes "That's right! Tests are meant to be done alone! That's definatly the way a Wizard should think!";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Good luck! Mister Examiner is waiting!";
+ close;
+
+ L_Test3:
+ if(WIZ_Q2 == 1) goto sL_Failed3;
+ mes "He he, I could hear you in there working hard on those questions.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Good job, only one test left! Finish that and you'll be a wizard!";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Good luck! The examiner's waiting!";
+ close;
+
+ sL_Failed3:
+ mes "Why did you come out during the test? I never thought you were that weak...";
+ next;
+ if(sex==1) goto ssL_M3;
+ if(sex==0) goto ssL_F3;
+
+ ssL_M3:
+ mes "[Catherine Medichi]";
+ mes "How could a powerful mage like you get beaten so easily!! Go back in and try harder.";
+ close;
+
+ ssL_F3:
+ mes "[Catherine Medichi]";
+ mes "You can't act all weak, just because you're a girl! If you want to be a wizard, go and pass the test!";
+ next;
+ mes "[Catherine Medichi]";
+ mes "I thought it was hard too, but it wasn't enough to make me quit! You just have to face hardship sometimes!";
+ close;
+
+
+ L_Done:
+ if(SkillPoint > 0) mes "You need to use up all of your skill points before I can make you a Wizard.";
+ if(SkillPoint > 0) close;
+
+ mes "Great! You finished all of the tests! Congrats, congrats, congrats!!";
+ emotion 21;
+ next;
+ mes "[Catherine Medichi]";
+ mes "Ack, I'm wasting time, I better change you!";
+ next;
+ callfunc "Job_Change",Job_Wizard;
+ callfunc "F_ClearJobVar"; // clears all job variables for the current player
+
+ mes "[Catherine Medichi]";
+ mes "Now you're a wizard! Act responsibly!";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Make sure when you cast a spell, you know exactly what's going to happen!";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Don't do stupid things like casting in the middle of town!";
+ mes "It causes lag and magic is supposed to be used on monsters anyways!";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Become mightier by partying with others! Oh yea, here's a present!";
+ next;
+ mes "[Catherine Medichi]";
+ mes "(Rustle Rustle)";
+ next;
+ getitem 505, 6;
+ mes "[Catherine Medichi]";
+ mes "Use them wisely. It's a present from me, so you better use them all!";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Well my fellow Wizard, take care and have a great life!";
+ close;
+}
+
+
+//<================================================ Examiner: Raul Expagarus ==================================================>\\
+gef_tower.gat,102,24,3 script Raul Expagarus 735,{
+ mes "[Raul Expagarus]";
+ if(BaseJob == Job_Mage) goto L_Mage;
+ if(BaseJob == Job_Wizard) goto L_Wizard;
+ if(baseClass == Job_Acolyte) goto L_Holy;
+ if(BaseJob == Job_Novice) goto L_Novice;
+L_Other:
+ mes "Ugh, I don't feel good....I feel like I'm trapped in ice........";
+ next;
+ mes "[Raul Expagarus]";
+ mes "Who're you?! Leave!";
+ emotion 0;
+ close;
+L_Novice:
+ mes "What's a little kid like you doing here? Get out!!";
+ emotion 0;
+ next;
+ warp "geffen.gat",120,110;
+ close;
+L_Holy:
+ mes "Leave holy ones!";
+ mes "Magic is considered to be a power that is not from God.......";
+ next;
+ mes "[Raul Expagarus]";
+ mes "Besides, I'm not feeling too good. So Leave now!";
+ close;
+L_Wizard:
+ mes "Cough Cough, what can I do for you? Hmmm... you're a magic user too...";
+ next;
+ mes "[Raul Expagarus]";
+ if(sex==1) goto L_M;
+ if(sex==0) goto L_F;
+
+ L_M:
+ mes "If you're not responsible, you might accidently learn useless spells.";
+ mes "Instead of that, you might want to focus on learning spells you'll be using now.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "In a fight for love, you might become crippled hehe.";
+ close;
+
+ L_F:
+ mes "If you're not responsible, you might accidently learn useless spells.";
+ mes "You should learn a spell with all of your heart or not learn it at all.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "If you don't wish to study like that............... Heh, then go be a housewife.";
+ close;
+
+L_Mage:
+ if(WIZ_Q == 1) goto L_NotRdy;
+ if(WIZ_Q == 2) goto L_Test2;
+ if(WIZ_Q == 3) goto L_Test3;
+ if(WIZ_Q == 4) goto L_Done;
+
+ mes "Cough, I don't have any time to talk.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "Sorry, but please leave.";
+ close;
+
+ L_NotRdy:
+ mes "Heh, a wizard trainee eh?!";
+ next;
+ mes "[Raul Expagarus]";
+ mes "You COULD just stay as a mage and live a pretty decent life.....";
+ next;
+ mes "[Raul Expagarus]";
+ mes "Then again, wizards ARE much more high class.....";
+ close;
+
+ L_Done:
+ mes "Congratulations on finishing the final test! You have now finished all of the Wizards tests and are ready to become a Wizard!";
+ emotion 21;
+ next;
+ mes "[Raul Expagarus]";
+ mes "Go speak to Catherine to become a Wizard. But be careful! Magic is a powerfull force and can easily destroy you!!";
+ close;
+
+ L_Test2:
+ if(WIZ_Q2 == 1) goto sL_ReTest2;
+
+ mes "I see you've passed the 1st test. My name is Raul Expagarus, I'm your test examiner.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "It's not too late! You can still return to a peaceful life in town if you wish.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "You probably have no clue how dangerous it is to use magic.";
+ next;
+ menu "You're right. I quit.",M_0a, "I want to take test!",M_0b;
+
+ sL_ReTest2:
+ mes "Hmph, you want to try again?";
+ next;
+ mes "[Raul Expagarus]";
+ mes "How can you hate a peaceful life so much?";
+ next;
+ mes "[Raul Expagarus]";
+ mes "Be that way! If you miss one question, you fail! What do you say!?";
+ emotion 32;
+ next;
+ menu "I want to live in peace..........",M_0a, "I want to try again.",M_0b;
+
+ M_0a:
+ mes "[Raul Expagarus]";
+ mes "Good choice, cough cough. Being a Wizard is a difficult job, and magic is not meant to be used by mere mortals.........";
+ next;
+ mes "[Raul Expagarus]";
+ mes "Go down the tower and don't look back. Use the magic you have now and live a peaceful life.";
+ close;
+
+ M_0b:
+ mes "[Raul Expagarus]";
+ mes "Hmph, we'll see how GREAT you do.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "Lets start the test! If you miss one question, you're screwed! HA!";
+ emotion 29;
+ next;
+ mes "[Raul Expagarus]";
+ mes "10 questions, get them right! I won't tell you the correct answer for the ones you miss.";
+ next;
+ set @SCORE,0;
+ set @temp,rand(0,2);
+ if(@temp == 1) goto R_1;
+ if(@temp == 2) goto R_2;
+
+ //Spell Quiz
+ R_0:
+ mes "[Raul Expagarus]";
+ mes "Cough, here are the questions!";
+ next;
+ mes "[Raul Expagarus]";
+ mes "1. What ISN'T required for fire wall?";
+ next;
+ menu "Fire Bolt Lv 4",sM0_0b, "Fire Ball Lv 5",sM0_0b, "Sight Lv 1",sM0_0b, "Napalm Beat Lv 4",sM0_0a;
+
+ sM0_0a:
+ set @SCORE, @SCORE + 10;
+
+ sM0_0b:
+
+ mes "[Raul Expagarus]";
+ mes "2. What happens to a monster's element after it's frozen by Frost Diver?";
+ next;
+ menu "Changes to Water",sM0_1a, "Changes to Earth",sM0_1b, "Changes to Fire",sM0_1b, "Changes to Wind",sM0_1b;
+
+ sM0_1a:
+ set @SCORE, @SCORE + 10;
+
+ sM0_1b:
+
+ mes "[Raul Expagarus]";
+ mes "3. When you max out Napalm Beat, how many times matk will the dmg be?";
+ next;
+ menu "1.6x",sM0_2b, "1.7x",sM0_2a, "2x",sM0_2b, "20x",sM0_2b;
+
+ sM0_2a:
+ set @SCORE, @SCORE + 10;
+
+ sM0_2b:
+
+ mes "[Raul Expagarus]";
+ mes "4. What item is required for stone curse?";
+ next;
+ menu "Red Blood",sM0_3b, "Blue Gem",sM0_3b, "Yellow Gem",sM0_3b, "Red Gem",sM0_3a;
+
+ sM0_3a:
+ set @SCORE, @SCORE + 10;
+
+ sM0_3b:
+
+ mes "[Raul Expagarus]";
+ mes "5. What isn't required for Safety Wall?";
+ next;
+ menu "Napalm Beat Lv 4",sM0_4b, "Soul Strike Lv 5",sM0_4b, "SP Recovery Lv. 6",sM0_4b, "Ice Wall Lv 7",sM0_4a;
+
+ sM0_4a:
+ set @SCORE, @SCORE + 10;
+
+ sM0_4b:
+
+ mes "[Raul Expagarus]";
+ mes "6. How much SP will you regain every 10 sec with lvl 7 SP Rec.?";
+ next;
+ menu "14",sM0_5b, "21",sM0_5a, "28",sM0_5b, "35",sM0_5b;
+
+ sM0_5a:
+ set @SCORE, @SCORE + 10;
+
+ sM0_5b:
+
+ mes "[Raul Expagarus]";
+ mes "7. You have 50% SP, how much dmg will Energy Coat reduce and how much sp will it use?";
+ next;
+ menu "dmg 18%, SP1.5%",sM0_6b, "dmg18%, SP2%",sM0_6a, "dmg 24%, SP1.5%",sM0_6b, "dmg 24%, SP2%",sM0_6b;
+
+ sM0_6a:
+ set @SCORE, @SCORE + 10;
+
+ sM0_6b:
+
+ mes "[Raul Expagarus]";
+ mes "8. Lvl 6 Safety Wall sp consumtion, and number of hits absorbed?";
+ next;
+ menu "SP 40, 6hits",sM0_7b, "SP 35, 6hits",sM0_7b, "SP 40, 7hits",sM0_7a, "SP 35, 7hits",sM0_7b;
+
+ sM0_7a:
+ set @SCORE, @SCORE + 10;
+
+ sM0_7b:
+
+ mes "[Raul Expagarus]";
+ mes "9. Lv. 10 Thunder Storm's Sp Consume";
+ next;
+ menu "84",sM0_8b, "74",sM0_8a, "64",sM0_8b, "54",sM0_8b;
+
+ sM0_8a:
+ set @SCORE, @SCORE + 10;
+
+ sM0_8b:
+
+ mes "[Raul Expagarus]";
+ mes "10. What would be a good skill to use in Byalan Dungeon?";
+ next;
+ menu "Lightning Bolt",sM0_9a, "Fire Bolt",sM0_9b, "Ice Bolt",sM0_9b, "Sight",sM0_9b;
+
+ sM0_9a:
+ set @SCORE, @SCORE + 10;
+
+ sM0_9b:
+ goto L_Cont0;
+
+ //Monster Quiz
+ R_1:
+ mes "[Raul Expagarus]";
+ mes "1. What drops a slot guard?";
+ next;
+ menu "Thief Bug",sM1_0b, "Peco Peco",sM1_0b, "Pupa",sM1_0a, "Mace Kobold",sM1_0b;
+
+ sM1_0a:
+ set @SCORE, @SCORE + 10;
+
+ sM1_0b:
+
+ mes "[Raul Expagarus]";
+ mes "2. Which monster is the easiest for magicians?";
+ next;
+ menu "Flora",sM1_1a, "Gierth",sM1_1b, "Golem",sM1_1b, "Myst",sM1_1b;
+
+ sM1_1a:
+ set @SCORE, @SCORE + 10;
+
+ sM1_1b:
+
+ mes "[Raul Expagarus]";
+ mes "3. What monster is completly immune to Stone Curse?";
+ next;
+ menu "Elder Willow",sM1_2b, "Evil Druid",sM1_2a, "Baek-Ryuhn-Oak",sM1_2b, "Marc",sM1_2b;
+
+ sM1_2a:
+ set @SCORE, @SCORE + 10;
+
+ sM1_2b:
+:
+ mes "[Raul Expagarus]";
+ mes "4. How much dmg do you do with a wind spell to a Water 3 monster?";
+ next;
+ menu "125%",sM1_3b, "150%",sM1_3b, "175%",sM1_3b, "200%",sM1_3a;
+
+ sM1_3a:
+ set @SCORE, @SCORE + 10;
+
+ sM1_3b:
+
+ mes "[Raul Expagarus]";
+ mes "5. Baby Desert Wolves vs Familiar, which one wins?";
+ next;
+ menu "Baby Desert Wolf",sM1_4a, "Farmiliar",sM1_4b, "Tie",sM1_4b, "Don't Know",sM1_4b;
+
+ sM1_4a:
+ set @SCORE, @SCORE + 10;
+
+ sM1_4b:
+
+ mes "[Raul Expagarus]";
+ mes "6. Which monster can't be tamed as a pet?";
+ next;
+ menu "Poporing",sM1_5b, "Roda Frog",sM1_5a, "Smokie",sM1_5b, "Poison Spore",sM1_5b;
+
+ sM1_5a:
+ set @SCORE, @SCORE + 10;
+
+ sM1_5b:
+
+ mes "[Raul Expagarus]";
+ mes "7. Which monster is weak against fire?.";
+ next;
+ menu "Knife Goblin",sM1_6b, "Mace Goblin",sM1_6b, "Flail Goblin",sM1_6b, "Hammer Goblin",sM1_6a;
+
+ sM1_6a:
+ set @SCORE, @SCORE + 10;
+
+ sM1_6b:
+
+ mes "[Raul Expagarus]";
+ mes "8. Which monster has the highest magic def?";
+ next;
+ menu "Horong",sM1_7b, "ChonChon",sM1_7b, "Andre",sM1_7b, "Caramel",sM1_7a;
+
+ sM1_7a:
+ set @SCORE, @SCORE + 10;
+
+ sM1_7b:
+
+ mes "[Raul Expagarus]";
+ mes "9. Pick the monster that doesn't belong.";
+ next;
+ menu "Poring",sM1_8b, "Mastering",sM1_8b, "Ghostring",sM1_8b, "Spore",sM1_8a;
+
+ sM1_8a:
+ set @SCORE, @SCORE + 10;
+
+ sM1_8b:
+
+ mes "[Raul Expagarus]";
+ mes "10. Which is not a undead?";
+ next;
+ menu "Drake",sM1_9b, "Megalodon",sM1_9b, "Deviace",sM1_9a, "Khalitzburg",sM1_9b;
+
+ sM1_9a:
+ set @SCORE, @SCORE + 10;
+
+ sM1_9b:
+ goto L_Cont0;
+
+ //Wizard Quiz
+ R_2:
+ mes "[Raul Expagarus]";
+ mes "1. What is the most important stat for a Wizard?";
+ next;
+ menu "INT",sM2_0a, "AGI",sM2_0b, "DEX",sM2_0b, "VIT",sM2_0b;
+
+ sM2_0a:
+ set @SCORE, @SCORE + 10;
+
+ sM2_0b:
+
+ mes "[Raul Expagarus]";
+ mes "2. Which element doesn't have a bolt spell?";
+ next;
+ menu "water",sM2_1b, "earth",sM2_1a, "fire",sM2_1b, "wind",sM2_1b;
+
+ sM2_1a:
+ set @SCORE, @SCORE + 10;
+
+ sM2_1b:
+
+ mes "[Raul Expagarus]";
+ mes "3. What is NOT a characteristic of a Wizard?";
+ next;
+ menu "Weak physical abilites",sM2_2b, "Distance Attacks",sM2_2b, "Good money maker",sM2_2a, "High Magic Def",sM2_2b;
+
+ sM2_2a:
+ set @SCORE, @SCORE + 10;
+
+ sM2_2b:
+
+ mes "[Raul Expagarus]";
+ mes "4. Which town is the home of Wizards?";
+ next;
+ menu "Prontera",sM2_3b, "Morroc",sM2_3b, "Alberta",sM2_3b, "Geffen",sM2_3a;
+
+ sM2_3a:
+ set @SCORE, @SCORE + 10;
+
+ sM2_3b:
+
+ mes "[Raul Expagarus]";
+ mes "5. Which card has nothing to do with INT?";
+ next;
+ menu "Andre Card",sM2_4b, "Soldier Andre Card",sM2_4a, "Baby Desert Wolf Card",sM2_4b, "Elder Willow Card",sM2_4b;
+
+ sM2_4a:
+ set @SCORE, @SCORE + 10;
+
+ sM2_4b:
+
+ mes "[Raul Expagarus]";
+ mes "6. What is superior about the mage class compared to others?";
+ next;
+ menu "Close Range Combat",sM2_5b, "High Dodge",sM2_5b, "Dance Skills",sM2_5b, "Magical Power",sM2_5a;
+
+ sM2_5a:
+ set @SCORE, @SCORE + 10;
+
+ sM2_5b:
+
+ mes "[Raul Expagarus]";
+ mes "7. What is the INT bonus at job lvl 40?";
+ next;
+ menu "8",sM2_6b, "7",sM2_6b, "6",sM2_6b, "5",sM2_6a;
+
+ sM2_6a:
+ set @SCORE, @SCORE + 10;
+
+ sM2_6b:
+
+ mes "[Raul Expagarus]";
+ mes "8. Which Item can't be equiped by mages?";
+ next;
+ menu "Knife",sM2_7b, "Cap",sM2_7a, "Sandel",sM2_7b, "Eye of Dullahan",sM2_7b;
+
+ sM2_7a:
+ set @SCORE, @SCORE + 10;
+
+ sM2_7b:
+
+ mes "[Raul Expagarus]";
+ mes "9. During the mage test, which stone is NOT one of the Catalysts?";
+ next;
+ menu "Yellow Gemstone",sM2_8b, "Red Gemstone",sM2_8b, "Blue Gemstone",sM2_8b, "Red Blood",sM2_8a;
+
+ sM2_8a:
+ set @SCORE, @SCORE + 10;
+
+ sM2_8b:
+
+ mes "[Raul Expagarus]";
+ mes "10. Which card has nothing to do with magic?";
+ next;
+ menu "Marduk Card",sM2_9b, "Baek-Rhyun-Oak Card",sM2_9a, "Willow Card",sM2_9b, "Maya Card",sM2_9b;
+
+ sM2_9a:
+ set @SCORE, @SCORE + 10;
+
+ sM2_9b:
+
+
+ L_Cont0:
+ mes "[Raul Expagarus]";
+ mes "Well that's the end of the test. When you get some time afterwards, go get something to eat okay.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "Anyway, here is your score: ^ff0000"+@SCORE+"^000000 points.";
+ next;
+ mes "[Raul Expagarus]";
+ if(@SCORE == 100) goto sL_Pass100;
+ if(@SCORE == 90) goto sL_Pass90;
+
+ sL_Failed:
+ set WIZ_Q2, 1;
+ mes "Hmf... You failed, go study some more.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "You're a long way away. With that low of an intelligence, you have no chance of surviving as a wizard.";
+ close;
+
+ sL_Pass90:
+ set WIZ_Q, 3;
+ set WIZ_Q2, 0;
+ mes "Hmm, you've missed one question, but I'll let you pass.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "Don't relax yet! There is still a 3rd test left. While we prepare for the next test, sit and rest a bit.";
+ close;
+
+ sL_Pass100:
+ set WIZ_Q, 3;
+ set WIZ_Q2, 0;
+ mes "Wonderful! You've passed the 2nd test.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "Don't relax yet! There is still a 3rd test left. While we prepare for the next test, sit and rest a bit.";
+ close;
+
+
+ L_Test3:
+ if(WIZ_Q2 == 1) goto sL_ReTest3;
+ mes "Got some rest? Good. Now, let's start the last test.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "I'll make a quick explanation of the test, want to hear it?";
+ next;
+ menu "No thank you.",M_1a, "Please go on",M_1b;
+
+ M_1a:
+ mes "[Raul Expagarus]";
+ mes "Ignorant fool! Fine, go die if you wish! Your corpse will be left as food for the monsters.";
+ emotion 23;
+ next;
+ mes "[Raul Expagarus]";
+ mes "I'll send you now... By the way, have fun getting slaughtered!";
+ next;
+ savepoint "gef_tower.gat",106,29;
+ warp "job_wiz.gat",57,154;
+ end;
+
+ M_1b:
+ mes "[Raul Expagarus]";
+ mes "Good choice. Listen carefully.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "The is a test of your ability to fight monsters of varying elemental properites.";
+ mes "There will be 3 different rooms, each containing monsters of a different elemental property.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "There will be the Room of Water which will have monsters of the water property, followed by the ";
+ mes "Room of Earth with earth property monsters, and finally the Room of Fire with fire property monsters.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "You will have 3 minutes for each room. You must kill all of the monsters in the room to be able to advance to the next room.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "If you use that right spells you should be able to finish the test rather easily. That's all there is to it.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "You look a little frightened.... give up now and you can return to town.....";
+ next;
+ menu "I have no fear! Give me the test!",sM_a, "... tooo scaaarryy... lemme go home(*sob*sob*)",sM_b;
+
+ sM_a:
+ mes "[Raul Expagarus]";
+ mes "Kid, you have courage. We'll start right away!";
+ next;
+ set WIZ_Q2, 1;
+ savepoint "gef_tower.gat",106,29;
+ warp "job_wiz.gat",57,154;
+ end;
+
+ sM_b:
+ mes "[Raul Expagarus]";
+ mes "Good choice. Have a nice peaceful life!";
+ warp "geffen.gat",120,110;
+ end;
+
+ sL_ReTest3:
+ mes "You want to take the test AGAIN!? You love magic THAT much!?";
+ emotion 1;
+ next;
+ mes "[Raul Expagarus]";
+ mes "You failed last time, so it's time for a quiz! If you don't want to take it, TOO BAD!.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "Let's start.";
+ next;
+ set @SCORE, 0;
+
+ mes "[Raul Expagarus]";
+ mes "1. Which monster doesn't exist?";
+ next;
+ menu "Mantis",sM_0b, "Cunner Tooth",sM_0a, "Giearth",sM_0b, "Caramel",sM_0b;
+
+ sM_0a:
+ set @SCORE, @SCORE + 20;
+
+ sM_0b:
+
+ mes "[Raul Expagarus]";
+ mes "2. Which monster is NOT a animal type?";
+ next;
+ menu "Yoyo",sM_1b, "Bigfoot",sM_1b, "Metaller",sM_1b, "Zerom",sM_1a;
+
+ sM_1a:
+ set @SCORE, @SCORE + 20;
+
+ sM_1b:
+
+ mes "[Raul Expagarus]";
+ mes "3. Which monster has no cast sense?";
+ next;
+ menu "Marina",sM_2a, "Vitata",sM_2b, "Scorpion",sM_2b, "Giearth",sM_2b;
+
+ sM_2a:
+ set @SCORE, @SCORE + 20;
+
+ sM_2b:
+
+ mes "[Raul Expagarus]";
+ mes "4. What's a good spell to use on Marin Spheres?";
+ next;
+ menu "Cold Bolt",sM_3b, "Fire Bolt",sM_3b, "Lightning Bolt",sM_3a, "Stone Curse",sM_3b;
+
+ sM_3a:
+ set @SCORE, @SCORE + 20;
+
+ sM_3b:
+
+ mes "[Raul Expagarus]";
+ mes "5. Which monster can move?";
+ next;
+ menu "Hydra",sM_4b, "Mandragora",sM_4b, "Greatest General",sM_4b, "Frilldora",sM_4a;
+
+ sM_4a:
+ set @SCORE, @SCORE + 20;
+
+ sM_4b:
+
+ mes "[Raul Expagarus]";
+ mes "Your score is ^ff0000" +@SCORE+ "^000000 pts.";
+ next;
+ mes "[Raul Expagarus]";
+ if (@SCORE >= 80) goto sL_Passed3;
+
+ sL_Failed3:
+ mes "You Failed! Go study some more!";
+ next;
+ mes "[Raul Expagarus]";
+ mes "You aren't fit to be a wizard, why do you think you failed!?";
+ close;
+
+ sL_Passed3:
+ if (@SCORE == 100) mes "If you're so smart, why couldn't you pass the test the first time?";
+ if (@SCORE == 80) mes "Kehe, almost perfect. I'll let you try again.";
+ next;
+ menu "Let's start!",M_2a, "Explain the test again please.",M_1b;
+
+ M_2a:
+ mes "[Raul Expagarus]";
+ mes "I won't help you even if you die this time. Don't come crying to me if you fail again.... hehe.";
+ next;
+ percentheal 100,100;
+ mes "[Raul Expagarus]";
+ mes "I'll send you to the arena now. Have fun getting your butt whooped!";
+ next;
+ savepoint "gef_tower.gat",106,29;
+ warp "job_wiz.gat",55,156;
+ end;
+}
+
+
+//<====================================================== Test Arena ========================================================>\\
+// Test Guide ---------------------------------------------------------------------------------
+job_wiz.gat,50,165,4 script Wizard Test Guide::WzTG 123,{
+ mes "[Test Guide]";
+ mes "Welcome. I will be your guide for the Wizard Test.";
+ next;
+ menu "I would like to take the test.",M_0, "I would like to leave.",M_1;
+
+ M_0:
+ mes "[Test Guide]";
+ mes "As you have been told you will have 3 minutes to finish each portion of the test.";
+ mes "I will periodically announce how much time you have left for each room on a minute by minute basis.";
+ next;
+ mes "[Test Guide]";
+ mes "Please enter the 'Wizard Test Waiting Room' when you are ready to take the test.";
+ mes "When the testing room is ready you will be automatically warped there and the exam will begin.";
+ next;
+ mes "[Test Guide]";
+ mes "Good luck!";
+ close;
+ M_1:
+ mes "[Test Guide]";
+ mes "I see. I will send you back.";
+ next;
+ warp "gef_tower.gat",106, 35;
+ end;
+
+OnInit:
+ waitingroom "Wizard Test Waiting Room",8,"WzTG::OnStart",1;
+ end;
+
+OnStart:
+ set $@WzUsers, getareausers("job_wiz.gat", 98, 154, 129, 185); // get user count for first lvl
+ set $@WzUsers, $@WzUsers + getareausers("job_wiz.gat", 100, 82, 131, 113); // get user count for second lvl + first lvl
+ set $@WzUsers, $@WzUsers + getareausers("job_wiz.gat", 30, 82, 61, 113); // get user count for third lvl + second lvl + first lvl
+ if ($@WzUsers > 0) end;
+
+ if ((getwaitingroomstate(33)) == 0) end; // finds out if there is anyone in the waiting room
+ disablenpc "waterwrp"; //disables the warps
+ disablenpc "waterwarpW";
+ disablenpc "waterwarpN";
+ disablenpc "waterwarpS";
+ disablenpc "earthwrp";
+ disablenpc "earthwarpW";
+ disablenpc "earthwarpN";
+ disablenpc "earthwarpS";
+ disablenpc "firewrp";
+ disablenpc "firewarpN";
+ disablenpc "firewarpW";
+ disablenpc "firewarpS";
+ killmonsterall "job_wiz.gat"; //makes sure there are no left over mobs from other testers
+ warpwaitingpc "job_wiz.gat",114,169;
+ donpcevent "WaterRm";
+ end;
+}
+
+// Room of Water -----------------------------------------------------------------------------
+job_wiz.gat,1,1,1 script WaterRm -1,{
+ set $@WzRm, 1; // used to determine which map area(room) to make time announcements in
+ set $@WzMOB, 8; //used as a counter for the monsters that are summoned
+ monster "job_wiz.gat",109,174,"Phen",1158,1,"WaterRm::OnMyMobDead1";
+ monster "job_wiz.gat",118,174,"Kukre",1070,1,"WaterRm::OnMyMobDead1";
+ monster "job_wiz.gat",98,170,"Kukre",1070,1,"WaterRm::OnMyMobDead1";
+ monster "job_wiz.gat",109,165,"Vadon",1066,1,"WaterRm::OnMyMobDead1";
+ monster "job_wiz.gat",118,165,"Cornutus",1067,1,"WaterRm::OnMyMobDead1";
+ monster "job_wiz.gat",101,157,"Marina",1141,1,"WaterRm::OnMyMobDead1";
+ monster "job_wiz.gat",126,157,"Marin",1242,1,"WaterRm::OnMyMobDead1";
+ monster "job_wiz.gat",129,170,"Obeaune",1044,1,"WaterRm::OnMyMobDead1";
+ initnpctimer "TimerWz";
+ end;
+
+OnMyMobDead1: //when a monster dies this portion of script is run
+ set $@WzMOB, $@WzMOB - 1;
+ if ($@WzMOB > 0) end;
+
+ stopnpctimer "TimerWz";
+ set $@WzMOB, 0;
+ addtimer 2000, "WaterRm::OnTimer2000";
+ end;
+
+OnTimer2000:
+ set $@WzMOB, 5;
+ areaannounce "job_wiz.gat", 98, 154, 129, 185, "[Test Guide]: You must now defeat the door gaurds! Hurry!",8;
+ monster "job_wiz.gat",114,169,"Marine Sphere",1142,1,"WaterRm::OnMyMobDead2";
+ monster "job_wiz.gat",112,169,"Hydra",1068,1,"WaterRm::OnMyMobDead2";
+ monster "job_wiz.gat",116,169,"Hydra",1068,1,"WaterRm::OnMyMobDead2";
+ monster "job_wiz.gat",114,171,"Hydra",1068,1,"WaterRm::OnMyMobDead2";
+ monster "job_wiz.gat",114,167,"Hydra",1068,1,"WaterRm::OnMyMobDead2";
+ setnpctimer 120000, "TimerWz";
+ startnpctimer "TimerWz";
+ end;
+
+OnMyMobDead2:
+ set $@WzMOB, $@WzMOB - 1;
+ if ($@WzMOB > 0) end;
+
+ stopnpctimer "TimerWz";
+ set $@WzMOB, 0;
+ areaannounce "job_wiz.gat", 98, 154, 129, 185, "[Test Guide]: Well done. You have completed the Room of Water. Get ready for the Room of Earth.",8;
+ percentheal 100,100;
+ enablenpc "waterwrp";
+ enablenpc "waterwarpW";
+ enablenpc "waterwarpN";
+ enablenpc "waterwarpS";
+ initnpctimer "waterwrp"; // warps the player after 30 secs even if they don't enter the warps
+ end;
+}
+
+// Room of Earth -----------------------------------------------------------------------------------------------
+job_wiz.gat,1,1,1 script EarthRm -1,{
+ set $@WzRm, 2;
+ set $@WzMOB, 10;
+ monster "job_wiz.gat",111,102,"Yoyo",1057,1,"EarthRm::OnMyMobDead1";
+ monster "job_wiz.gat",120,102, "Deniro",1105,1,"EarthRm::OnMyMobDead1";
+ monster "job_wiz.gat",111,102, "Caramel",1103,1,"EarthRm::OnMyMobDead1";
+ monster "job_wiz.gat",120,102,"Hode",1127,1,"EarthRm::OnMyMobDead1";
+ monster "job_wiz.gat",111,93,"Savage",1166,1,"EarthRm::OnMyMobDead1";
+ monster "job_wiz.gat",120,93,"Giearth",1121,1,"EarthRm::OnMyMobDead1";
+ monster "job_wiz.gat",107,98,"Bigfoot",1160,1,"EarthRm::OnMyMobDead1";
+ monster "job_wiz.gat",124,98,"Orc Warrior",1023,1,"EarthRm::OnMyMobDead1";
+ monster "job_wiz.gat",104,86,"Vitata",1176,1,"EarthRm::OnMyMobDead1";
+ monster "job_wiz.gat",127,86,"Mantis",1139,1,"EarthRm::OnMyMobDead1";
+ initnpctimer "TimerWz";
+ end;
+
+OnMyMobDead1:
+ set $@WzMOB, $@WzMOB - 1;
+ if ($@WzMOB > 0) end;
+
+ stopnpctimer "TimerWz";
+ addtimer 2000, "EarthRm::OnTimer2000";
+ set $@WzMOB, 0;
+ end;
+
+OnTimer2000:
+ set $@WzMOB, 7;
+ areaannounce "job_wiz.gat", 100, 82, 131, 113, "[Test Guide]: You now must defeat the door gaurds! Hurry!.",8;
+ monster "job_wiz.gat",116,97,"Flora",1118,1,"EarthRm::OnMyMobDead2";
+ monster "job_wiz.gat",114,95,"Mandragora",1020,1,"EarthRm::OnMyMobDead2";
+ monster "job_wiz.gat",118,95,"Mandragora",1020,1,"EarthRm::OnMyMobDead2";
+ monster "job_wiz.gat",114,99,"Mandragora",1020,1,"EarthRm::OnMyMobDead2";
+ monster "job_wiz.gat",118,99,"Mandragora",1020,1,"EarthRm::OnMyMobDead2";
+ monster "job_wiz.gat",116,94,"Mandragora",1020,1,"EarthRm::OnMyMobDead2";
+ monster "job_wiz.gat",116,100,"Mandragora",1020,1,"EarthRm::OnMyMobDead2";
+ setnpctimer 120000, "TimerWz";
+ startnpctimer "TimerWz";
+ end;
+
+OnMyMobDead2:
+ set $@WzMOB, $@WzMOB - 1;
+ if ($@WzMOB > 0) end;
+
+ stopnpctimer "TimerWz";
+ set $@WzMOB, 0;
+ areaannounce "job_wiz.gat", 100, 82, 131, 113, "[Test Guide]: Well done. You have completed the Room of Earth. Get ready for the Room of Fire.",8;
+ percentheal 100,100;
+ enablenpc "earthwrp";
+ enablenpc "earthwarpN";
+ enablenpc "earthwarpW";
+ enablenpc "earthwarpS";
+ initnpctimer "earthwrp";
+ end;
+}
+
+// Room of Fire ------------------------------------------------------------------------------------------------------------
+job_wiz.gat,1,1,1 script FireRm -1,{
+ set $@WzRm, 3;
+ set $@WzMOB, 7;
+ monster "job_wiz.gat",58,110,"Zerom",1178,1,"FireRm::OnMyMobDead1";
+ monster "job_wiz.gat",33,110,"Flail Goblin",1123,1,"FireRm::OnMyMobDead1";
+ monster "job_wiz.gat",40,103,"Scorpion",1001,1,"FireRm::OnMyMobDead1";
+ monster "job_wiz.gat",51,103,"Frilldora",1119,1,"FireRm::OnMyMobDead1";
+ monster "job_wiz.gat",40,92,"Peco Peco",1019,1,"FireRm::OnMyMobDead1";
+ monster "job_wiz.gat",51,92,"Elder Willow",1033,1,"FireRm::OnMyMobDead1";
+ monster "job_wiz.gat",37,89,"Metaller",1058,1,"FireRm::OnMyMobDead1";
+ initnpctimer "TimerWz";
+ end;
+
+OnMyMobDead1:
+ set $@WzMOB, $@WzMOB - 1;
+ if ($@WzMOB > 0) end;
+
+ stopnpctimer "TimerWz";
+ addtimer 2000, "FireRm::OnTimer2000";
+ set $@WzMOB, 0;
+ end;
+
+OnTimer2000:
+ set $@WzMOB, 3;
+ areaannounce "job_wiz.gat", 30, 82, 61, 113, "[Test Guide]: You now must defeat the door gaurds! Hurry!.",8;
+ monster "job_wiz.gat",44,99,"Greatest General",1277,1,"FireRm::OnMyMobDead2";
+ monster "job_wiz.gat",43,99,"Horong",1129,1,"FireRm::OnMyMobDead2";
+ monster "job_wiz.gat",45,99,"Horong",1129,1,"FireRm::OnMyMobDead2";
+ setnpctimer 120000, "TimerWz";
+ startnpctimer "TimerWz";
+ end;
+
+OnMyMobDead2:
+ set $@WzMOB, $@WzMOB - 1;
+ if ($@WzMOB > 0) end;
+
+ stopnpctimer "TimerWz";
+ set $@WzMOB, 0;
+ set WIZ_Q, 4;
+ set WIZ_Q2, 0;
+ areaannounce "job_wiz.gat", 30, 82, 61, 113, "[Test Guide]: Well done. You have completed the Room of Fire and the entire test.",0;
+ enablenpc "firewrp";
+ enablenpc "firewarpN";
+ enablenpc "firewarpW";
+ enablenpc "firewarpS";
+ initnpctimer "firewrp";
+ end;
+}
+
+
+// Timer -----------------------------------------------------------------------------------------------
+job_wiz.gat,1,1,1 script TimerWz -1,{
+
+OnTimer1000:
+ if($@WzRm==1) areaannounce "job_wiz.gat", 98, 154, 129, 185, "[Test Guide]: Room of Water, testing will begin.",8;
+ if($@WzRm==2) areaannounce "job_wiz.gat", 100, 82, 131, 113, "[Test Guide]: Room of Earth, testing will begin.",8;
+ if($@WzRm==3) areaannounce "job_wiz.gat", 30, 82, 61, 113, "[Test Guide]: Room of Fire, testing will begin.",8;
+ end;
+OnTimer4000:
+ set $@WzTime$, "You have 3 minutes to defeat all of the monsters in this room starting now!";
+ donpcevent "WzTG::OnStart"; //checks to see if anyone is still in the room, in case of logout or KO
+ callsub AnnounceWz;
+OnTimer34000:
+ donpcevent "WzTG::OnStart";
+ end;
+OnTimer64000:
+ set $@WzTime$, "You have 2 minutes left!";
+ donpcevent "WzTG::OnStart";
+ callsub AnnounceWz;
+OnTimer94000:
+ donpcevent "WzTG::OnStart";
+ end;
+OnTimer124000:
+ set $@WzTime$, "You have 1 minute left!";
+ donpcevent "WzTG::OnStart";
+ callsub AnnounceWz;
+OnTimer154000:
+ set $@WzTime$, "You have 30 seconds left!";
+ donpcevent "WzTG::OnStart";
+ callsub AnnounceWz;
+OnTimer174000:
+ set $@WzTime$, "You have 10 seconds left!";
+ callsub AnnounceWz;
+OnTimer184000:
+ set $@WzTime$, "Time is up. You have failed the test.";
+ callsub AnnounceWz;
+OnTimer188000:
+ stopnpctimer;
+ if($@WzRm==1) areawarp "job_wiz.gat", 98, 154, 129, 185, "gef_tower.gat",106, 35;
+ if($@WzRm==2) areawarp "job_wiz.gat", 100, 82, 131, 113, "gef_tower.gat",106, 35;
+ if($@WzRm==3) areawarp "job_wiz.gat", 30, 82, 61, 113, "gef_tower.gat",106, 35;
+ killmonsterall "job_wiz.gat";
+ donpcevent "WzTG::OnStart";
+ end;
+
+AnnounceWz:
+ if($@WzRm==1) areaannounce "job_wiz.gat", 98, 154, 129, 185, "[Test Guide]: "+$@WzTime$+".",8;
+ if($@WzRm==2) areaannounce "job_wiz.gat", 100, 82, 131, 113, "[Test Guide]: "+$@WzTime$+".",8;
+ if($@WzRm==3) areaannounce "job_wiz.gat", 30, 82, 61, 113, "[Test Guide]: "+$@WzTime$+".",8;
+ end;
+}
+
+
+// Warps ------------------------------------------------------------------------------------------
+
+// Water
+job_wiz.gat,129,169,1 script waterwarpE::waterwrp 45,1,1,{
+
+OnTimer30000:
+ stopnpctimer "waterwrp";
+ areawarp "job_wiz.gat", 98, 154, 129, 185, "job_wiz.gat",116,98;
+ donpcevent "EarthRm";
+ end;
+}
+job_wiz.gat,98,169,1 duplicate(waterwrp) waterwarpW 45,1,1
+job_wiz.gat,114,185,1 duplicate(waterwrp) waterwarpN 45,1,1
+job_wiz.gat,114,154,1 duplicate(waterwrp) waterwarpS 45,1,1
+
+
+// Earth
+job_wiz.gat,131,98,1 script earthwarpE::earthwrp 45,1,1,{
+
+OnTimer30000:
+ stopnpctimer "earthwrp";
+ areawarp "job_wiz.gat", 100, 82, 131, 113, "job_wiz.gat",47,98;
+ donpcevent "FireRm";
+ end;
+}
+job_wiz.gat,100,98,1 duplicate(earthwrp) earthwarpW 45,1,1
+job_wiz.gat,116,82,1 duplicate(earthwrp) earthwarpN 45,1,1
+job_wiz.gat,116,113,1 duplicate(earthwrp) earthwarpS 45,1,1
+
+
+// Fire
+job_wiz.gat,61,97,1 script firewarpE::firewrp 45,1,1,{
+
+OnTimer30000:
+ stopnpctimer "firewrp";
+ areawarp "job_wiz.gat", 30, 82, 61, 113, "gef_tower.gat",106,35;
+ donpcevent "WzTG::OnStart";
+ end;
+}
+job_wiz.gat,30,97,1 duplicate(firewrp) firewarpW 45,1,1
+job_wiz.gat,46,113,1 duplicate(firewrp) firewarpN 45,1,1
+job_wiz.gat,46,82,1 duplicate(firewrp) firewarpS 45,1,1
+
+
+//==============================================================================
+// mapflag
+//==============================================================================
+job_wiz.gat mapflag nomemo
+job_wiz.gat mapflag noteleport
+job_wiz.gat mapflag nosave SavePoint
+job_wiz.gat mapflag nopenalty
+job_wiz.gat mapflag nobranch
+job_wiz.gat mapflag noexp
+job_wiz.gat mapflag noloot
diff --git a/npc/jobs/2-1a/AssassinCross.txt b/npc/jobs/2-1a/AssassinCross.txt new file mode 100644 index 000000000..d56b3df89 --- /dev/null +++ b/npc/jobs/2-1a/AssassinCross.txt @@ -0,0 +1,19 @@ +//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
+
+// -== Assassin Cross ==-
+valkyrie.gat,44,58,6 script Assassin Cross 725,{
+ callfunc "F_Rebirth",30,"Thief High",36,"Assassin Cross",149,150,151,152;
+}
diff --git a/npc/jobs/2-1a/HighPriest.txt b/npc/jobs/2-1a/HighPriest.txt new file mode 100644 index 000000000..2331eaef6 --- /dev/null +++ b/npc/jobs/2-1a/HighPriest.txt @@ -0,0 +1,19 @@ +//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
+
+// -== High Priest ==-
+valkyrie.gat,44,42,6 script High Priest 60,{
+ callfunc "F_Rebirth",28,"Acolyte High",32,"High Priest",156,0,0,0;
+}
diff --git a/npc/jobs/2-1a/HighWizard.txt b/npc/jobs/2-1a/HighWizard.txt new file mode 100644 index 000000000..44f8469ef --- /dev/null +++ b/npc/jobs/2-1a/HighWizard.txt @@ -0,0 +1,19 @@ +//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
+
+// -== High Wizard ==-
+valkyrie.gat,44,47,6 script High Wizard 735,{
+ callfunc "F_Rebirth",26,"High Mage",33,"High Wizard",157,0,0,0;
+}
diff --git a/npc/jobs/2-1a/LordKnight.txt b/npc/jobs/2-1a/LordKnight.txt new file mode 100644 index 000000000..96f2f5f56 --- /dev/null +++ b/npc/jobs/2-1a/LordKnight.txt @@ -0,0 +1,19 @@ +//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
+
+// -== Lord Knight ==-
+valkyrie.gat,44,39,6 script Lord Knight 56,{
+ callfunc "F_Rebirth",25,"Swordman High",31,"Lord Knight",144,145,146,0;
+}
diff --git a/npc/jobs/2-1a/Sniper.txt b/npc/jobs/2-1a/Sniper.txt new file mode 100644 index 000000000..2a57e1562 --- /dev/null +++ b/npc/jobs/2-1a/Sniper.txt @@ -0,0 +1,19 @@ +//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
+
+// -== Sniper ==-
+valkyrie.gat,44,55,6 script Sniper 727,{
+ callfunc "F_Rebirth",27,"High Archer",35,"Sniper",147,148,0,0;
+}
diff --git a/npc/jobs/2-1a/WhiteSmith.txt b/npc/jobs/2-1a/WhiteSmith.txt new file mode 100644 index 000000000..95549f892 --- /dev/null +++ b/npc/jobs/2-1a/WhiteSmith.txt @@ -0,0 +1,19 @@ +//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
+
+// -== White Smith ==-
+valkyrie.gat,44,51,6 script White Smith 726,{
+ callfunc "F_Rebirth",29,"Merchant High",34,"White Smith",153,154,155,0;
+}
diff --git a/npc/jobs/2-1e/StarGladiator.txt b/npc/jobs/2-1e/StarGladiator.txt new file mode 100644 index 000000000..dd0d4559c --- /dev/null +++ b/npc/jobs/2-1e/StarGladiator.txt @@ -0,0 +1,56 @@ +//===== eAthena Script =======================================
+//= Star Gladiator Job Quest
+//===== By: ==================================================
+//= Lupus
+//===== Current Version: =====================================
+//= 0.1a
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= 0.1 Now it's just a temp job quest NPC [Lupus]
+//= 0.1a Small fix in warp [Komurka]
+//============================================================
+
+
+job_star.gat,166,15,0 warp startopay 1,1,payon.gat,151,85
+
+job_star.gat,166,37,2 script Star Gladiator 764,{
+ mes "[Star Gladiator]";
+ if(Class==Job_Taekwon) goto L_Check;
+ if(Class==Job_Star_Gladiator){
+ mes "You've chosen the hardest way... But it's your faith...";
+ close;
+ }
+ mes "Are you a Taekwon? No?! Get lost.";
+ emotion 1;
+ close;
+
+L_Check:
+ mes "Hello!";
+ mes "Are you strong enough to protect your sisters and brothers? Do you want to be a Star Gladiator?";
+ next;
+ menu "I want to be a Star Gladiator",-,"Not yet.",M_NOTHING;
+
+ mes "[Star Gladiator]";
+ if(JobLevel<40 || SkillPoint) {
+ mes "I'm sorry, my friend. You need 40 Job Level and no skill points left.";
+ close;
+ }
+ if(Weight<MaxWeight) {
+ mes "You have strong feet... Bring me as much ores, gems and gold as you can... Much More Heavier Than Now!";
+ emotion e_sry;
+ close;
+ }
+
+ jobchange Job_Star_Gladiator;
+ callfunc "F_ClearJobVar";
+ mes "You did it! You are worth!";
+ close;
+
+M_NOTHING:
+ mes "[Star Gladiator]";
+ mes "I'll wait here forever. We need more protectors for our people.";
+ close;
+}
diff --git a/npc/jobs/2-2/alchemist.txt b/npc/jobs/2-2/alchemist.txt new file mode 100644 index 000000000..8590c9df8 --- /dev/null +++ b/npc/jobs/2-2/alchemist.txt @@ -0,0 +1,1080 @@ +//===== eAthena Script =======================================
+//= Alchemist Job Quest
+//===== By: ==================================================
+//= nestor_zulueta (Fusion)
+//= converted by Darkchild
+//===== Current Version: =====================================
+//= 1.6a
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Alchemist job quest based off of official iRO quest.
+//===== Additional Comments: =================================
+//= v1.0 Working.
+//= npc/quests/counteragent_mixture.txt Also Needed
+//= npc/quests/quests_yuno.txt Also Needed [Darkchild]
+//= v1.1 Fixed some minor bugs. Optimized some lines. Re-organized the script a bit.
+//= Giving Parmry NPC, Hammer and Old Book now waves the 50000 fee. (based of mRO website)
+//= Having a joblvl of 50 allows you to skip Rasputin's test. (based of mRO website) [kobra_k88]
+//= 1.2 fixed a few typos (have to hunt more) [Lupus]
+//= 1.3 Added Baby Class Support [Lupus]
+//= 1.6 Added a func which prevent advanced classes passing
+//= 2nd Job Quests again. It also guides adv classes where
+//= to go. [Lupus]
+//= 1.6a fixed some wrong answers, thanks to zlider for info [Lupus]
+//============================================================
+
+
+//==================================================================================================//
+// Registration and First Test
+//==================================================================================================//
+alde_alche.gat,27,185,4 script Parmry Gianino 744,{
+ callfunc "F_BlockHigh",29,"Merchant High",42,"Creator","Parmry Gianino";
+
+ mes "[Parmry Gianino]";
+ if(BaseJob == 5) goto L_Merc;
+ if(BaseJob == Job_Alchem) goto L_Alch;
+L_Other:
+ mes "Welcome to the Alchemist Union. Ah, I apologize but I'm busy right now.";
+ close;
+L_Alch:
+ mes "Hey there fellow Alchemist. How's the business going? Good I hope, well good luck to you.";
+ close;
+L_Merc:
+ if(ALCH_Q == 1) goto L_Check;
+ if(ALCH_Q == 2) goto L_Test2;
+ if(ALCH_Q == 3) goto L_Test3;
+ if(ALCH_Q == 4) goto L_Test4;
+ if(ALCH_Q == 5) goto L_Test5;
+ if(ALCH_Q == 6) goto L_Test6;
+ if(ALCH_Q == 7) goto L_GoChange;
+ mes "Welcome to the Alchemist Union.";
+ mes "How may i help you?";
+ next;
+ menu "I would like to learn about Alchemey",M_Learn, "I want to become an Alchemist.",L_Start, "Nothing.",M_End;
+
+ M_Learn:
+ mes "[Parmry Gianino]";
+ mes "Alchemists study and create new materials using a variety of existing substances.";
+ mes "They research the atoms of chemicals, and experiment to change the properties of the chemicals.";
+ next;
+ mes "[Parmry Gianino]";
+ mes "Most people think the final goal is to create gold, but that's not the entire truth.";
+ mes "They make anything from simple medicines, to new materials.";
+ next;
+ mes "[Parmry Gianino]";
+ mes "At times, some research the creation of life .... but that's considered god's territory...";
+ mes "That field is so complex, everyone simply researhes for now.";
+ next;
+ mes "[Parmry Gianino]";
+ mes "If you are interested in becoming an Alchemist, I recommend that you gain a lot experience as a Merchant.";
+ mes "Being a merchant is a great opportunity to learn about materials while you deal with them.";
+ next;
+ mes "[Parmry Gianino]";
+ mes "Only you can decide for yourself.";
+ mes "The road to becoming an Alchemist is very challenging.";
+ mes "You will need to focus on experimenting and researching rather than trade.";
+ close;
+ M_End:
+ mes "[Parmry Gianino]";
+ mes "Umm... Please say something if you need anything.";
+ close;
+L_Start:
+ mes "[Parmry Gianino]";
+ if(JobLevel < 40) goto L_LowLvl;
+ mes "Is that so? My name is Parmry Gianino of the Alchemist Association.";
+ mes "Nice to meet you.";
+ next;
+ mes "[Parmry Gianino]";
+ mes "If you join our Union and pass some training you will be officially recognized,";
+ mes "as an Alchemist and be able to join our researches.";
+ next;
+ mes "[Parmry Gianino]";
+ mes "But we dont accept everyone.";
+ mes "You must have a lot of effort, tenacity, and be able to devote yourself to research.";
+ next;
+ mes "[Parmry Gianino]";
+ mes "There are a couple of requirements to join the association....";
+ mes "but we'll discuss that after you apply.";
+ next;
+ mes "[Parmry Gianino]";
+ mes "Then, would you like to apply to register?";
+ next;
+ menu "I would like to apply.",M_Apply,"I'll do it later.",-;
+
+ mes "[Parmry Gianino]";
+ mes "If you are a talented Merchant,";
+ mes "you are always welcome here.";
+ mes "Come again soon.";
+ close;
+ M_Apply:
+ mes "[Parmry Gianino]";
+ mes "Fill out this application form please.....";
+ next;
+ mes "(you fill out the form and hand it back)";
+ next;
+ mes "[Parmry Gianino]";
+ mes "Very good. In order to join the Alchemist Union you must first pay a ^5533FF50,000^000000 zeny membership fee.";
+ mes "You will also need to bring us a few items as well.";
+ next;
+ mes "[Parmry Gianino]";
+ mes "Of course if you bring us an ^5533FFOld Magic Book^000000 and an ^5533FFHammer of Blacksmith^000000...";
+ mes "You won't have to pay the fee.";
+ next;
+ mes "[Parmry Gianino]";
+ mes "Let's see.... you'll need to bring us....^5533FF100 Mini Furnaces^000000.";
+ mes "Once you have the Mini Furnaces come back and see me.";
+ next;
+ mes "[Parmry Gianino]";
+ mes "When you come back I will also collect the ^5533FF50,000^000000 zeny fee so don't forget about that either.";
+ mes "See you soon...";
+ set ALCH_Q,1;
+ close;
+L_LowLvl:
+ mes "You must be at least Job Level 40 to become a Alchemist.";
+ close;
+
+L_Check:
+ mes "Oh, your back already... lets see....";
+ next;
+ mes "[Parmry Gianino]";
+ if(countitem(612) < 100) goto L_NoItems;
+ if(countitem(1005) > 0 && countitem(1006) > 0) goto L_Skip;
+ if(zeny < 50000) goto L_NoZeny;
+ set zeny,zeny - 50000;
+ delitem 612, 100;
+ mes "You have 50,000 zeny...... You brought 100 mini furnaces.... Great!";
+ mes "Now you are ready to learn the basics of being an Alchemist.";
+ next;
+
+ L_Cont:
+ mes "[Parmry Gianino]";
+ mes "But before that... ^5533FFRasputin^000000 wants to see you.....";
+ mes "Hmm..... I'm not sure what it could be about....";
+ next;
+ mes "[Parmry Gianino]";
+ mes "You should go visit him now. Just go down those stairs to my right. His room is in the SouthEastern corner.";
+ set ALCH_Q,2;
+ close;
+
+ L_NoZeny:
+ mes "You still need to pay the ^FF553350,000^000000 zeny membership fee.";
+ mes "Let me know when you have enough money.";
+ close;
+ L_NoItems:
+ mes "As I mentioned before, you must bring ^FF3355100 Mini Furnaces^000000 to join the union.";
+ mes "Please come back when you are ready...";
+ close;
+L_Skip:
+ mes "Oh, you have an ^5533FFOld Magic Book^000000 and an ^5533FFHammer of Blacksmith^000000........";
+ mes "That means you don't have to pay the membership fee.";
+ next;
+ mes "[Parmry Gianino]";
+ mes "Excellent. Now I'll just take the Book, Hammer, 100 mini furnaces, and you'll be all set to learn the basics of being an Alchemist.";
+ next;
+ delitem 1005,1;
+ delitem 1006,1;
+ delitem 612, 100;
+ goto L_Cont;
+
+L_Test2:
+ mes "Go visit ^5533FFRasputin^000000 now!";
+ close;
+L_Test3:
+ mes "Go visit ^5533FFDarwin^000000 now!";
+ close;
+L_Test4:
+ mes "Go visit ^5533FFVan Helmont^000000 now!";
+ close;
+L_Test5:
+ mes "Go visit ^5533FFNicholas Flamel^000000 now!";
+ close;
+L_Test6:
+ mes "Go back to ^5533FFNicholas Flamel^000000 now!";
+ mes "He still has one more test for you.";
+ close;
+L_GoChange:
+ mes "Wow you finished all of the tests? Great now you can visit the Headmaster, ^5533FFVincent Carsciallo^000000.";
+ mes "He's the one who will change you into an Alchemist.";
+ close;
+}
+
+
+//==================================================================================================//
+// 2nd Test: Math test :(
+//==================================================================================================//
+alde_alche.gat,175,107,4 script Rasputin Gregory 749,{
+ mes "[Rasputin Gregory]";
+ if(BaseJob == 5) goto L_Merc;
+L_Other:
+ mes "What is it, kikikiki. Are you curious about what I do...?";
+ mes "I'll just especially let you know. You see I... Kekeke..";
+ next;
+ mes "[Rasputin Gregory]";
+ mes "Am researching! Once this potion is complete... you will be able to take over an entire country!!";
+ next;
+ mes "[Rasputin Gregory]";
+ mes "Kikikikikekekekek. It's a secret to the people of Prontera.....";
+ close;
+L_Merc:
+ if(ALCH_Q == 2) goto L_Start;
+ if(ALCH_Q == 3) goto L_Done;
+ mes "Kikikikikekekekeke.";
+ mes "What is it! You punk.";
+ next;
+ mes "[Rasputin Gregory]";
+ mes "A Merchant should go and set up a shop...";
+ mes "Why'd you come to a place like this!?";
+ mes "Are you looking for something to scab off?";
+ next;
+ mes "[Rasputin Gregory]";
+ mes "Kikiki... Go, leave this place.";
+ mes "Dont loiter ... Kekeke.";
+ close;
+L_Start:
+ if(ALCH_Q2 == 1) goto L_ReTest;
+ if(JobLevel == 50) goto L_Skip;
+ mes "Keke, another dumb one has stumbled into here.";
+ mes "Join the Union?";
+ next;
+ mes "[Rasputin Gregory]";
+ mes "I don't like it... I just don't...!";
+ mes "Everywhere, all joining and being called Alchemist just for knowing how to mix herbs!!!";
+ next;
+ mes "[Rasputin Gregory]";
+ mes "Kikiki, so for that reason an interview is necessary!";
+ mes "I plan on scolding all the incompetent ones and chasing them away!!";
+ next;
+ mes "[Rasputin Gregory]";
+ mes "You look dumb founded. It must be pretty crazy.";
+ mes "If you were thinking of just changing clothes you thought wrong... Kekeke..";
+ next;
+ mes "[Rasputin Gregory]";
+ mes "Now try solving the problems I give you.";
+ mes "We'll see how smart you are.";
+ next;
+ set @score,0;
+
+ //set of question 1
+ q1:
+ mes "[Rasputin Gregory]";
+ mes "12+23+34+45 =?";
+ next;
+ input @num;
+ if(@num == 114) set @score,@score+10;
+ q2:
+ mes "[Rasputin Gregory]";
+ mes "1000-36-227-348 =?";
+ next;
+ input @num;
+ if(@num == 389) set @score,@score+10;
+ q3:
+ mes "[Rasputin Gregory]";
+ mes "9765/3/5/7 =?";
+ next;
+ input @num;
+ if(@num == 93) set @score,@score+10;
+ q4:
+ mes "[Rasputin Gregory]";
+ mes "(2646/7) + (13*28) =?";
+ next;
+ input @num;
+ if(@num == 742) set @score,@score+10;
+ q5:
+ mes "[Rasputin Gregory]";
+ mes "With a 24% discount";
+ mes "How much are 12 Red Potions,";
+ mes "5 Fly Wings, and ";
+ mes "1 Butterfly Wing altogether?";
+ next;
+ input @num;
+ if(@num == 909) set @score,@score+10;
+ q6:
+ mes "[Rasputin Gregory]";
+ mes "What is the total weight of 3 ";
+ mes "Scimiters,";
+ mes "2 Helms and 1 Coat";
+ next;
+ input @num;
+ if(@num == 450) set @score,@score+10;
+ q7:
+ mes "[Rasputin Gregory]";
+ mes "What is the total defense of ";
+ mes "a Biretta, Mantle, Opera Mask,";
+ mes "Ribbon, ";
+ mes "Muffler, Boots, and Ear Muffs?";
+ next;
+ input @num;
+ if(@num == 19) set @score,@score+10;
+ q8:
+ mes "[Rasputin Gregory]";
+ mes "If you buy 5 Helms with a 24%";
+ mes "discount ";
+ mes "and sell it at 20%, how much do you";
+ mes "earn?";
+ next;
+ input @num;
+ if(@num == 1760) set @score,@score+10;
+ goto L_Total;
+
+L_ReTest:
+ mes "What, you want to take the test again?";
+ mes "I thought I told you to leave.";
+ next;
+ mes "[Rasputin Gregory]";
+ mes "Well, I'll let you go this one time...";
+ mes "I forgive you ... Kekeke.";
+ mes "Do well this time...";
+ next;
+ mes "[Rasputin Gregory]";
+ mes "Now then, answer the question I ask.";
+ mes "Let see how smart you are.";
+ next;
+ set @score,0;
+
+ //set of question 2
+ q11:
+ mes "[Rasputin Gregory]";
+ mes "13+25+37+48=?";
+ next;
+ input @num;
+ if(@num == 123) set @score,@score+10;
+ q12:
+ mes "[Rasputin Gregory]";
+ mes "1000-58-214-416 =?";
+ next;
+ input @num;
+ if(@num == 312) set @score,@score+10;
+ q13:
+ mes "[Rasputin Gregory]";
+ mes "12*24*3=?";
+ next;
+ input @num;
+ if(@num == 864) set @score,@score+10;
+ q14:
+ mes "[Rasputin Gregory]";
+ mes "10530/3/5/2=?";
+ next;
+ input @num;
+ if(@num == 351) set @score,@score+10;
+ q15:
+ mes "[Rasputin Gregory]";
+ mes "(35*19) - (1792/7) =?";
+ next;
+ input @num;
+ if(@num == 409) set @score,@score+10;
+ q16:
+ mes "[Rasputin Gregory]";
+ mes "(2368/8) + (24*17) = ?";
+ next;
+ input @num;
+ if(@num == 704) set @score,@score+10;
+ q17:
+ mes "[Rasputin Gregory]";
+ mes "(2646/7) + (13*28)=?";
+ next;
+ input @num;
+ if(@num == 742) set @score,@score+10;
+ q18:
+ mes "[Rasputin Gregory]";
+ mes "If buying at a 24% discount,";
+ mes "What is the total price of";
+ mes "15 Green Potions,";
+ mes "6 Magnifiers and 4 Traps?";
+ next;
+ input @num;
+ if(@num == 934) set @score,@score+10;
+ q19:
+ mes "[Rasputin Gregory]";
+ mes "What is the total weight of ";
+ mes "3 Ring Pommel Sabers,";
+ mes "4 Caps and 2 Boots?";
+ next;
+ input @num;
+ if(@num == 550) set @score,@score+10;
+ q20:
+ mes "[Rasputin Gregory]";
+ mes "What is the total defense of a ";
+ mes "Buckler, Coat, Gas Mask, Big";
+ mes "Ribbon, Ribbon, Sakkat and";
+ mes "Glasses?";
+ next;
+ input @num;
+ if(@num == 16) set @score,@score+10;
+ q21:
+ mes "[Rasputin Gregory]";
+ mes "How much zeny do you make";
+ mes "if you buy Tights at a 24%";
+ mes "discount";
+ mes "and sell it at 20% of the normal";
+ mes "price?";
+ next;
+ input @num;
+ if(@num == 2840) set @score,@score+10;
+L_Total:
+ mes "[Rasputin Gregory]";
+ if(@score < 80) goto L_Failed;
+ set ALCH_Q,3;
+ set ALCH_Q2, 0;
+ mes "Kikiki... I'll let you go.";
+ mes "Do some good research and be of some help to Rasputin... Kikiki!";
+ next;
+ mes "[Rasputin Gregory]";
+ mes "Well then go! ^5533FFGo to Darwin^000000.";
+ mes "He'll teach you how to do the experiments.";
+ mes "Tell him I sent you.";
+ next;
+ mes "[Rasputin Gregory]";
+ mes "Kikikikekeke.";
+ mes "Dont think this is the end of it!";
+ close;
+
+ L_Failed:
+ set ALCH_Q2,1;
+ mes "...Kekeke, you idiot,";
+ mes "I feel dumb asking you all the question!";
+ mes "you got them all wrong!!!";
+ next;
+ mes "[Rasputin Gregory]";
+ mes "How can a person that can't even answer these question think of being an Alchemist!";
+ mes "What? did you get any right?";
+ next;
+ mes "[Rasputin Gregory]";
+ mes "Stupid! If you get one wrong everything is wrong for an Alchemist!";
+ mes "Go! Leave! Get out of here!";
+ close;
+L_Done:
+ mes "What are you doing? Leave already.";
+ mes "Go to ^5533FFDarwin^000000.";
+ mes "He'll teach you how to do the experiments.";
+ mes "Tell him I sent you.";
+ next;
+ mes "[Rasputin Gregory]";
+ mes "Kikikikekeke.";
+ mes "Dont think this is the end of it!";
+ close;
+L_Skip:
+ mes "Hmm... you have a pretty high job level..... I'll be nice today and let you pass.";
+ mes "Next you should go see ^5533FFDarwin^000000.";
+ mes "He'll teach you how to do the experiments.";
+ mes "Tell him I sent you.";
+ set ALCH_Q,3;
+ set ALCH_Q2, 0;
+ close;
+}
+
+
+//==================================================================================================//
+// 3rd Test: Mix some medicine
+//==================================================================================================//
+alde_alche.gat,13,15,8 script Darwin 750,{
+ mes "[Darwin]";
+ if(BaseJob == 5) goto L_Merc;
+L_Other:
+ mes "more to lose or gain...";
+ mes "It's always like that...";
+ next;
+ mes "[Darwin]";
+ mes "All I can see through my cursed eyes";
+ mes "are illusions from the past,";
+ mes "Ahahahaha...";
+ next;
+ mes "[Darwin]";
+ mes "There's no such thing as paradise ... is there ?";
+ mes "My love Harmona.... Aah....";
+ close;
+
+L_Merc:
+ if(ALCH_Q == 3) goto L_Start;
+ if(ALCH_Q == 4) goto L_Done;
+ goto L_Other;
+
+L_Start:
+ if(ALCH_Q2 == 1) goto L_Check;
+ mes "...........";
+ mes ".........";
+ mes "....Who is it...";
+ next;
+ mes "[Darwin]";
+ mes "A wolf? Or a human...";
+ mes "You must be looking for something as well.";
+ next;
+ mes "[Darwin]";
+ mes "If you have something precious, be careful.";
+ mes "You may lose something else while while going after another...";
+ next;
+ mes "[Darwin]";
+ mes "..........";
+ next;
+ mes "[Darwin]";
+ mes "... but what brings you here.";
+ mes "Coming to a place like this.";
+ next;
+ menu "I want to learn how to experiment.",M_Exp, "Tell me more about flowers.",M_Flow;
+
+ M_Flow:
+ mes "[Darwin]";
+ mes ".......";
+ mes "......";
+ mes "...think about your precious things...";
+ next;
+ mes "[Darwin]";
+ mes ".... There is a flower that I faintly remember....";
+ next;
+ mes "[Darwin]";
+ mes "I divulged into researching one thing.....";
+ mes "for the one I love...";
+ next;
+ mes "[Darwin]";
+ mes "Lets just say that it was about the relationship between wolf and flowers...";
+ mes "I wont tell you the details.";
+ next;
+ mes "[Darwin]";
+ mes "But yes ... it was a flower.";
+ mes "with its shine, it was said to let you see paradise Illusion Flower...";
+ next;
+ mes "[Darwin]";
+ mes "I made a homunculus.";
+ mes "Nobody believe me. that I made life from a flower!!!";
+ mes "My research!";
+ next;
+ mes "[Darwin]";
+ mes "But now, I have nothing left..";
+ mes "It's all over.";
+ mes "Time has stopped at that moment in my life...";
+ next;
+ mes "[Darwin]";
+ mes "Aag... Harmona, in the beautiful fields of flowers,";
+ mes "where have you gone....";
+ close;
+ M_Exp:
+ mes "[Darwin]";
+ mes "You want to learn Alchemy...";
+ mes "All the knowledge I possess..";
+ mes "I made to make my dreams come true...";
+ next;
+ mes "[Darwin]";
+ mes "I'll teach you the basics...";
+ mes "but you must determine your own wishes.";
+ next;
+ mes "[Darwin]";
+ mes "So, here are the basics.";
+ mes "This is how you make simple medicine...";
+ mes "Prepare some stuff...";
+ next;
+ mes "[Darwin]";
+ mes "^5533FF3 Medicine Bowls";
+ mes "3 Empty Bottles";
+ mes "1 Red Herb";
+ mes "1 Yellow Herb";
+ mes "1 White Herb^000000";
+ next;
+ mes "[Darwin]";
+ mes "Once you have prepared all the items... come here.";
+ set ALCH_Q2, 1;
+ close;
+
+L_Check:
+ mes "...........";
+ mes ".........";
+ mes "...Who is it....";
+ next;
+ mes "[Darwin]";
+ mes "Ah You're the one that wants to learn Alchemy...";
+ mes "So did you prepare everything?";
+ next;
+ if(countitem(7134) < 3 || countitem(713) < 3 || countitem(507) < 1 || countitem(508) < 1 || countitem(509) < 1) goto L_NotEnuf;
+ delitem 7134,3;
+ delitem 713,3;
+ delitem 507,1;
+ delitem 508,1;
+ delitem 509,1;
+ mes "[Darwin]";
+ mes "Seems like you have everything ready.";
+ mes "As i promised, I'll teach you how to make medicine";
+ next;
+ mes "[Darwin]";
+ mes "First, prepare the Medicine Bowl then put the Herbs inside like this.";
+ mes "And you slowly crush them.";
+ next;
+ mes "[Darwin]";
+ mes "Pour small amounts of clean water and stirr until it become thick, ";
+ mes "then add some more Herbs.";
+ next;
+ mes "[Darwin]";
+ mes "That's how you make it if you think you have enough, ";
+ mes "gently pour it into an empty bottle";
+ next;
+ mes "[Darwin]";
+ mes "There you go, its complete.";
+ mes "This time, do as I showed you.";
+ mes "It should be easy since its so simple.";
+ next;
+ mes "[Darwin]";
+ mes "... even though you don't have one?";
+ next;
+ set @score,0;
+ menu "Prepare the medicine bowl",-, "Wear the medicine bowl on the head",M_0, "Kick the medicine bowl",M_0;
+
+ set @score,@score+10;
+ M_0:
+
+ menu "Put the sand into the medicine bowl",M_1, "Put the herbs into the medicine bowl",-, "Put the harp into the medicine bowl",M_1;
+
+ set @score,@score+10;
+ M_1:
+
+ menu "Smash the herbs",-, "Smash the medicine bowl",M_2, "Smash the Tarosia's foots",M_2;
+
+ set @score,@score+10;
+ M_2:
+
+ menu "Spray the water",M_3, "Drink the water",M_3, "Pour in the water",-;
+
+ set @score,@score+10;
+ M_3:
+
+ menu "Continue to smash the herbs",-, "Continues to eat the herbs",M_4, "Continues to dance and sing",M_4;
+
+ set @score,@score+10;
+ M_4:
+
+ menu "Put in the noodles and fried it",M_5, "Put into the Empty Bottle",-, "Raise the medicine bowl and drink it",M_5;
+
+ set @score,@score+10;
+ M_5:
+
+ mes "[Darwin]";
+ if(@score < 60) goto L_Failed;
+ mes "... Good job. It came out prettywell considering it's your first time...";
+ mes "As a souvenier, take these.";
+ getitem 501,1;
+ getitem 503,1;
+ getitem 504,1;
+ set ALCH_Q,4;
+ set ALCH_Q2,0;
+ next;
+ mes "[Darwin]";
+L_Done:
+ mes "Go to ^5533FFVan Helmont^000000 in the next room...";
+ mes "He'll teach you more details.";
+ mes "Go learn from him.";
+ next;
+ mes "[Darwin]";
+ mes "Don't forget...";
+ mes "You must protect what is trully precious to you.....";
+ close;
+
+ L_Failed:
+ mes "... You messed up all the ingredients.";
+ mes "... Go bring some more.";
+ close;
+L_NotEnuf:
+ mes "[Darwin]";
+ mes "...You must've forgotten the materials to bring.";
+ mes "I'll tell you again.";
+ mes "Dont forget them this time.";
+ next;
+ mes "[Darwin]";
+ mes "^5533FF3 Medicine Bowls";
+ mes "3 Empty Bottles";
+ mes "1 Red Herb";
+ mes "1 Yellow Herb";
+ mes "1 White Herb^000000";
+ next;
+ mes "[Darwin]";
+ mes "Come back when you are ready...";
+ close;
+}
+
+
+//==================================================================================================//
+// 4th Test: Learn from Morgenstein
+//==================================================================================================//
+alde_alche.gat,79,19,4 script Van Helmont 748,{
+ mes "[Van Helmont]";
+ if(BaseJob == 5) goto L_Merc;
+L_Other:
+ mes "Just a little ... yes, a little bit more ....";
+ mes "agh, just a little bit more and it would've been done!";
+ next;
+ mes "[Van Helmont]";
+ mes "Why, why another failure!!!";
+ mes "Nothing was wrong!";
+ mes "Why! Why!";
+ next;
+ mes "[Van Helmont]";
+ mes "Does that mean I have to get more materials...";
+ mes "But I should be able to complete it one day....Heeh...";
+ close;
+L_Merc:
+ if(ALCH_Q == 4) goto L_Start;
+ if(ALCH_Q == 5) goto L_Done;
+ goto L_Other;
+L_Start:
+ if(ALCH_Q2 == 1) goto L_Check;
+ mes "Arrrrgh... Why does this formula just stop... What's wrong.";
+ mes "Theoretically it's all correct...";
+ mes "I'm sure it's because there is an error in the formula";
+ mes "somewhere...";
+ next;
+ mes "[Van Helmont]";
+ mes "That's it, I pour it here and it should stop... but this is the formula that solution doesn't stop flowing.";
+ mes " How could I make such a stupid mistake... when did I switch these...";
+ next;
+ mes "[Van Helmont]";
+ mes "Yes, that's it. I just need to fix this part.";
+ mes "No need to start over.";
+ mes "I just have to fix it...";
+ mes "....But, wait. wait.";
+ next;
+ mes "[Van Helmont]";
+ mes ".....................";
+ next;
+ mes "[Van Helmont]";
+ mes "....Who are you?";
+ next;
+ menu "I want to become an Alchemist.",-,".....",M_Bye;
+
+ mes "[Van Helmont]";
+ mes "Oh, I see....";
+ mes "Haha you want to learn Alchemy in world like this, what a funny merchant... hmmm.";
+ next;
+ mes "[Van Helmont]";
+ mes "Well, that's nice, but I have a very urgent experiment I must tend to.";
+ mes "So don't get in the way.";
+ next;
+ menu "Teach me something.",-,"..........",M_Bye;
+
+ mes "[Van Helmont]";
+ mes "Argh... didn't I just tell you not to bother me?";
+ mes "Why can't you understand when I say something!";
+ next;
+ mes "[Van Helmont]";
+ mes "Ok, I'll give you an assignment.";
+ mes "Go study and come back. Let's see.";
+ mes "What would be good... Hmm...";
+ next;
+ mes "[Van Helmont]";
+ mes "Oh, I got it. Go learn from ^5533FFMorgenstein^000000. Learn how to make a ^009500Counteragent^000000 and ^FF3355Mixture^000000.";
+ mes "You can find him in ^5533FFGeffen^000000.";
+ next;
+ mes "[Van Helmont]";
+ mes "You don't need to bring what you made. But just go watch how he makes medicine and stuff.";
+ mes "Got it?";
+ next;
+ mes "[Van Helmont]";
+ mes "Well then, see you later.";
+ mes "You'd be best off going as soon as you can.";
+ set ALCH_Q2,1;
+ close;
+ M_Bye:
+ mes "[Van Helmont]";
+ mes "If you dont have business here just go away. Ok!!!";
+ close;
+L_Check:
+ if(al_morgen != 1) goto L_NotRdy;
+ mes "Yes, cut the Tentacle..";
+ mes "and mix some Sticku Mucus,";
+ mes "Jellopy solution in the test tube Darn, where did the Medicine Bowl go...";
+ next;
+ mes "[Van Helmont]";
+ mes "Did I use them all.. At a time like this, grrr. I wonder if Nicholas has any left.";
+ mes "Ganfunnit... what a pain.";
+ mes "....but, wait. wait.";
+ next;
+ mes "[Van Helmont]";
+ mes "Ah, you're that merchant from before. So.. did you learn anything?";
+ mes "I didn't send you there to play.";
+ next;
+ mes "[Van Helmont]";
+ mes "Let me ask you a couple of questions. Answer how you heard and learned.";
+ next;
+ set @score,0;
+
+ Q_1a:
+ mes "[Van Helmont]";
+ mes "What item is required to form the Counteragent?";
+ next;
+ menu "Feather",-,"Sticky Mucus",-,"Animal Blood",-;
+
+ Q_1b:
+ mes "[Van Helmont]";
+ mes "Which of the following item is not required in forming the Counteragent?";
+ next;
+ menu "Karvodailnirol",-,"Detrimindexta",Q_2a,"Alchol",Q_2a;
+
+ set @score,@score+10;
+
+ Q_2a:
+ mes "[Van Helmont]";
+ mes "What item is required to form the Mixture?";
+ next;
+ menu "Monster's Feed",-,"Lip of Ancient Fish",-,"Rotten Bandage",-;
+
+ Q_2b:
+ mes "[Van Helmont]";
+ mes "Which of the following item is not required in the process of forming the Mixture?";
+ next;
+ menu "Karvodailnirol",L_Result,"Detrimindexta",-,"Alchol",L_Result;
+
+ set @score,@score+10;
+
+L_Result:
+ mes "[Van Helmont]";
+ if(@score < 20) goto L_Failed;
+ mes "Hmm, you learned well. Ok, now you know some stuff about medicine?";
+ mes "Eh?";
+ mes "I know, you must have a lot to say but let me continue with my experiment.";
+ next;
+ mes "[Van Helmont]";
+ mes "Go out and to the room next to here. ^5533FFNicholas^000000 probably has more to teach you than me.";
+ set ALCH_Q,5;
+ set ALCH_Q2,0;
+ set al_morgen, 0;
+ close;
+
+ L_Failed:
+ mes "...Be honest. You don't know,";
+ mes "do you? I thought I told you to go learn from Morgenstein...";
+ next;
+ mes "[Van Helmont]";
+ mes "Don't even think about coming back before you've learned for sure!";
+ mes "Stop bothering me and leave!";
+ close;
+L_NotRdy:
+ mes "Didn't I tell you to visit Morgenstein in Geffen!?!";
+ mes "He is a wise man! You should go to him!";
+ close;
+L_Done:
+ mes "What are you doing? Go out and to the room next to here. ^5533FFNicholas^000000 probably has more to teach you than me.";
+ mes "I have no more business with you.";
+ close;
+
+}
+
+
+//==================================================================================================//
+// Test 5 & 6: Word Scramble, Help the Baijin Bros.
+//==================================================================================================//
+alde_alche.gat,145,19,4 script Nicholas Flamel 57,{
+ mes "[Nicholas Flamel]";
+ if(BaseJob == 5) goto L_Merc;
+L_Other:
+ mes "Lorem ipsum dolor sit amet,";
+ mes "consectetuer adipiscing elit.";
+ mes "Vivamus sem. Sed metus lacus, viverra id, rutrum eget, rhoncus sit amet, lectus.";
+ mes "Suspendisse sit amet urna in nisl frigilla faucibus.";
+ mes "Nulla scelerisque eros....";
+ mes "......mumblemumble........";
+ close;
+L_Merc:
+ if(ALCH_Q == 5) goto L_Start;
+ if(ALCH_Q == 6) goto L_Start2;
+ if(ALCH_Q == 7) goto L_Done;
+ goto L_Other;
+L_Start:
+ if(ALCH_Q2 == 1) goto L_ReTest;
+ mes "Ooh... you're the Merchant that wants to become an Alchemist?";
+ mes "But you know... not anyone can become an Alchemist.";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "The Union doesn't like those that just want to become Alchemist without a clear goal.";
+ mes "So... to see if you qualify, I'll test how smart you are.";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "As you can see, Alchemist must memorize many equations,";
+ mes "chemical equations and a lot of other information.";
+ mes "If you're not at a certain level..";
+ mes "it's actually pretty tough.";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "The idea is to prevent those that are going to be useless Alchemists from joining the union!";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "Ok... Here go the questions!";
+ mes "This is to test your concentration so that you won't get confused when looking at charts.";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "Find the words from the group of letters. They can be made by using some or all the letters given";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "You pass if you choose the word that is 'IN' the puzzle.";
+ next;
+
+ Q_1:
+ set @score,0;
+ mes "[Nicholas Flamel]";
+ mes "s m i e x b w u n e n t a g l r";
+ next;
+ menu "tiger",-,"wolf",Q_2,"pumpkin",Q_2,"tripped",Q_2;
+
+ set @score,@score+10;
+
+ Q_2:
+ mes "[Nicholas Flamel]";
+ mes "n i e g b o p d s o a u w r v";
+ next;
+ menu "bash",Q_3,"provoke",Q_3,"endure",-,"stun",Q_3,"abracadabra",Q_3;
+
+ set @score,@score+10;
+
+ Q_3:
+ mes "[Nicholas Flamel]";
+ mes "l r m g r e x t a v i n e d e";
+ next;
+ menu "alberta",Q_4,"latifoliate",Q_4,"crimson",Q_4,"maple",Q_4,"evergreen",-;
+
+ set @score,@score+10;
+
+ Q_4:
+ mes "[Nicholas Flamel] ";
+ mes "r o e h n r o m c a i n p t t";
+ next;
+ menu "forgemerchant",L_Score,"potionmerchant",-,"dcmerchant",L_Score,"vendingmerchant",L_Score;
+
+ set @score,@score+10;
+L_Score:
+ if(@score < 40) goto L_Failed;
+ set ALCH_Q,6;
+ set ALCH_Q2,0;
+ mes "[Nicholas Flamel]";
+ mes "You seem to be done.";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "Let's see.";
+ mes "...Good job. Excellent.";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "Somehow you found all of them.";
+ mes "With that kind of concentration, you should easily be able to read the medicine dictionaries.";
+ mes "Let's see... next is..";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "Come back in a little bit. Get organized too..";
+ close;
+
+ L_Failed:
+ mes "[Nicholas Flamel]";
+ mes "Hmmm... You failed!";
+ mes "Get your glasses maybe you can pass next time wearing those.";
+ set ALCH_Q2,1;
+ close;
+L_ReTest:
+ mes "Hmmm you returned.";
+ mes "Well will see if you changed.";
+ next;
+ goto Q_1;
+
+L_Start2:
+ if(ALCH_Q2 > 0) goto L_Check2;
+ mes "Next, you have to go somewhere.";
+ mes "Go to ^5533FF'The Forgotten City of Yuno'^000000 and meet the ^FF3355Bain and Bajin^000000 brothers who are researching alchemy with the Sages there.";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "Go help out and come back Here, take these... it will help you get close to them.";
+ next;
+ getitem 974,1;
+ getitem 7068,5;
+ getitem 7043,5;
+ getitem 756,3;
+ getitem 757,3;
+ mes "[Nicholas Flamel]";
+ mes "1 Mixture";
+ mes "5 Burnt Tree";
+ mes "5 Fine Sand ";
+ mes "3 Rough Oridecon ";
+ mes "3 Rough Elunium";
+ set ALCH_Q2,1;
+ next;
+ mes "[Nicholas Flamel]";
+ mes "Have a safe trip.";
+ mes "It's Yuno. Come back in one piece.";
+ close;
+L_Check2:
+ if(ALCH_Q2 < 2) goto L_NotDone;
+ set ALCH_Q, 7;
+ set ALCH_Q2, 0;
+ mes "Ooh! Well done on such a long trip.";
+ mes "I got a message saying that the Bain and Bajin brothers were happy about your visit.";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "You must have successfully helped them.";
+ mes "If you're good enough to be of help to the brothers... ok, I think you qualify.";
+ next;
+ mes "[Nicholas Flamel]";
+L_Done:
+ mes "Go to the Union Leader on the 2nd floor!";
+ mes "Congratulations. You'll change jobs soon!";
+ close;
+
+ L_NotDone:
+ mes "Bain and Bajin brothers are in Yuno go help them.";
+ close;
+
+}
+
+
+//==================================================================================================//
+// Job Changer
+//==================================================================================================//
+alde_alche.gat,101,184,4 script Vincent Carsciallo 122,{
+ mes "[Vincent Carsciallo]";
+ if(BaseJob == 5) goto L_Merc;
+ if(BaseJob == Job_Alchem) goto L_Alch;
+L_Other:
+ mes "Hmmm? What may a civilian have to do here?";
+ next;
+ mes "[Vincent Carsciallo]";
+ mes "There's nothing amusing. Dont wander and leave.";
+ close;
+L_Alch:
+ mes "How Alchemy going? Make sure to be carefull and think about safety at all times.";
+ mes "I wouldn't want you blowing yourself up or anything.....";
+ close;
+L_Merc:
+ if(ALCH_Q == 7) goto L_Change;
+ mes "Hmmm? A merchant.";
+ mes "Are you interested in Alchemy?";
+ next;
+ mes "[Vincent Carsciallo]";
+ mes "This is the Alchemist Union.";
+ mes "We research many different substances.";
+ mes "Our goal is to make something new without the power of magic.";
+ next;
+ mes "[Vincent Carsciallo]";
+ mes "Create new life, and study how to live long and not die ...";
+ mes "We also make new materials out of existing ones...";
+ mes "These are just some of the things we do.";
+ next;
+ mes "[Vincent Carsciallo]";
+ mes "After being a Merchant for a long time ";
+ mes "you start to become interested in everything.";
+ mes "If you would like to learn Alchemy as well,";
+ mes "try joining our Union.";
+ close;
+L_Change:
+ if(skillpoint != 0) goto L_Skpoint;
+ mes "Ooh, Ok. You joined and learned the basics, too. Well done.";
+ next;
+ callfunc "Job_Change",Job_Alchem;
+ emotion 46;
+ mes "[Vincent Carsciallo]";
+ mes "From now on, you are also a member of the Union as an Alchemist.";
+ mes "I hope you learn a lot...";
+ next;
+ getitem 7127,1;
+ mes "[Vincent Carsciallo]";
+ mes "Here's a little something. ";
+ mes "Use it to start off with some research.";
+ next;
+ mes "[Vincent Carsciallo]";
+ mes "I'll see you later then...";
+ mes "Be proud of being an Alchemist!";
+ callfunc "F_ClearJobVar";
+ close;
+
+ L_Skpoint:
+ mes "Please use all your skill point before talking to me.";
+ close;
+}
diff --git a/npc/jobs/2-2/bard.txt b/npc/jobs/2-2/bard.txt new file mode 100644 index 000000000..62e7936e3 --- /dev/null +++ b/npc/jobs/2-2/bard.txt @@ -0,0 +1,476 @@ +//===== eAthena Script =======================================
+//= Bard Job Quest
+//===== By: ==================================================
+//= Muad_Dib(The Prometheus Project), Lupus
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= eAthena Final
+//===== Description: =========================================
+//= Bard job quest based off a Prometheus Project script
+//= and other sources for clarity
+//===== Additional Comments: =================================
+// 07/06/05 : Added 1st Version. [Muad_Dib]
+// Converted to eAthena format by Dr.Evil
+// Info about gifts and other info --> http://www.ragnainfo.net/forums/viewtopic.php?t=51467&start=0
+// 1.1 Optimized, changed some stuff, fixed some bugs [Lupus]
+// 1.1a minor song test fix [Lupus]
+// 1.2 Fixed wrong item ID, added missing commands [Lupus]
+// 1.3 Updated flower sub-quest according to official [Lupus]
+// 1.4 Changed priority for the gifts. Now you can win the 1st
+// prize, too. Added Izidor flower [Lupus]
+//============================================================
+
+
+comodo.gat,226,123,5 script Wandering Bard 741,{
+ callfunc "F_BlockHigh",27,"High Archer",43,"Clown","Wandering Bard";
+
+ if (BARD_Q == 1) goto L_BQ1;
+ if (BARD_Q == 2) goto L_BQ2;
+ if (BARD_Q == 3) goto L_SINGING;
+ if (BARD_Q == 4) goto L_BQ4;
+ if (BaseJob == Job_Bard) goto L_CLOSE;
+ if (BaseJob == Job_Archer && Sex == 1) goto L_ARCHER;
+
+ mes "[Lalo]";
+ mes "It's a fine day to sing eh.";
+ close;
+
+L_ARCHER:
+ mes "[Lalo]";
+ mes "Hi! Delightful Archer.";
+ mes "How can a wanderer like me help you?";
+ next;
+ menu "You have a nice voice.",-,"Could you sing for me, please?",M_1,"Nothing",M_NOTHING;
+
+ mes "[Lalo]";
+ mes "Hoho, your voice is rather nice as well?";
+ mes "Ever think about singing?";
+ next;
+ menu "Of course!",-,"I can't quite possibly...",M_ICANT;
+
+ mes "[Lalo]";
+ mes "Haha, nice attitude. You have to be";
+ mes "like that to become a Bard.";
+ mes "I'll help you become a Bard then.";
+ next;
+ if(JobLevel >= 40) goto L_GONOW;
+ mes "[Lalo]";
+ mes "But before that... you need to be";
+ mes "at least base 40 to be a Bard.";
+ next;
+ mes "[Lalo]";
+ mes "Just come back again ok.";
+ close;
+
+L_GONOW:
+ set JBLVL, JobLevel; // used to determine what item to get at the end
+ mes "[Lalo]";
+ mes "But before that... do you think you can bring me a Flower?";
+ mes "I need to smell the scent of a";
+ mes "Flower to feel like teaching.";
+ next;
+ mes "[Lalo]";
+ mes "It doesn't really matter which Flower, but try to bring one that I like.";
+ mes "And don't just buy any random Flower, Ok?";
+ set BARD_Q,1;
+ close;
+
+M_ICANT:
+ mes "[Lalo]";
+ mes "Haha, what a timid one.";
+ mes "Don't think so little of yourself.";
+ next;
+ mes "[Lalo]";
+ mes "You have plenty of talent.";
+ mes "Come again if you change your mind.";
+ close;
+
+M_1:
+ mes "[Lalo]";
+ mes "A song... let's see.";
+ mes "Ok, I got one...";
+ next;
+ mes "[Lalo]";
+ mes "I'll sing... Drums of War.";
+ mes "*ehem... *cough... gag... mememememe...";
+ mes "1, 2, 3, 4...";
+ next;
+ mes "[Lalo]";
+ mes "The sound of the horses galloping over the horizon";
+ mes "The dust that covers the distant sun.";
+ mes "Where thousands of eyes open in the night sky";
+ mes "The castle's fire will burn with power.";
+ next;
+ mes "[Lalo]";
+ mes "I can hear... the beating of my heart.";
+ mes "I can feel... the blood rushing through my veins.";
+ mes "... and the weight of my armor.";
+ mes "I can see... my enemies.";
+ next;
+ mes "[Lalo]";
+ mes "Louder, louder louder...";
+ mes "Give strength to the warriors!";
+ mes "Higher, higher, higher...";
+ mes "This day will never come again!";
+ next;
+ mes "[Lalo]";
+ mes "Shake the sky and roar the through the land.";
+ mes "Make my heart pound again!";
+ mes "Let the trumpets sound, and castle walls ring.";
+ mes "This moment will never come again!";
+ next;
+ mes "[Lalo]";
+ mes "Hmm.. that's always a good song to sing.";
+ mes "How it was it? Dont you think it's a nice song?";
+ next;
+ menu "Yes, it was really nice",-,"No, not really...",M_NO;
+
+ mes "[Lalo]";
+ mes "Thanks! If you enjoyed my song, it";
+ mes "makes me happy, too.";
+ next;
+ mes "[Lalo]";
+ mes "It would be nice if more people";
+ mes "went around and sang...";
+ mes "Well, its quite ok as it is now...";
+ mes "hmmhmmm.";
+ close;
+
+M_NO:
+ mes "[Lalo]";
+ mes "Hmmm... Did I loose my senses I'll ";
+ mes "have to try harder.";
+ mes "Anyways... Thanks for listening.";
+ close;
+
+M_NOTHING:
+ mes "[Lalo]";
+ mes "Oh not requesting a song when you";
+ mes "run into a Bard isn't very polite.";
+ mes "Well...can't help it since you";
+ mes "look like you're in a hurry";
+ mes "anyways.";
+ next;
+ mes "[Lalo]";
+ mes "Hunting is good... but you can't";
+ mes "forget to relax once in a while.";
+ mes "Youth is short and wont come again";
+ mes "once it passes by..";
+ close;
+
+L_BQ1:
+ mes "[Lalo]";
+ mes "Welcome! Archer friend.";
+ mes "Did you bring a Flower? Let me see.";
+ next;
+ if(countitem(1032) >= 1) goto L_UGLYFLOWER; //Items: Maneater_Blossom,
+ if(countitem(703) >= 1) goto L_FLOWER1; //Items: Hinalle,
+L_NEXT2:
+ if(countitem(708) >= 1) goto L_FLOWER2; //Items: Ment,
+L_NEXT3:
+ if(countitem(629) >= 1) goto L_FLOWER3; //Items: Singing_Flower,
+L_NEXT4:
+ if(countitem(710) >= 1) goto L_FLOWER4; //Items: Illusion_Flower,
+L_NEXT5:
+ if(countitem(748) >= 1) goto L_FLOWER5; //Items: Witherless_Rose,
+L_NEXT6:
+ if(countitem(709) >= 1) goto L_FLOWER6; //Item: Izidor
+L_NEXT7:
+ if(countitem(712) < 1) goto M_NOTHAVE; //Item: Flower//Items: Flower,
+
+ mes "[Lalo]";
+ mes "Eh? This is just a normal flower.";
+ mes "I like it... but it's not enough.";
+ mes "Please bring me a different flower.";
+ close;
+
+L_UGLYFLOWER:
+ mes "[Lalo]";
+ mes "What is it?! Please, back off and put it away from my face.";
+ mes "I do really hate maneater blossoms!!!";
+ mes "THEY ARE SO UGLY!";
+ emotion 23;
+ close;
+
+M_NOTHAVE:
+ mes "[Lalo]";
+ mes "Well suit your self.";
+ mes "I dont like that flower anyway.";
+ close;
+
+L_FLOWER1:
+ mes "[Lalo]";
+ mes "Can I have that Hinalle?";
+ next;
+ menu "Yes",-,"No",L_NEXT2;
+ if(countitem(703) < 1) goto M_NOTHAVE;
+ delitem 703,1; //Items: Hinalle,
+ goto L_GOOD;
+
+L_FLOWER2:
+ mes "[Lalo]";
+ mes "Can I have that Ment?";
+ next;
+ menu "Yes",-,"No",L_NEXT3;
+ if(countitem(708) < 1) goto M_NOTHAVE;
+ delitem 708,1; //Items: Ment,
+ goto L_GOOD;
+
+L_FLOWER3:
+ mes "[Lalo]";
+ mes "Can I have that Singing Flower?";
+ next;
+ menu "Yes",-,"No",L_NEXT4;
+ if(countitem(629) < 1) goto M_NOTHAVE;
+ delitem 629,1; //Items: Singing_Flower,
+ goto L_GOOD;
+
+L_FLOWER4:
+ mes "[Lalo]";
+ mes "Can I have that Illusion Flower?";
+ next;
+ menu "Yes",-,"No",L_NEXT5;
+ if(countitem(710) < 1) goto M_NOTHAVE;
+ delitem 710,1; //Items: Illusion_Flower,
+ goto L_GOOD;
+
+L_FLOWER5:
+ mes "[Lalo]";
+ mes "Can I have that Witherless Rose?";
+ next;
+ menu "Yes",-,"No",L_NEXT6;
+ if(countitem(748) < 1) goto M_NOTHAVE;
+ delitem 748,1; //Items: Witherless_Rose,
+ goto L_GOOD;
+
+L_FLOWER6:
+ mes "[Lalo]";
+ mes "Can I have that Izidor?";
+ next;
+ menu "Yes",-,"No",L_NEXT7;
+ if(countitem(709) < 1) goto M_NOTHAVE;
+ delitem 709,1; //Items: Izidor
+
+L_GOOD:
+ mes "[Lalo]";
+ mes "It doesn't have a scent but it's a";
+ mes "very moderate cute flower.";
+ mes "The leaves gave me strength when I";
+ mes "used to fall.";
+ mes "I really like this flower, thank you.";
+ next;
+ mes "[Lalo]";
+ mes "As I promised, I'll help you become a Bard.";
+ mes "But it's not easy my friend. Haha!";
+ next;
+ mes "[Lalo]";
+ mes "It is important to get to know";
+ mes "lot of people to learn how to sing.";
+ mes "You must also keep up with all the";
+ mes "things going on different villages...";
+ next;
+ mes "[Lalo]";
+ mes "There's a talking snowman in a town called Lutie.";
+ mes "Go there and bring back a present.";
+ next;
+ mes "[Lalo]";
+ mes "If you become friends with Jack";
+ mes "Frost, you will receive something.";
+ mes "And also talk to townspeople";
+ mes "while you're at it...";
+ set BARD_Q,2;
+ close;
+L_BQ2:
+ if (xmas_npc == 11) goto L_BQ3; //this var is set in LUTIE.TXT
+ mes "[Lalo]";
+ mes "I'm waiting for the good news.";
+ mes "For now go to Lutie and make";
+ mes "friends with Jack Frost.";
+ close;
+L_BQ3:
+ mes "[Lalo]";
+ mes "How was the trip? Did you meet a lot of people?";
+ mes "You should have more important than a gift.";
+ set BARD_Q,3;
+ next;
+L_SINGING:
+ mes "[Lalo]";
+ mes "Then, do you want to try singing...?";
+ mes "I'll sing a short melody...";
+ mes "and you try after.";
+ next;
+ mes "[Lalo]";
+ mes "Here I go.";
+ mes "Ehem *clears throat*";
+ mes "1, 2, 3, 4";
+ next;
+ mes "[Lalo]";
+//this should text input
+ mes "All Gods never age.";
+ mes "The ever so beautiful Goddess";
+ mes "Eden,";
+ mes "Beatuful and graceful Goddess";
+ mes "Eden,";
+ mes "Odin's daugther-in-law and Bragis";
+ mes "wife";
+ mes "Her sweet apples in her basket,";
+ mes "All thanks to her sweet apples.";
+
+ set @score,0;
+ next;
+ mes "[Lalo]";
+ mes "Now you try...";
+ next;
+
+ menu "All Gods never age.",-,"All Gods never age?",M_S2,"All Gods never age,",M_S2,"Are Gods never age?",M_S2;
+
+ set @score,@score+10;
+
+M_S2:
+ menu "The ever so beautiful Goddess,",M_S3,"The ever so beautiful Goddess.",M_S3,"The never beautiful Goddess.",M_S3,"The ever so beautiful Goddess",-;
+
+ set @score,@score+10;
+
+M_S3:
+ menu "Odins,",M_S4,"Odin.",M_S4,"Odin,",M_S4,"Eden,",-;
+
+ set @score,@score+10;
+M_S4:
+ menu "Very beatuful Goddess",M_S5,"Beatuful and Graceful Goddess",M_S5,"Beatuful and graceful Goddess",-,"Beatuful and the graceful Goddess",M_S5;
+
+ set @score,@score+10;
+M_S5:
+ menu "Eden.",M_S6,"Odins,",M_S6,"Eden,",-,"Edens,",M_S6;
+
+ set @score,@score+10;
+M_S6:
+ menu "Brags daugther-in-law and Odin's",M_S7,"Brags and Odin's daugther-in-law",M_S7,"Odin's daugther-in-law and Bragis",-,"Odin's daugther-in-law and Brags",M_S7;
+
+ set @score,@score+10;
+M_S7:
+ menu "whales",M_S8,"wifes",M_S8,"wife",-,"waffels",M_S8;
+
+ set @score,@score+10;
+M_S8:
+ menu "Her sweet apple in her basket,",M_S9,"Her sweet apple in her basket",M_S9,"Her sweet apples in her basket,",-;
+
+ set @score,@score+10;
+M_S9:
+ menu "All thanks to her sweet apple!",M_S10,"All thanks to her sweet apples.",-,"All thanks to her sweet apples!",M_S10;
+
+ set @score,@score+10;
+M_S10:
+ next;
+ if(@score >= 90) goto L_GOODWORK;
+ mes "[Lalo]";
+ mes "Oy, You got the lyrics wrong!";
+ mes "Can't you even sing along...?";
+ next;
+ mes "[Lalo]";
+ mes "Your pronunciation is very unclear.";
+ mes "Do a better job next time.";
+ close;
+
+L_GOODWORK:
+ set BARD_Q,4;
+ mes "[Lalo]";
+ mes "Wonderful! Finish it in one try!";
+ mes "You can become a great Bard.";
+ next;
+ mes "[Lalo]";
+ mes "Do you want to just change jobs now?";
+ mes "Or do you want a present?";
+ next;
+ menu "Just change my job please.",-,"I'd be thankful for a present.",M_PRESENTPLZ;
+
+ if(skillpoint != 0) goto L_SKILLSLEFT;
+ goto L_CHANGE;
+
+M_PRESENTPLZ:
+ mes "[Lalo]";
+ mes "Hmmm...very well, bring some trunks.";
+ mes "It doesn't matter what kind, as";
+ mes "long they are ^FF000060 of the same kind^000000...";
+ next;
+ mes "[Lalo]";
+ mes "I will give you a gift once you";
+ mes "bring them have a safe trip.";
+ close;
+
+L_SKILLSLEFT:
+ mes "[Lalo]";
+ mes "Hmmm... you seems to have some skill points left.";
+ mes "Use them all and come back to me again.";
+ close;
+
+L_BQ4:
+ set @gift,0;
+ if (countitem(1019) >= 60) set @gift,5; // Trunk//Items: Trunk,
+ if (countitem(1068) >= 60) set @gift,4; // Barren_Trunk//Items: Barren_Trunk,
+ if (countitem(1067) >= 60) set @gift,3; // Solid_Trunk//Items: Solid_Trunk,
+ if (countitem(1066) >= 60) set @gift,2; // Fine-grained_Trunk//Items: Fine-grained_Trunk,
+ if (JBLVL == 50 && countitem(1066) >=60) set @gift,1; // Fine-grained_Trunk//Items: Fine-grained_Trunk,
+
+ if (@gift!=0) goto L_CHANGE;
+
+ mes "[Lalo]";
+ mes "Mmm? Seems like you haven't prepared all trunks yet?";
+ mes "Do you want to just change jobs anyways?";
+ next;
+ menu "Yes",L_CHANGE,"Wait, not yet",-;
+
+ mes "[Lalo]";
+ mes "Ok I'll just wait here.";
+ close;
+
+L_CHANGE:
+ if(skillpoint != 0) goto L_SKILLSLEFT;
+ callfunc "Job_Change",Job_Bard;
+ callfunc "F_ClearJobVar";
+
+ mes "[Lalo]";
+ if (@gift==0) goto L_NOGIFT;
+
+ mes "Good job. I will make you a";
+ mes "job change with this souvenir.";
+ mes "Wait just a moment.";
+ next;
+ mes "Scrape Scrape Tang Tang";
+ mes "Squeak Squeak Scratch Scratch";
+ next;
+
+ switch(@gift){
+ case 1:
+ delitem 1066,60; //Fine-grained_Trunk + 50 JobLvl --> Harp [2]
+ getitem 1910,1;
+ break;
+ case 2:
+ delitem 1066,60; //Fine-grained_Trunk --> Lute [2]
+ getitem 1905,1;
+ break;
+ case 3:
+ delitem 1067,60; //Solid_Trunk --> Mandolin [2]
+ getitem 1903,1;
+ break;
+ case 4:
+ delitem 1068,60; //Barren_Trunk --> Mandolin [2]
+ getitem 1903,1;
+ break;
+ case 5:
+ delitem 1019,60; //Trunk --> Violin [3]
+ getitem 1901,1;
+ }
+
+ emotion e_grat;
+ mes "[Lalo]";
+ mes "Here you go, a souvenir. It is";
+ mes "useful when you sing.";
+L_NOGIFT:
+ mes "Hope you sing happy songs.";
+ next;
+L_CLOSE:
+ mes "[Lalo]";
+ mes "See you next time!";
+ close;
+}
diff --git a/npc/jobs/2-2/crusader.txt b/npc/jobs/2-2/crusader.txt new file mode 100644 index 000000000..a0b1f24f8 --- /dev/null +++ b/npc/jobs/2-2/crusader.txt @@ -0,0 +1,1184 @@ +////===== eAthena Script =======================================
+//= Crusader Quest
+//===== By: ==================================================
+//= Made by: Black Dragon
+//= Converted by: Shin
+//=
+//===== Current Version: =====================================
+//= 1.7a
+//===== Compatible With: =====================================
+//= eAthena 0.5.2 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Need optimalization and fixing
+//= thanks to Komurka, KiLLaLeN, Lupus (fixing error)
+//= just a temp Job Quest
+//= 1.2 minor fix of announcement by Freya people
+//= 1.3 Added Baby Class Support, fixed 40/50 lvl item reward
+//= also fixed too common script names [Lupus]
+//= 1.3a fixed "dead lock" bugs [Lupus]
+//= 1.3b changed monsters ID in patience test [Komurka]
+//= 1.4 Fixed Job Level parameters mix-up. [massdriller] (Thanks to Komurka)
+//= 1.5 Fixed possible EXP abuse [Lupus]
+//= 1.6 Added a func which prevent advanced classes passing
+//= 2nd Job Quests again. It also guides adv classes where
+//= to go. [Lupus]
+//= 1.7 Updated names and required items, Chivalry Emblem +
+//= Hand of God allow to skip item gathering [DracoRPG]
+//============================================================
+
+
+prt_castle.gat,45,169,4 script Senior Crusader 752,{
+ callfunc "F_BlockHigh",25,"Swordman High",38,"Paladin","^000080Michael Halig^000000";
+
+ mes "[^000080Michael Halig^000000]";
+ if (BaseJob > 0) goto NEXT_0;
+ if (BaseJob == 0) goto NOV;
+ mes "Hello "+ strcharinfo(0);
+ mes "I see that you've registered to the ^008000Swordsman's Association^000000.";
+ TALK:
+ next;
+ mes "[^000080Michael Halig^000000]";
+ mes "If you become a ^800000Swordsman^000000, you will gain the privelege of becoming a ^800000Knight^000000 or ^800000Crusader^000000.";
+ next;
+ mes "[^000080Michael Halig^000000]";
+ mes "If you decide to go along the path of the ^800000Crusader^000000, come back here.";
+ mes "Just take note that you must obtain a job level of at least 40 first before you can move up to the 2nd job.";
+ close;
+ NOV:
+ mes "Hello there.";
+ goto TALK;
+NEXT_0:
+ if (BaseJob > 1) goto NEXT0;
+ if (CRUS_Q == 1) goto CONT;
+ if (CRUS_Q == 2) goto CONT0;
+ if (CRUS_Q == 3) goto CONT1;
+ if (CRUS_Q == 4) goto CONT2;
+ if (CRUS_Q > 4) goto CONT3;
+ mes "Welcome, can I help you with something?";
+ next;
+ menu "I want to become a ^800000Crusader^000000.",JOB,"What's being a ^800000Crusader^000000 like?",ASK,"What is the purpose of a ^800000Crusader^000000?",ASK0,"I was just looking around.",-;
+ mes "[^000080Michael Halig^000000]";
+ mes "Oh, all right.";
+ next;
+ mes "[^000080Michael Halig^000000]";
+ mes "If you decide to take the path of the ^800000Crusader^000000, feel free to come back.";
+ close;
+ JOB:
+ mes "[^000080Michael Halig^000000]";
+ mes "All right, let me take a look at you first.";
+ next;
+ if (JobLevel != 50) goto SKIP;
+ set JBLVL,50;
+ set CRUS_Q,5;
+ goto TEST1;
+ SKIP:
+ if (JobLevel > 39) goto OKAY;
+ mes "[^000080Michael Halig^000000]";
+ mes "I'm sorry, but you need to be at least at a job level of 40.";
+ next;
+ mes "[^000080Michael Halig^000000]";
+ mes "All 2nd jobs require that.";
+ close;
+ OKAY:
+ if (SkillPoint == 0) goto OKAY0;
+ JOB0:
+ mes "[^000080Michael Halig^000000]";
+ mes "In order to become a ^800000Crusader^000000, you have to have used all your available skill points first.";
+ close;
+ OKAY0:
+ mes "[^000080Michael Halig^000000]";
+ mes "Everything looks all right.";
+ set CRUS_Q,1;
+ next;
+ mes "[^000080Michael Halig^000000]";
+ mes "All right, shall we begin the tests?";
+ next;
+ menu "Yes, of course.",OKAY1,"Not yet.",-;
+ mes "[^000080Michael Halig^000000]";
+ mes "Oh, all right. Come back when you're ready.";
+ close;
+ OKAY1:
+ if (SkillPoint != 0) goto JOB0;
+ set CRUS_Q,2;
+ mes "[^000080Michael Halig^000000]";
+ mes "All right, the first test requires you to collect items.";
+ next;
+ set CRUS_Q, rand (2);
+ set CRUS_Q,CRUS_Q + 3;
+ mes "[^000080Michael Halig^000000]";
+ mes "Bring back the following items:";
+ if (CRUS_Q != 3) goto IT;
+ mes "- 10 ^FF0000Decayed Nails^000000";
+ mes "- 10 ^FF0000Daenggies^000000";
+ mes "- 10 ^FF0000Worn-out Prison Uniforms^000000";
+ mes "- 10 ^FF0000Stinky Scales^000000";
+ close;
+ IT:
+ mes "- 10 ^FF0000Lanterns^000000";
+ mes "- 10 ^FF0000Horrendous Mouths^000000";
+ mes "- 10 ^FF0000Rotten Bandages^000000";
+ mes "- 10 ^FF0000Jack 'o Pumpkins^000000";
+ close;
+
+ ASK:
+ mes "[^000080Michael Halig^000000]";
+ mes "To be a ^800000Crusader^000000 is to fight for the righteous people.";
+ mes "Not always those who are in power, but rather for the justly cause.";
+ next;
+ mes "[^000080Michael Halig^000000]";
+ mes "I hope that you consider to become one.";
+ mes "To fight for good is a job that should be done by everyone to some extent.";
+ close;
+ ASK0:
+ mes "[^000080Michael Halig^000000]";
+ mes "The purpose of a ^800000Crusader^000000 is to work for the good in the world.";
+ mes "A ^800000Crusader^000000 is a person of righteousness at work.";
+ close;
+ CONT:
+ mes "Have you changed your mind?";
+ next;
+ menu "Yes, I want to become a ^800000Crusader^000000.",JOB,"Sorry, but I don't want to.",-;
+ mes "[^000080Michael Halig^000000]";
+ mes "I see... That's a shame.";
+ next;
+ mes "[^000080Michael Halig^000000]";
+ mes "Come back if you do want to.";
+ close;
+ CONT0:
+ mes "Well, hm...";
+ next;
+ mes "[^000080Michael Halig^000000]";
+ mes "I was expecting that someone like you would pass.";
+ next;
+ mes "[^000080Michael Halig^000000]";
+ mes "Mind to try again?";
+ next;
+ menu "Yes, of course.",OKAY1,"No, I'm all right.",-;
+ mes "[^000080Michael Halig^000000]";
+ mes "Oh, all right.";
+ close;
+ CONT1:
+ set @item,0;
+ if(countitem(957)>=10) goto ITEM7;//Items: Decayed_Nail,
+ mes "- 10 ^FF0000Decayed Nails^000000";
+ set @item, item +1;
+ ITEM7:
+ if(countitem(901)>=10) goto ITEM8;//Items: Daenggie,
+ mes "You still miss the this item";
+ mes "- 10 ^FF0000Danggies^000000";
+ set @item, item +1;
+ ITEM8:
+ if(countitem(1099)>=10) goto ITEM10;//Items: Worn-out_Prison_Uniform,
+ mes "You still miss the this item";
+ mes "- 10 ^FF0000Worn-out Prison Uniforms^000000";
+ set @item, item +1;
+ ITEM9:
+ if(countitem(959)>=10) goto ITEM9;//Items: Stinky_Scale,
+ mes "You still miss the this item";
+ mes "- 10 ^FF0000Stinky Scales^000000";
+ set @item, item +1;
+ ITEM10:
+ if (@item == 0) goto DONE;
+ close;
+ DONE:
+ mes "Good job!";
+ mes "You collected everything!";
+ delitem 957,10;//Items: Decayed_Nail,
+ delitem 901,10;//Items: Daenggie,
+ delitem 1099,10;//Items: Worn-out_Prison_Uniform,
+ delitem 959,10;//Items: Stinky_Scale,
+ set CRUS_Q,5;
+ TEST1:
+ next;
+ mes "[^000080Michael Halig^000000]";
+ mes "All right, let's move on to the 2nd test.";
+ next;
+ mes "[^000080Michael Halig^000000]";
+ mes "Go to the prison, it's in the basement";
+ mes "Before you do, make sure that you bring a ^FF0000Rosary^000000 with you.";
+ close;
+ CONT2:
+ set @item, 0;
+ if(countitem(1041)>=10) goto ITEM11;//Items: Lantern,
+ mes "You still miss the this item";
+ mes "- 10 ^FF0000Lanterns^000000";
+ set @item, item +1;
+ ITEM11:
+ if(countitem(958)>=10) goto ITEM12;//Items: Horrendous_Mouth,
+ mes "You still miss the this item";
+ mes "- 10 ^FF0000Horrendous Mouths^000000";
+ set @item, item +1;
+ ITEM12:
+ if(countitem(930)>=10) goto ITEM13;//Items: Rotten_Bandage,
+ mes "You still miss the this item";
+ mes "- 10 ^FF0000Rotten Bandages^000000";
+ set @item, item +1;
+ ITEM13:
+ if(countitem(1062)>=10) goto ITEM14;//Items: Jack_'o_Pumpkin,
+ mes "You still miss the this item";
+ mes "- 10 ^FF0000Jack 'o Pumpkins^000000";
+ set @item, item +1;
+ ITEM14:
+ if (@item== 0) GOTO DONE0;
+ close;
+ DONE0:
+ mes "Good job!";
+ mes "You collected everything!";
+ delitem 1041,10;//Items: Lantern,
+ delitem 958,10;//Items: Horrendous_Mouth,
+ delitem 930,10;//Items: Rotten_Bandage,
+ delitem 1062,10;//Items: Jack_'o_Pumpkin,
+ set CRUS_Q,5;
+ goto TEST1;
+ CONT3:
+ if (CRUS_Q == 8) goto CONT4;
+ if (CRUS_Q > 8) goto CONT5;
+ mes "Please talk to the man in the prison to continue.";
+ mes "Make sure you bring a ^FF0000Rosary^000000 with you.";
+ close;
+ CONT4:
+ mes "Great job in accomplishing the ^FF8000Patience Test^000000!";
+ next;
+ mes "[^000080Michael Halig^000000]";
+ mes "Now to move on to the ^FF8000Knowledge Test^000000.";
+ mes "Please talk to Gabriel Valentine at the Cathedral, she will test your knowledge.";
+ set CRUS_Q,9;
+ close;
+ CONT5:
+ if (CRUS_Q == 13) goto CONT6;
+ if (CRUS_Q == 14) goto CONT7;
+ mes "Please go talk to Gabriel Valentine at the Cathedral to continue.";
+ close;
+ CONT6:
+ mes "Excellent work in completing all the necessary tests!";
+ mes "Now let me examine you before you become a ^800000Crusader^000000.";
+ next;
+ set CRUS_Q,14;
+ mes "[^000080Michael Halig^000000]";
+ CONT7:
+ if (SkillPoint == 0) goto GOOD;
+ mes "I'm sorry, but you'll need to use up all your skill points first.";
+ close;
+ GOOD:
+ mes "This is to compliment your job change.";
+ if (JBLVL != 50) getitem 1409,1;//Items: Pike__,
+ if (JBLVL == 50) getitem 1408,1;//Items: Pike_,
+
+ callfunc "Job_Change",Job_Crusader;
+ callfunc "F_ClearJobVar"; // clears all job variables for the current player
+ close;
+NEXT0:
+ if (BaseJob != 2) goto NEXT1;
+ mes "Hello, welcome to the ^008000Castle of Prontera^000000.";
+ mes "Hope you have a good day!";
+ close;
+NEXT1:
+ if (BaseJob != 3) goto NEXT2;
+ mes "Good luck in your hunting.";
+ close;
+NEXT2:
+ if (BaseJob != 4) goto NEXT3;
+ mes "Good day to you!";
+ mes "Hope you do well to find your path.";
+ close;
+NEXT3:
+ if (BaseJob != 5) goto NEXT4;
+ mes "Hello, we don't currently need anything, sorry about that.";
+ close;
+NEXT4:
+ if (BaseJob != 6) goto NEXT5;
+ mes "Better watch yourself.";
+ close;
+NEXT5:
+ if (BaseJob != 7) goto NEXT6;
+ mes "Good day to you, " + strcharinfo(0);
+ close;
+NEXT6:
+ if (BaseJob != 8) goto NEXT7;
+ mes "Good day, "+ strcharinfo(0);
+ mes "I would hope to believe that all is going well.";
+ close;
+NEXT7:
+ if (BaseJob != 9) goto NEXT8;
+ mes "Hello, welcome to the ^008000Castle of Prontera^000000.";
+ mes "Nice to have you wish us.";
+ close;
+NEXT8:
+ if (BaseJob != 10) goto NEXT9;
+ mes "Hello, we're not in need of any weapons or armour at the moment, thank you.";
+ close;
+NEXT9:
+ if (BaseJob != 11) goto NEXT10;
+ mes "Hello, wish you luck for your success.";
+ close;
+NEXT10:
+ if (BaseJob != 12) goto NEXT11;
+ mes "Stay out of trouble, you don't want the guards to come after you, now do you?";
+ close;
+NEXT11:
+ if (BaseJob != 14) goto NEXT12;
+ mes "Good day, "+ strcharinfo(0);
+ close;
+NEXT12:
+ if (BaseJob != 15) goto NEXT13;
+ mes "Hello, welcome to the ^008000Castle of Prontera^000000.";
+ close;
+NEXT13:
+ if (BaseJob != 16) goto NEXT14;
+ mes "Welcome to the ^008000Castle of Prontera^000000, I hope you enjoy your stay.";
+ close;
+NEXT14:
+ if (BaseJob != 17) goto NEXT15;
+ mes "Stay out of trouble if you know what's good for you.";
+ close;
+NEXT15:
+ if (BaseJob != 18) goto NEXT16;
+ mes "So, how are the experiments going down in ^00FF00Al de Baran^000000?";
+ close;
+NEXT16:
+ if (BaseJob != 19) goto NEXT17;
+ mes "Welcome to the castle, good sir.";
+ close;
+NEXT17:
+ if (BaseJob != 20) goto NEXT18;
+ mes "Good day, miss.";
+ close;
+NEXT18:
+ if (BaseJob != 22) goto NEXT19;
+ if (Sex != 0) goto MALE;
+ mes "Hello, welcome to the ^008000Castle of Prontera^000000.";
+ close;
+ MALE:
+ mes "Well done, sir!";
+ close;
+NEXT19:
+ mes "Hello and good day!";
+ close;
+}
+
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+//
+// Man in Anguish - Crusader Job Quest - 2nd Test
+// By Black Dragon based on the information at RagnaInfo
+//
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+prt_castle.gat,164,32,0 script Man in Anguish 733,{
+ if (CRUS_Q == 7) goto CONT;
+ if (CRUS_Q > 7) goto CONT0;
+ mes "[^000080Murnak Mijoul^000000]";
+ mes "Who... who are you?";
+ next;
+ if (CRUS_Q == 5) goto CHECK;
+
+ OTHER:
+ if (CRUS_Q == 6) goto EXIT1;
+ mes "[^000080Murnak Mijoul^000000]";
+ mes "What do you want?";
+ mes "Leave me alone~!";
+ close;
+ CHECK:
+ if (countitem(2608) == 0) goto NOT;//Items: Rosary,
+
+ mes "[^000080Murnak Mijoul^000000]";
+ mes "I see, you're here for the job.";
+ next;
+ mes "[^000080Murnak Mijoul^000000]";
+ mes "It's torture.";
+ mes "They send me to that room time and time again.";
+ next;
+ mes "[^000080Murnak Mijoul^000000]";
+ mes "I've grown awefully weak from it.";
+ next;
+ mes "[^000080Murnak Mijoul^000000]";
+ mes "But if it's your wish, I will send to there.";
+ next;
+ menu "Yes.",-,"On second thought...",EXIT;
+ mes "[^000080Murnak Mijoul^000000]";
+ mes "All right then... I'll tell you where to go.";
+ GO:
+ next;
+ savepoint "prt_castle.gat",162,27;
+ if (getmapusers("job_cru.gat") > 0) goto EXIT0;
+ set CRUS_Q,6;
+ warp "job_cru.gat",23,42;
+ EXIT0:
+ mes "[^000080Murnak Mijoul^000000]";
+ mes "I'm sorry, there's already another person there right now.";
+ mes "Please wait a little longer.";
+ close;
+ EXIT:
+ mes "[^000080Murnak Mijoul^000000]";
+ mes "Please do not disturb me then!";
+ close;
+ NOT:
+ mes "[^000080Murnak Mijoul^000000]";
+ mes "Leave me alone!";
+ mes "Can't you leave someone in pain alone ?";
+ close;
+
+ CONT:
+ mes "[^000080Murnak Mijoul^000000]";
+ mes "I see you've passed. Good work.";
+ set CRUS_Q,8;
+ close;
+ EXIT1:
+ mes "[^000080Murnak Mijoul^000000]";
+ mes "Sorry but you're going to need to go again.";
+ goto GO;
+ CONT0:
+ mes "[^000080Murnak Mijoul^000000]";
+ mes "There is nothing else you need from me.";
+ mes "Let me be...";
+ close;
+}
+
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+//
+// Gabriel Valentine - Crusader Job Quest - Knowledge Test
+// By Black Dragon based on the information at RagnaInfo
+//
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+prt_church.gat,94,116,0 script Gabriel Valentine 745,{
+ mes "[^000080Gabriel Valentine^000000]";
+ if (BaseJob != 0) goto NEXT_o;
+ mes "Hello young traveler.";
+ close;
+NEXT_o:
+ if (BaseJob != 1) goto NEXT0;
+ mes "Hello, " + strcharinfo(0);
+ next;
+ if (CRUS_Q != 9) goto EXIT;
+ BEGIN:
+ menu "Take the Knowledge test.",-,"Nothing.",EXIT;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "Oh, on your way to become a ^800000Crusader^000000 huh?";
+ mes "Okay...";
+ next;
+ START:
+ set @Q , 0;
+ set @Q1 , 0;
+ set @Q2 , 0;
+ set @Q3 , 0;
+ set @Q4 , 0;
+ set @Q5 , 0;
+ set @Q6 , 0;
+ set @Q7 , 0;
+ set @Q8 , 0;
+ set @Q9 , 0;
+ set @Q10 , 0;
+ set @Q11 , 0;
+ set @Q12 , 0;
+ set @Q13 , 0;
+ set @Q14 , 0;
+ set @Q15 , 0;
+ set @Q16 , 0;
+ set @Q17 , 0;
+ set @Q18 , 0;
+ set @Q19 , 0;
+ set @Q20 , 0;
+ set @ANS , 0;
+ RND:
+ if (@Q > 10) goto DONE;
+ set @RND, rand(20);
+ if (@RND > 9) goto G1;
+ if (@RND > 4) goto G1A;
+ if (@RND > 3) goto G1A1;
+ if (@RND == 0) goto Q1;
+ if (@RND == 1) goto Q2;
+ if (@RND != 1) goto Q3;
+ G1A1:
+ if (@RND == 3) goto Q4;
+ if (@RND != 3) goto Q5;
+ G1A:
+ if (@RND > 8) goto G1A2;
+ if (@RND == 5) goto Q6;
+ if (@RND == 6) goto Q7;
+ if (@RND != 6) goto Q8;
+ G1A2:
+ if (@RND == 8) goto Q9;
+ if (@RND != 8) goto Q10;
+ G1:
+ if (@RND > 14) goto G2A;
+ if (@RND > 13) goto G2A1;
+ if (@RND == 10) goto Q11;
+ if (@RND == 11) goto Q12;
+ if (@RND == 12) goto Q13;
+ G2A1:
+ if (@RND == 13) goto Q14;
+ if (@RND == 14) goto Q15;
+ G2A:
+ if (@RND > 18) goto G2A2;
+ if (@RND == 15) goto Q16;
+ if (@RND == 16) goto Q17;
+ if (@RND == 17) goto Q18;
+ G2A2:
+ if (@RND == 18) goto Q19;
+ if (@Q20 != 0) goto RND;
+ set @Q20,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "Are you willing to risk your life to save someone else?";
+ next;
+ menu "Yes",-,"No",RND;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q1:
+ if (@Q1 != 0) goto RND;
+ set @Q1,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "If someone asks you to help them for a good cause, will you oblige?";
+ next;
+ menu "Yes",-,"No",RND;
+ set @ANS, @ANS + 1;
+ goto RND;
+ Q2:
+ if (@Q2 != 0) goto RND;
+ set @Q2, 1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "Would you allow a robber to get away with stolen goods?";
+ next;
+ menu "Yes",RND,"No",-;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q3:
+ if (@Q3 != 0) goto RND;
+ set @Q3,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "Do you wish that the world was at harmony?";
+ next;
+ menu "Yes",-,"No",RND;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q4:
+ if (@Q4 != 0) goto RND;
+ set @Q4,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "Will you ever attempt suicide?";
+ next;
+ menu "Yes",RND,"No",-;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q5:
+ if (@Q5 != 0) goto RND;
+ set @Q5,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "Will you intoxicate yourself at parties?";
+ next;
+ menu "Yes",RND,"No",-;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q6:
+ if (@Q6 != 0) goto RND;
+ set @Q6,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "Will you openly massacre?";
+ next;
+ menu "Yes",RND,"No",-;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q7:
+ if (@Q7 != 0) goto RND;
+ set @Q7,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "Will you hold your temper during arguments?";
+ next;
+ menu "Yes",-,"No",RND;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q8:
+ if (@Q8 != 0) goto RND;
+ set @Q8,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "Would you allow alchemists to perform illegal experiments?";
+ next;
+ menu "Yes",RND,"No",-;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q9:
+ if (@Q9 != 0) goto RND;
+ set @Q9,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "If someone threw a stone at you, you'd become furious.";
+ next;
+ menu "Yes",RND,"No",-;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q10:
+ if (@Q10 != 0) goto RND;
+ set @Q10,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "If someone offered you money that belongs to someone poor, would you take it?";
+ next;
+ menu "Yes",RND,"No",-;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q11:
+ if (@Q11 != 0) goto RND;
+ set @Q11,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "You think highly of yourself.";
+ next;
+ menu "Yes",RND,"No",-;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q12:
+ if (@Q12 != 0) goto RND;
+ set @Q12,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "You are humble before others.";
+ next;
+ menu "Yes",-,"No",RND;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q13:
+ if (@Q13 != 0) goto RND;
+ set @Q13,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "You answer people full of respect and with kindness.";
+ next;
+ menu "Yes",-,"No",RND;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q14:
+ if (@Q14 != 0) goto RND;
+ set @Q14,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "You fight when you feel like it.";
+ next;
+ menu "Yes",RND,"No",-;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q15:
+ if (@Q15 != 0) goto RND;
+ set @Q15,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "You go to the pub every night.";
+ next;
+ menu "Yes",RND,"No",-;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q16:
+ if (@Q16 != 0) goto RND;
+ set @Q16,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "You believe in the Father, Son and Holy Spirit.";
+ next;
+ menu "Yes",-,"No",RND;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q17:
+ if (@Q17 != 0) goto RND;
+ set @Q17,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "You believe that the Devil is evil and cruel and should be treated the same way.";
+ next;
+ menu "Yes",RND,"No",-;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q18:
+ if (@Q18 != 0) goto RND;
+ set @Q18,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "You believe that talk is for wimps and that action plays the main role in peace-making";
+ next;
+ menu "Yes",RND,"No",-;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q19:
+ if (@Q19 != 0) goto RND;
+ set @Q19,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "If all other means to keep peace fail, THEN it is all right to resort to violence.";
+ next;
+ menu "Yes",-,"No",RND;
+ set @ANS,@ANS + 1;
+ goto RND;
+ DONE:
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "You got "+ @ANS +" / 10 questions correct.";
+ next;
+ if (CRUS_Q != 10) goto secND;
+ if (@ANS < 8) goto NO;
+ PASS:
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "Excellent work! You qualify to pass the ^FF8000Knowledge Test^000000!";
+ mes "You're almost done, you are now at the ^FF8000Purification Test^000000, find Bliant Piyord at ^008000Prontera Chivalry^000000.";
+ set CRUS_Q, 11;
+ close;
+ NO:
+ set CRUS_Q, 10;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "I'm sorry, you didn't get enough to qualify.";
+ next;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "Try giving it another go when you feel you're ready.";
+ mes "I'll only expect you to get at least 8 correct from now on.";
+ close;
+ secND:
+ if (@ANS > 7) goto PASS;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "I'm sorry, you didn't get enough correct.";
+ close;
+ EXIT:
+ if (CRUS_Q == 10) goto BEGIN;
+ if (CRUS_Q > 10) goto FINISH;
+ close;
+ FINISH:
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "Please go to the Guardian Knight at ^008000Prontera Castle^000000 to continue on to the ^FF8000Purification Test^000000.";
+ close;
+NEXT0:
+ if (BaseJob != 2) goto NEXT1;
+ mes "Hello, welcome to the ^008000Prontera Chivalry^000000.";
+ mes "Hope you have a good day!";
+ close;
+NEXT1:
+ if (BaseJob != 3) goto NEXT2;
+ mes "Good luck in your hunting.";
+ close;
+NEXT2:
+ if (BaseJob != 4) goto NEXT3;
+ mes "Good day to you!";
+ mes "Hope you do well to find your path.";
+ close;
+NEXT3:
+ if (BaseJob != 5) goto NEXT4;
+ mes "Hello, we don't currently need anything, sorry about that.";
+ close;
+NEXT4:
+ if (BaseJob != 6) goto NEXT5;
+ mes "Better watch yourself.";
+ close;
+NEXT5:
+ if (BaseJob != 7) goto NEXT6;
+ mes "Good day to you, "+ strcharinfo(0);
+ close;
+NEXT6:
+ if (BaseJob != 8) goto NEXT7;
+ mes "Good day, " + strcharinfo(0);
+ mes "I would hope to believe that all is going well.";
+ close;
+NEXT7:
+ if (BaseJob != 9) goto NEXT8;
+ mes "Hello! Nice to have you wish us.";
+ close;
+NEXT8:
+ if (BaseJob != 10) goto NEXT9;
+ mes "Hello, we're not in need of any weapons or armour at the moment, thank you.";
+ close;
+NEXT9:
+ if (BaseJob != 11) goto NEXT10;
+ mes "Hello, wish you luck for your success.";
+ close;
+NEXT10:
+ if (BaseJob != 12) goto NEXT11;
+ mes "Stay out of trouble, you don't want the guards to come after you, now do you?";
+ close;
+NEXT11:
+ if (BaseJob != 14) goto NEXT12;
+ mes "Good day, " + strcharinfo(0);
+ close;
+NEXT12:
+ if (BaseJob != 15) goto NEXT13;
+ mes "Hello, welcome to the ^008000Knight's Headquarters^000000.";
+ close;
+NEXT13:
+ if (BaseJob != 16) goto NEXT14;
+ mes "Welcome to the ^008000Knight's Headquarters^000000, I hope you enjoy your stay.";
+ close;
+NEXT14:
+ if (BaseJob != 17) goto NEXT15;
+ mes "Stay out of trouble if you know what's good for you.";
+ close;
+NEXT15:
+ if (BaseJob != 18) goto NEXT16;
+ mes "So, how are the experiments going down in ^00FF00Al de Baran^000000?";
+ close;
+NEXT16:
+ if (BaseJob != 19) goto NEXT17;
+ mes "Welcome to the castle, good sir.";
+ close;
+NEXT17:
+ if (BaseJob != 20) goto NEXT18;
+ mes "Good day, miss.";
+ close;
+NEXT18:
+ if (BaseJob != 22) goto NEXT19;
+ if (Sex != 0) goto MALE;
+ mes "Hello, welcome to the ^008000Knight's Headquarters^000000.";
+ close;
+ MALE:
+ mes "Well done, sir!";
+ close;
+NEXT19:
+ mes "Hello and good day!";
+ close;
+}
+
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+//
+// Bliant Piyord - Crusader Job Quest - Purification Test
+// By Black Dragon based on the information at RagnaInfo
+//
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+prt_in.gat,83,97,0 script Patron Knight 734,{
+ mes "[^000080Bliant Piyord^000000]";
+ if (BaseJob != 0) goto NEXT_o;
+ mes "Hello, young traveler.";
+ mes "Welcome.";
+ close;
+NEXT_o:
+ if (BaseJob != 1) goto NEXT0;
+ if (CRUS_Q == 11) goto PART1;
+ if (CRUS_Q == 12) goto PART2;
+ if (CRUS_Q != 13) goto EXIT;
+ mes "Well done!";
+ mes "Go talk to ^000080Michael Halig^000000, he will turn you into a ^800000Crusader^000000.";
+ close;
+ PART2:
+ if (@CRU2 == 43) goto EXIT2;
+ PART2A:
+ mes "So, do you want to try again?";
+ next;
+ menu "Yes",TEST,"No",-;
+ mes "[^000080Bliant Piyord^000000]";
+ mes "Oh, okay then.";
+ close;
+ PART1:
+ mes "Hello, " + strcharinfo(0);
+ mes "I see that you've passed thus far.";
+ next;
+ mes "[^000080Bliant Piyord^000000]";
+ mes "Don't let me down in this test.";
+ mes "This is the ^FF8000Purification Test^000000.";
+ mes "I will take you to the proper location when you are ready.";
+ next;
+ menu "I want to go now.",-,"All right, just a second.",EXIT0;
+ TEST:
+ mes "[^000080Bliant Piyord^000000]";
+ mes "Let me make sure it's empty first.";
+ next;
+ if( getmapusers("job_cru.gat")>0 ) goto EXIT1;
+ killmonster "job_cru.gat","CR_KILL";
+ savepoint "prt_in.gat",81,100;
+ set CRUS_Q, 12;
+ warp "job_cru",167,175;
+ EXIT1:
+ mes "[^000080Bliant Piyord^000000]";
+ mes "I'm sorry, but someone else is inside at the moment.";
+ close;
+ EXIT0:
+ mes "[^000080Bliant Piyord^000000]";
+ mes "No problem, take as long as you need.";
+ close;
+ EXIT:
+ mes "Hello, " + strcharinfo(0);
+ mes "So how are things coming along with building up your abilities?";
+ mes "Are you strong enough to become a ^800000Crusader^000000 yet?";
+ next;
+ mes "[^000080Bliant Piyord^000000]";
+ mes "If you do, you'll find yourself coming back to me for one of the tests.";
+ close;
+EXIT2:
+ mes "Well done!";
+ set CRUS_Q,13;
+ next;
+ mes "Return to ^000080Michael Halig^000000 and he will make you a ^800000Crusader^000000.";
+ close;
+NEXT0:
+ if (BaseJob != 2) goto NEXT1;
+ mes "It's nice to see you.";
+ mes "Hope we'll be able to work together to keep ^00FF00Prontera^000000 safe.";
+ close;
+NEXT1:
+ if (BaseJob != 3) goto NEXT2;
+ mes "Welcome, I hope you have a great day!";
+ close;
+NEXT2:
+ if (BaseJob != 4) goto NEXT3;
+ mes "Good day to you!";
+ close;
+NEXT3:
+ if (BaseJob != 5) goto NEXT4;
+ mes "Hello, sorry but I'm not in need of anything.";
+ close;
+NEXT4:
+ if (BaseJob != 6) goto NEXT5;
+ mes "Don't think you can get away with theft in ^00FF00Prontera^000000, we have soldiers watching everywhere.";
+ close;
+NEXT5:
+ if (BaseJob != 7) goto NEXT6;
+ mes "Welcome!";
+ mes "I hope you have a great day!";
+ close;
+NEXT6:
+ if (BaseJob != 8) goto NEXT7;
+ mes "Welcome to ^00FF00Prontera^000000!";
+ mes "Hope you have a good day!";
+ close;
+NEXT7:
+ if (BaseJob != 9) goto NEXT8;
+ mes "Hello! Glad to see people of your stature here!";
+ close;
+NEXT8:
+ if (BaseJob != 10) goto NEXT9;
+ mes "I appreciate your presence, but I don't need anything at the moment.";
+ mes "Sorry about that.";
+ close;
+NEXT9:
+ if (BaseJob != 11) goto NEXT10;
+ mes "How goes the hunting campaign?";
+ mes "Hope everything is going all right.";
+ close;
+NEXT10:
+ if (BaseJob != 12) goto NEXT11;
+ mes "Stay out of trouble, you hear me?";
+ close;
+NEXT11:
+ if (BaseJob != 14) goto NEXT12;
+ mes "Welcome! Good day to you!";
+ close;
+NEXT12:
+ if (BaseJob != 15) goto NEXT13;
+ mes "Good day, I hope your stay in ^00FF00Prontera^000000 will be a peaceful one.";
+ close;
+NEXT13:
+ if (BaseJob != 16) goto NEXT14;
+ mes "It's good to see people of your stature here in ^00FF00Prontera^000000!";
+ close;
+NEXT14:
+ if (BaseJob != 17) goto NEXT15;
+ mes "Be careful if you don't want to get caught.";
+ mes "I don't want to have to hang you or something.";
+ close;
+NEXT15:
+ if (BaseJob != 18) goto NEXT16;
+ mes "I hope the experiments in ^00FF00Al de Baran^000000 are legal, or we'll have to send someone to clear it up.";
+ close;
+NEXT16:
+ if (BaseJob != 19) goto NEXT17;
+ mes "Ah, what a fine day it is to have such a person as yourself to come and visit.";
+ close;
+NEXT17:
+ if (BaseJob != 20) goto NEXT18;
+ mes "Welcome, good day to you!";
+ close;
+NEXT18:
+ if (BaseJob != 22) goto NEXT19;
+ if (Sex != 0) goto MALE;
+ mes "Wow! Congratulations on your marriage!";
+ close;
+ MALE:
+ mes "Well done! I congratulate you upon your marriage!";
+ close;
+NEXT19:
+ mes "Good day to you!";
+ close;
+}
+
+
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+//
+// Entry A - Crusader Job Quest - Patience Test
+// By Black Dragon based on the information at RagnaInfo
+//
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+
+job_cru.gat,23,42,0 script CR_DEAD -1,{
+ killmonster "job_cru.gat","CR_DEAD";
+ set @CRU1,0;
+ enablenpc "CR_TST_2";
+ warp "prt_castle.gat",162,27;
+}
+
+
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+//
+// Entry - Crusader Job Quest - Patience Test
+// By Black Dragon based on the information at RagnaInfo
+//
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+job_cru.gat,23,42,0 script CR_TST_2 139,8,8,{
+
+ if (CRUS_Q != 6) goto EXIT;
+ set @CRU1,1;
+ mapannounce "job_cru.gat","Please endure here and go to the exit.",8;
+
+ monster "job_cru.gat",10,43,"Ghoul",1910,1,"CR_DEAD";
+ monster "job_cru.gat",14,47,"Khalitzburg",1911,1,"CR_DEAD";
+ monster "job_cru.gat",26,46,"Injustice",1912,1,"CR_DEAD";
+ monster "job_cru.gat",31,46,"Requium",1913,1,"CR_DEAD";
+ monster "job_cru.gat",16,52,"Raydric Archer",1914,0,"CR_DEAD";
+ monster "job_cru.gat",22,53,"Khalitzburg",1911,1,"CR_DEAD";
+ monster "job_cru.gat",28,49,"Injustice",1912,1,"CR_DEAD";
+ monster "job_cru.gat",12,54,"Khalitzburg",1911,1,"CR_DEAD";
+ monster "job_cru.gat",17,55,"Ghoul",1910,1,"CR_DEAD";
+ monster "job_cru.gat",21,57,"Injustice",1912,1,"CR_DEAD";
+ monster "job_cru.gat",30,58,"Khalitzburg",1911,1,"CR_DEAD";
+ monster "job_cru.gat",11,64,"Raydric Archer",1914,1,"CR_DEAD";
+ monster "job_cru.gat",19,67,"Injustice",1912,1,"CR_DEAD";
+ monster "job_cru.gat",24,62,"Khalitzburg",1911,1,"CR_DEAD";
+ monster "job_cru.gat",13,70,"Ghoul",1910,1,"CR_DEAD";
+ monster "job_cru.gat",18,69,"Injustice",1912,1,"CR_DEAD";
+ monster "job_cru.gat",29,67,"Khalitzburg",1911,1,"CR_DEAD";
+ monster "job_cru.gat",32,68,"Requium",1913,1,"CR_DEAD";
+ monster "job_cru.gat",16,75,"Raydric Archer",1914,1,"CR_DEAD";
+ monster "job_cru.gat",21,74,"Khalitzburg",1911,1,"CR_DEAD";
+ monster "job_cru.gat",27,76,"Injustice",1912,1,"CR_DEAD";
+ monster "job_cru.gat",14,78,"Khalitzburg",1911,1,"CR_DEAD";
+ monster "job_cru.gat",19,76,"Ghoul",1910,1,"CR_DEAD";
+ monster "job_cru.gat",24,79,"Requium",1913,1,"CR_DEAD";
+ monster "job_cru.gat",14,83,"Raydric Archer",1914,1,"CR_DEAD";
+ monster "job_cru.gat",18,85,"Khalitzburg",1911,1,"CR_DEAD";
+ monster "job_cru.gat",22,84,"Injustice",1912,1,"CR_DEAD";
+ monster "job_cru.gat",33,86,"Khalitzburg",1911,1,"CR_DEAD";
+ monster "job_cru.gat",13,89,"Ghoul",1910,1,"CR_DEAD";
+ monster "job_cru.gat",17,92,"Injustice",1912,1,"CR_DEAD";
+ monster "job_cru.gat",23,90,"Khalitzburg",1911,1,"CR_DEAD";
+ monster "job_cru.gat",26,88,"Ghoul",1910,1,"CR_DEAD";
+ monster "job_cru.gat",17,97,"Khalitzburg",1911,1,"CR_DEAD";
+ monster "job_cru.gat",23,100,"Injustice",1912,1,"CR_DEAD";
+ monster "job_cru.gat",31,101,"Ghoul",1910,1,"CR_DEAD";
+ monster "job_cru.gat",13,103,"Raydric Archer",1914,1,"CR_DEAD";
+ monster "job_cru.gat",22,105,"Injustice",1912,1,"CR_DEAD";
+ monster "job_cru.gat",30,107,"Khalitzburg",1911,1,"CR_DEAD";
+ disablenpc "CR_TST_2";
+ end;
+ EXIT:
+ warp "prt_castle.gat",162,27;
+}
+
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+//
+// Exit - Crusader Job Quest - Patience Test
+// By Black Dragon based on the information at RagnaInfo
+//
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+job_cru.gat,23,109,0 script CR_EXT_1 139,1,1,{
+
+if (@CRU1 == 0) goto JUMP;
+ set CRUS_Q,7;
+ killmonster "job_cru.gat","CR_DEAD";
+ enablenpc "CR_TST_2";
+JUMP:
+ warp "prt_castle.gat",162,28;
+}
+
+
+
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+//
+// Fighting Area - Crusader Job Quest - 4th Test
+// By Black Dragon based on the information at RagnaInfo
+//
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+
+job_cru.gat,167,175,0 script CR_KILL -1,{
+
+ if (@CRU2 == 43) goto good;
+
+ set @CRU2,@CRU2 +1;
+ announce "You killed another monster.",3;
+ end;
+
+ good:
+ announce "You killed all monsters, you may go to the exit.",3;
+ end;
+}
+
+job_cru.gat,167,175,0 script CR_TST_4 139,1,1,{
+
+ if(CRUS_Q != 12) goto EXIT;
+ set @CRU2,1;
+ announce "Defeat all the enemies.",3;
+ monster "job_cru.gat",163,42,"Bongun",1188,1,"CR_KILL";
+ monster "job_cru.gat",171,66,"Bongun",1188,1,"CR_KILL";
+ monster "job_cru.gat",163,89,"Bongun",1188,1,"CR_KILL";
+ monster "job_cru.gat",171,115,"Bongun",1188,1,"CR_KILL";
+ monster "job_cru.gat",166,141,"Bongun",1188,1,"CR_KILL";
+ monster "job_cru.gat",168,166,"Bongun",1188,1,"CR_KILL";
+ monster "job_cru.gat",164,170,"Munak",1026,1,"CR_KILL";
+ monster "job_cru.gat",173,153,"Munak",1026,1,"CR_KILL";
+ monster "job_cru.gat",164,138,"Munak",1026,1,"CR_KILL";
+ monster "job_cru.gat",166,128,"Munak",1026,1,"CR_KILL";
+ monster "job_cru.gat",171,117,"Munak",1026,1,"CR_KILL";
+ monster "job_cru.gat",163,102,"Munak",1026,1,"CR_KILL";
+ monster "job_cru.gat",172,84,"Munak",1026,1,"CR_KILL";
+ monster "job_cru.gat",162,76,"Munak",1026,1,"CR_KILL";
+ monster "job_cru.gat",167,65,"Munak",1026,1,"CR_KILL";
+ monster "job_cru.gat",171,58,"Munak",1026,1,"CR_KILL";
+ monster "job_cru.gat",162,48,"Munak",1026,1,"CR_KILL";
+ monster "job_cru.gat",170,33,"Munak",1026,1,"CR_KILL";
+ monster "job_cru.gat",170,26,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",166,37,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",171,47,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",165,61,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",172,65,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",163,77,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",164,86,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",165,98,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",170,101,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",163,110,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",164,117,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",166,129,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",165,139,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",166,151,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",168,160,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",162,169,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",171,171,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",162,32,"Zombie",1015,1,"CR_KILL";
+ monster "job_cru.gat",165,51,"Zombie",1015,1,"CR_KILL";
+ monster "job_cru.gat",172,73,"Zombie",1015,1,"CR_KILL";
+ monster "job_cru.gat",170,92,"Zombie",1015,1,"CR_KILL";
+ monster "job_cru.gat",173,111,"Zombie",1015,1,"CR_KILL";
+ monster "job_cru.gat",170,124,"Zombie",1015,1,"CR_KILL";
+ monster "job_cru.gat",171,147,"Zombie",1015,1,"CR_KILL";
+ monster "job_cru.gat",163,162,"Zombie",1015,1,"CR_KILL";
+ disablenpc "CR_TST_4";
+ EXIT:
+ end;
+}
+
+
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+//
+// Test 4 Exit - Crusader Job Quest - 4th Test
+// By Black Dragon based on the information at RagnaInfo
+//
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+job_cru.gat,167,17,0 script CR_EXT_4 139,2,2,{
+ enablenpc "CR_TST_4";
+ warp "prt_in.gat",81,100;
+}
+
+//==============================================================================
+// mapflag
+//==============================================================================
+job_cru.gat mapflag nomemo
+job_cru.gat mapflag noteleport
+job_cru.gat mapflag nosave SavePoint
+job_cru.gat mapflag nopenalty
+job_cru.gat mapflag nobranch
+job_cru.gat mapflag noexp
+job_cru.gat mapflag noloot
diff --git a/npc/jobs/2-2/dancer.txt b/npc/jobs/2-2/dancer.txt new file mode 100644 index 000000000..157721066 --- /dev/null +++ b/npc/jobs/2-2/dancer.txt @@ -0,0 +1,1040 @@ +//===== eAthena Script =======================================
+//= Dancer Job Quest
+//===== By: ==================================================
+//= Kalen - Original jAthena
+//= Fredzilla - Converted
+//===== Current Version: =====================================
+//= 1.6
+//===== Compatible With: =====================================
+//= eAthena Final
+//===== Description: =========================================
+//= Dancer job quest based off a jAthena script and other sources for clarity
+//===== Additional Comments: =================================
+//= 1.5 Added Baby Class Support [Fredzilla]
+//= 1.1 Removed the warp I left here my accident, added a check for using
+//= Improved Concentration and arrow shower, people could get away with it
+//= [Fredzilla]
+//= 1.0 I tried to keep as much the same from the Jap version as possible
+//= this turned out to be quite hard, but on the whole it is the same script
+//= I have added some new things, and changed some of the used commands,
+//= along with some optimization. [Fredzilla]
+//= 1.6 Added a func which prevent advanced classes passing
+//= 2nd Job Quests again. It also guides adv classes where
+//= to go. [Lupus]
+//============================================================
+
+//= Warning Warp to escape the quest if need be
+job_duncer.gat,69,165,1 script wwarp 45,1,1,{
+ mes "[Warning]";
+ mes "This is the way out, this will cancel your quest if you leave";
+ next;
+ menu "Leave the quest",-,"Cancel",L_Can;
+ Warp "comodo.gat",193,149;
+L_Can:
+ close;
+}
+//= Warp man, takes you to the quest map (Comodo Theater)
+comodo.gat,193,151,4 script Bor Robin 86,{
+ callfunc "F_BlockHigh",27,"High Archer",44,"Gypsy","Bor Robin";
+
+ mes "[Bor Robin]";
+ mes "Well...... alot of people seem to be coming here lately.";
+ mes " ";
+ mes "They used to become dancers instantaneously.";
+ mes "I seen right before my eyes, more than I could count.";
+ mes "Now only people who are worthly can become dancers.";
+ next;
+ mes "[Bor Robin]";
+ mes "Becoming a dancer in these times would bring you true happiness.";
+ mes "It would be great to see more dancers around.";
+ next;
+ mes "[Bor Robin]";
+ mes "I can take you to the Comodo Theater if you want.";
+ mes " ";
+ mes "What have you got to say?";
+ next;
+ menu "Can you take me to the Theater?",L1,"I want to Leave",-;
+ mes "[Bor Robin]";
+ mes "Come back when you feel ready.";
+ close;
+L1:
+ mes "[Bor Robin]";
+ mes "I will take you now.";
+ close2;
+ warp "job_duncer.gat",70,49;
+ end;
+}
+//= 1st quest NPC, asks for Items and/or money, then passes you onto the next NPC
+job_duncer.gat,43,93,4 script Aire 724,{
+ if ((basejob == 3) && (Sex == 0)) goto Larcher;
+ if (basejob == 20) goto Ldancer;
+ if (Upper==1) goto LUpper1;
+ mes "[Aire]";
+ mes "Hi "+strcharinfo(0)+", you are only allowed to stay in this room any where else is off limits to you.";
+ mes "";
+ next;
+ mes "[Aire]";
+ mes "We can't just let anyone become a dancer, there is no reason other than this for people to be here.";
+ next;
+ mes "[Aire]";
+ mes "You can stay and watch the dance stage if you want to, there might be an audition going on.";
+ mes "See you later.";
+ close;
+Ldancer:
+ mes "[Aire]";
+ mes "Nice to see you return.";
+ mes "How have you been recently?";
+ mes "Have you been bringing many people joy?";
+ close;
+Larcher:
+ if (Upper == 1) goto LUpper1;
+ if (DANC_Q == 1) goto LStart2;
+ if (DANC_Q == 2) goto LItem1;
+ if (DANC_Q == 3) goto LItem2;
+ if (DANC_Q == 4) goto LItem3;
+ if ((DANC_Q == 5) || (DANC_Q == 6)) goto LStart3;
+ if (DANC_Q >= 7) goto LStart4;
+ mes "[Aire]";
+ mes "Welcome to our Theater.";
+ mes "This is where various dances are taught.";
+ next;
+ mes "[Aire]";
+ mes "Sightseers visit from all other the place, to watch the dancers.";
+ next;
+ mes "[Aire]";
+ mes "We can also train new dancers here, obviously for a price, we dont want to go out of business.";
+ next;
+ mes "[Aire]";
+ mes "You must first fill in the application form.";
+ mes "All you have to do is write in your details.";
+ next;
+ mes "[Aire]";
+ mes "So what do you say?";
+ mes "Are you proposing you become a dancer? or will you be leaving like many before you.";
+ next;
+ menu "Fill in the form",L1,"Leave",-;
+ mes "[Aire]";
+ mes "If you do reconcider please return to me.";
+ mes "See you later.";
+ close;
+L1:
+ if (JobLevel < 40) goto Llowlv;
+ mes "[Aire]";
+ mes "So you are ready to start you journey!";
+ mes "Please enter in the application form which is there.";
+ next;
+ mes "......";
+ next;
+ mes "......Filling in information......";
+ next;
+ mes "......";
+ next;
+ mes "[Aire]";
+ mes "Your name......";
+ mes strcharinfo(0)+"......";
+ mes "That is a cute name!";
+ next;
+ mes "[Aire]";
+ mes "You will need to do a little waiting.";
+ mes "The form is being read be the dancing schools teacher.";
+ next;
+ mes "[Aire]";
+ mes "When you have time for the next part or your journey talk to me again";
+ set DANC_Q,1;
+ close;
+LStart2:
+ mes "[Aire]";
+ mes "You proposal has been accepted, but you still need to bring some items, and maybe zeny to cover the bill of our school.";
+ next;
+ mes "[Aire]";
+ mes "Lets see what items you will need to bring to cover your bill.";
+ mes " ";
+ mes "Ok...";
+ next;
+//3 Random sets
+ mes "[Aire]";
+ set @itemset, rand(1,3);
+ if (@itemset == 2) goto ItemSet2;
+ if (@itemset == 3) goto ItemSet3;
+
+ mes "The cost for the lesson will be :-";
+ mes "^0000FF10,000 Zeny^000000";
+ mes "A pair of ^0000FFUnslotted Shoes^000000";
+ mes "^0000FF20 Sticky Mucus^000000";
+ mes "^0000FF5 Red Potions^000000";
+ mes "^0000FF3 Jellopy^000000";
+ next;
+ mes "[Aire]";
+ mes "When you have all these, I can prepare the lesson for you.";
+ mes " ";
+ mes "Come an speak to me again when you are ready.";
+ set DANC_Q,2;
+ close;
+ItemSet2:
+ mes "The cost for the lesson will be :-";
+ mes "^0000FF10,000 Zeny^000000";
+ mes "A pair of ^0000FFUnslotted Boots^000000";
+ mes "^0000FF5 earthworm skins^000000";
+ next;
+ mes "[Aire]";
+ mes "When you have all these, I can prepare the lesson for you.";
+ mes " ";
+ mes "Come an speak to me again when you are ready.";
+ set DANC_Q,3;
+ close;
+ItemSet3:
+ mes "The cost for the lesson will be :-";
+ mes "A pair of ^0000FFUnslotted Sandals^000000";
+ mes "^0000FF2 Clam Shells^000000";
+ mes "^0000FF5 Yellow Potions^000000";
+ mes "^0000FF20 Jellopy^000000";
+ mes "^0000FF10 Black Hair^000000";
+ next;
+ mes "[Aire]";
+ mes "When you have all these, I can prepare the lesson for you.";
+ mes "Come an speak to me again when you are ready.";
+ set DANC_Q,4;
+ close;
+
+LItem1:
+ if ((Countitem(938) >= 20) && (Countitem(501) >= 5) && (Countitem(909) >= 3) && (Countitem(2403) >= 1) && (Zeny >= 10000)) goto LItem1OK;
+ mes "[Aire]";
+ mes "Something is wrong here.";
+ mes "Seems you dont have enough items, we need everything that was asked for.";
+ mes "They are all necessary for you to be taught.";
+ mes "Incase you have forgoten, please bring.";
+ next;
+ mes "[Aire]";
+ mes "^0000FF10000 Zeny^000000";
+ mes "A pair of ^0000FFUnslotted Shoes^000000";
+ mes "^0000FF20 Sticky Mucus^000000";
+ mes "^0000FF5 Red Potions^000000";
+ mes "^0000FF3 Jellopy^000000";
+ next;
+ mes "[Aire]";
+ mes "Dont forget to get everything.";
+ mes "What are you waiting for?";
+ mes "see you back here soon";
+ close;
+LItem2:
+ if ((Countitem(1055) >= 5) && (Countitem(2405) >= 1) && (Zeny >= 10000)) goto LItem2OK;
+ mes "Something is wrong here.";
+ mes "Seems you dont have enough items, we need everything that was asked for.";
+ mes "They are all necessary for you to be taught.";
+ mes "Incase you have forgoten, please bring.";
+ next;
+ mes "[Aire]";
+ mes "^0000FF10000 Zeny^000000";
+ mes "A pair of ^0000FFUnslotted Boots^000000";
+ mes "^0000FF5 earthworm skins^000000";
+ next;
+ mes "[Aire]";
+ mes "Dont forget to get everything.";
+ mes "What are you waiting for?";
+ mes "see you back here soon";
+ close;
+LItem3:
+ if ((Countitem(965) >= 2) && (Countitem(503) >= 5) && (Countitem(909) >= 20) && (Countitem(1020) >= 10) && (Countitem(2401) >= 1)) goto LItem3OK;
+ mes "Something is wrong here.";
+ mes "Seems you dont have enough items, we need everything that was asked for.";
+ mes "They are all necessary for you to be taught.";
+ mes "Incase you have forgoten, please bring.";
+ next;
+ mes "[Aire]";
+ mes "A pair of ^0000FFUnslotted Sandals^000000";
+ mes "^0000FF2 Clam Shells^000000";
+ mes "^0000FF5 Yellow Potions^000000";
+ mes "^0000FF20 Jellopy^000000";
+ mes "^0000FF10 Black Hair^000000";
+ next;
+ mes "[Aire]";
+ mes "Dont forget to get everything.";
+ mes "What are you waiting for?";
+ mes "see you back here soon";
+ close;
+LItem1OK:
+ mes "[Aire]";
+ mes "Lets see here, oh you brought everything.";
+ mes "I accept your payment!";
+ set Zeny,Zeny-10000;
+ delitem 938,20;
+ delitem 501,5;
+ delitem 909,3;
+ delitem 2403,1;
+ next;
+ goto LStart3;
+LItem2OK:
+ mes "[Aire]";
+ mes "Lets see here, oh you brought everything.";
+ mes "I accept your payment!";
+ set Zeny,Zeny-10000;
+ delitem 1055,5;
+ delitem 2405,1;
+ next;
+ goto LStart3;
+LItem3OK:
+ mes "[Aire]";
+ mes "Lets see here, oh you brought everything.";
+ mes "I accept your payment!";
+ delitem 965,2;
+ delitem 503,5;
+ delitem 909,20;
+ delitem 1020,10;
+ delitem 2401,1;
+ next;
+LStart3:
+ mes "[Aire]";
+ mes "Now the cost of the training is out of that way, we need you to participate in an interview, and pass a small test to be worthy of becoming a dancer.";
+ next;
+ mes "[Aire]";
+ mes "Your interview and test will be performed by ^0000FF'Bijou'^000000.";
+ mes "Please go and see her as soon as posible.";
+ if (DANC_Q < 5) set DANC_Q,5;
+ close;
+LStart4:
+ mes "[Aire]";
+ mes "Practicing enthusiastically, that cute dance.";
+ mes "When you have completed your training please show me!";
+ close;
+Llowlv:
+ mes "[Aire]";
+ mes "Huh......";
+ mes "I am very sorry, but you have not met our minimun job lvl requirments.";
+ next;
+ mes "[Aire]";
+ mes "You need to be at least above Job Lvl 40.";
+ mes "Please return when you are Job Lvl 40 or higher.";
+ mes "Dont tell anyone I told you this, if you complete the training as a dancer and you are Job Lvl 50 you get an extra gift from us.";
+ mes "Enjoy your day.";
+ close;
+LUpper1:
+ mes "[Aire]";
+ mes "It's such a big honor to salute envoys of Valhalla.";
+ mes "Come again.";
+ emotion 2;
+ close;
+
+}
+//= 2nd "Quest" and Job changer for after the 3rd Quest
+job_duncer.gat,95,93,4 script Bijou 101,{
+ if ((basejob == 3) && (Sex == 0)) goto LArcher;
+ if (basejob == 20) goto LDancer;
+ mes "[Bijou]";
+ mes "Welcome to our Dance Theater, there are many dancers around here.";
+ next;
+ mes "[Bijou]";
+ mes "Unfortunatally for you I have already retired from being a dancer, but I stay here to train new dancers.";
+ next;
+ mes "[Bijou]";
+ mes "The hardest part of becoming a dancing is the physical test of timing and speed, it is done at the stage.";
+ mes "";
+ mes "I then call out direction to the trainee, and they need to follow they to the letter.";
+ mes "If they complete that test they come back to me for the final part of there training, and they leave as a dancer.";
+ close;
+LDancer:
+ mes "[Bijou]";
+ mes "What have you be doing today?";
+ next;
+ mes "[Bijou]";
+ mes "Go and bring joy to all ther others that you see.";
+ mes "Making impression on the many people.";
+ mes "Help other as much as possible.";
+ mes "Dont forget your training.";
+ mes "See you again soon!";
+ close;
+LArcher:
+ if (Skillpoint != 0) goto LErrorA;
+ if (DANC_Q == 5) goto Ltest1;
+ if (DANC_Q == 6) goto Ltest2;
+ if ((DANC_Q == 7) || (DANC_Q == 8)) goto LStart2;
+ if (DANC_Q == 10) goto Ljobchange;
+ mes "[Bijou]";
+ mes "So you want to become a dancer, eh?";
+ next;
+ mes "[Bijou]";
+ mes "Well, it seems you havent paid anything towards it yet.";
+ mes "First you need to fill in an application, and be accepted.";
+ mes "Once accepted you will need to find payment, they can be all items, or some items and zeny.";
+ mes "The person you need to go and talk to about this is 'Aire' she is the other side of the stage.";
+ mes "When everything is ok with her come back to me.";
+ close;
+LErrorA:
+ mes "[Bijou]";
+ mes "You still seem to have skill points.";
+ mes "Untill you use all of your point you cannot change jobs.";
+ close;
+Ltest1:
+ mes "[Bijou]";
+ mes "So you want to become a dancer, eh?";
+ next;
+ mes "[Bijou]";
+ mes "......You have already paid I see, so we can now continue.";
+ next;
+ mes "[Bijou]";
+ mes "Before I can let you become a Dancer I need to test you mental attitude, this is done through a simple test.";
+ mes "It is multiple choice and alot of them are common sence, well common for someone that has the mental attitude to become a dancer.";
+ next;
+ mes "[Bijou]";
+ mes "There is a total of 10 questions, for each one you get correct you are awarded 10 points.";
+ mes " ";
+ mes "There are some answers that will reduce your final score, try and avoid answering them wrong.";
+ next;
+ goto LsetQ;
+Ltest2:
+ mes "[Bijou]";
+ if(DANC_Q == 6) mes "Back for another try?";
+ mes "Good luck to you, now let the test begin.";
+ next;
+LsetQ:
+ set @rand,rand(2);
+ set @dcpoint,0;
+ if (@rand == 1) goto LQuestion2;
+//-------
+LQuestion1:
+ mes "[Bijou]";
+ mes "1.";
+ mes "^00FF00Subject:^000000 Dancer + bard combination playing skill.";
+ mes "What is the effect of ^777777'Classical Pluck/Lokis Veil'^000000 ?";
+ next;
+ menu "Attack power of the level 4 weapon improves",L1_2,"Double the damage is done",L1_2,"Makes skills and magics unusable",-,"Attack speed rises",L1_2;
+ set @dcpoint,@dcpoint+10;
+L1_2:
+//I am unsure about the translated meaning on Question 2, I tried to adapt it with my own question,
+//I will put a asterisk (*) next to all I have done this for, I done this so other people who might understand it better can correct it.
+ mes "[Bijou]";
+ mes "2.";
+ mes "^00FF00Subject:^000000 After Dancing.";
+ mes "After you have finished using an Ensemble skill with a partner what should you never do?";
+ next;
+ menu "Use words of appreciation towards the partner",L1_3,"The dance is praised",L1_3,"Invite the partner to dance again",L1_3,"You tell the partner they did an insufficient job",-;
+ set @dcpoint,@dcpoint+10;
+L1_3:
+// *
+ mes "[Bijou]";
+ mes "3.";
+ mes "^00FF00Subject:^000000 Before Dancing";
+ mes "When a partner activates the incorrect dance what should you do?";
+ next;
+ menu "Smile and just continue to dance",L1_4,"Point out the mistake",-,"Cancel the dance and walk away",L1_4,"Hide your smerk",L1_4;
+ set @dcpoint,@dcpoint+10;
+L1_4:
+ mes "[Bijou]";
+ mes "4.";
+ mes "^00FF00Subject:^000000 General Knowledge.";
+ mes "What is the name of the village where you can designate the change of your occupation to that of a dancer?";
+ next;
+ menu "Prontera",L1_5,"Morroc",L1_5,"Al De Baran",L1_5,"Comodo",-;
+ set @dcpoint,@dcpoint+10;
+L1_5:
+ mes "[Bijou]";
+ mes "5.";
+ mes "^00FF00Subject:^000000 Places around Comodo.";
+ mes "How many caves are directally connect to Comodo Village?";
+ next;
+ menu "1",L1_6,"2",L1_6,"3",-,"4",L1_6;
+ set @dcpoint,@dcpoint+10;
+L1_6:
+ mes "[Bijou]";
+ mes "6.";
+ mes "^00FF00Subject:^000000 Pet's.";
+ mes "Which of the following is not able to be tamed?";
+ next;
+ menu "Isis",L1_7,"Argiope",-,"Dokebi",L1_7,"Deviruchi",L1_7;
+ set @dcpoint,@dcpoint+10;
+L1_7:
+ mes "[Bijou]";
+ mes "7.";
+ mes "^00FF00Subject:^000000 General Knowledge.";
+ mes "Who is the best dancer?";
+ next;
+ menu strcharinfo(0),L1_7a,"Bijou",-,"Isis",L1_8,"Flora",L1_8;
+ set @dcpoint,@dcpoint+10;
+ goto L1_8;
+ L1_7a:
+ set @dcpoint,@dcpoint-100;
+ mes ".........";
+ next;
+L1_8:
+// *
+ mes "[Bijou]";
+ mes "8.";
+ mes "^00FF00Subject:^000000 Places around Comodo.";
+ mes "What is one of the main attractions of Comodo?";
+ next;
+ menu "A Church",L1_9,"Exceptionally good shops",L1_9,"The best chicken you can get anywhere",L1_9,"The Casino",-;
+ set @dcpoint,@dcpoint+10;
+L1_9:
+ mes "[...]";
+ mes "9.";
+ mes "^00FF00Subject:^000000 General Knowledge.";
+ mes "What is my name?";
+ next;
+ menu "Gijou",L1_10,"Bijon",L1_10,"Bijou",-,"Bojou",L1_10;
+ set @dcpoint,@dcpoint+10;
+// *
+L1_10:
+ mes "[Bijou]";
+ mes "10.";
+ mes "^00FF00Subject:^000000 Dancer + bard combination playing skill.";
+ mes "What is the effect of ^777777'Lullaby'^000000 ?";
+ next;
+ menu "Put enemy to sleep, in a 5x5 area",Lcheckpt,"Put enemy to sleep, in a 9x9 area",-,"Stun the enemy, in a 5x5 area",Lcheckpt,"Stun the enemy, in a 9x9 area",Lcheckpt;
+ set @dcpoint,@dcpoint+10;
+ goto Lcheckpt;
+//-------
+LQuestion2:
+ mes "[Bijou]";
+ mes "1.";
+ mes "^00FF00Subject:^000000 Dancer skill.";
+ mes "What is the effect of ^777777'Dancing Lessons'^000000? ";
+ next;
+ menu "Your INT is increased",L2_2,"The damage of whip type attacks are raised",-,"The damage of rod type attacks are raised",L2_2,"The damage of ranged type attacks are raised",L2_2;
+ set @dcpoint,@dcpoint+10;
+L2_2:
+ mes "[Bijou]";
+ mes "2.";
+ mes "^00FF00Subject:^000000 Dance Type.";
+ mes "While doing this type of dance, you wear special shoes that make loud sounds";
+ mes "What is this type of dancing called?";
+ next;
+ menu "Tap dance",-,"Improved Concentration",L2_3,"Tango",L2_3,"Salsa",L2_3;
+ set @dcpoint,@dcpoint+10;
+L2_3:
+ mes "[Bijou]";
+ mes "3.";
+ mes "^00FF00Subject:^000000 Dancer feature.";
+ mes "Choose the thing a dancer cannot do";
+ next;
+ menu "Perform Dances",L2_4,"Attack at a long range",L2_4,"Use a Whip",L2_4,"Use a 2-Handed Sword",-;
+ set @dcpoint,@dcpoint+10;
+L2_4:
+ mes "[Bijou]";
+ mes "4.";
+ mes "^00FF00Subject:^000000 General Knowledge.";
+ mes "What is the town where dancers stay the most?";
+ next;
+ menu "Al De Baran",L2_5,"Yuno",L2_5,"Morroc",L2_5,"Comodo",-;
+ set @dcpoint,@dcpoint+10;
+L2_5:
+ mes "[Bijou]";
+ mes "5.";
+ mes "^00FF00Subject:^000000 General Knowledge.";
+ mes "What person can perfrom the most beautiful dances?";
+ next;
+ menu strcharinfo(0),L2_5a,"Bijou",-,"Isis",L2_6,"Emralhandas",L2_6;
+ set @dcpoint,@dcpoint+10;
+ goto L2_6;
+ L2_5a:
+ set @dcpoint,@dcpoint-100;
+L2_6:
+ mes "[Bijou]";
+ mes "6.";
+ mes "^00FF00Subject:^000000 Dancer feature.";
+ mes "The dancer, in comparison with other occupations, has what advantage?";
+ next;
+ menu "Physical strength",L2_7,"Performing skill power",L2_7,"Dance Capability",-,"Magic Capability",L2_7;
+ set @dcpoint,@dcpoint+10;
+L2_7:
+ mes "[Bijou]";
+ mes "7.";
+ mes "^00FF00Subject:^000000 Places around Comodo.";
+ mes "What is the Casino managers name?";
+ next;
+ menu "Martine",L2_8,"Roberto",L2_8,"Moo",-,"Deniroz",L2_8;
+ set @dcpoint,@dcpoint+10;
+L2_8:
+ mes "[Bijou]";
+ mes "8.";
+ mes "^00FF00Subject:^000000 Dancer feature.";
+ mes "As for the item which the dancer cannot equip?";
+ next;
+ menu "Hair band of cat",L2_9,"Two-handed Sword",-,"Sandals",L2_9,"Earring",L2_9;
+ set @dcpoint,@dcpoint+10;
+L2_9:
+ mes "[Bijou]";
+ mes "9.";
+ mes "^00FF00Subject:^000000 Opinion.";
+ mes "Do you think this test is boring?";
+ next;
+ menu "It is",L2_10,"Give me more questions",-;
+ set @dcpoint,@dcpoint+10;
+L2_10:
+ mes "[Bijou]";
+ mes "10.";
+ mes "^00FF00Subject:^000000 Places around Comodo.";
+ mes "How many lighthouses exist on Comodo Island?";
+ next;
+ menu "1",-,"2",Lcheckpt,"3",Lcheckpt;
+ set @dcpoint,@dcpoint+10;
+ goto Lcheckpt;
+//-------
+Lcheckpt:
+ mes "[Bijou]";
+ mes "You have now completed the test, lets see how you did......";
+ next;
+ mes "[Bijou]";
+ mes "You got a total of "+@dcpoint+" points......";
+ if ((@dcpoint >= 80) && (DANC_Q == 5)) goto LpointOK;
+ if ((@dcpoint >= 70) && (DANC_Q == 6)) goto LpointOK;
+ mes "I am going to need to disqualify you, cause you didnt reach the required ammount.";
+ next;
+ mes "[Bijou]";
+ mes "You are allowed to take the test again if you like, for no extra charge.";
+ if (DANC_Q==5) mes "Next time you take the test I will lower the ammount of points you need to pass, to make it easier for you.";
+ mes "Better luck next time, see you around!";
+ set DANC_Q,6;
+ close;
+ LpointOK:
+ if (@dcpoint == 100) mes "That is amazing, 100% correct.";
+ if (@dcpoint != 100) mes "Even though you didnt get all the questions right, you have still passed.";
+ next;
+ mes "[Bijou]";
+ mes "The next thing you need to do is pass a phyical test, of speed and timing";
+ mes "when you are ready for this test talk to me again, I can also tell you more about the test before you take it.";
+ set DANC_Q,7;
+ close;
+LStart2:
+ mes "[Bijou]";
+ mes "Are you ready for this test? or do you want me to talk you through it first?";
+ next;
+ menu "Please Explain it to me",-,"Take me to the test area",Lwarp;
+ mes "[Bijou]";
+ mes "Think of this more as an audition than a test.";
+ mes "We give you ^0000FF1 minute^000000 to impress us.";
+ next;
+ mes "[Bijou]";
+ mes "There can only be ^0000FFone person^000000 at a time dancing on the stage.";
+ next;
+ mes "[Bijou]";
+ mes "If there are people are infront of you stay in the ^0000FFwaiting room^000000 untill you hear the person infront of you has past or fails their test.";
+ next;
+ mes "[Bijou]";
+ mes "Click in the window above the waiting room guide to get sent to the dance stage, if there is someone already on the stage it will not allow you to enter, you will need to wait.";
+ next;
+ mes "[Bijou]";
+ mes "When you get put onto the stage get into a ^0000FFposition which can look around the whole stage^000000.";
+ next;
+ mes "[Bijou]";
+ mes "Once you get onto the stage I will annouce that the time has started.";
+ mes "Then I will start calling out directions for you to take.";
+ next;
+ mes "[Bijou]";
+ mes "You then need to follow them directions as quickly as possible.";
+ mes "^FF0000[ < ]^000000 = Move to the left";
+ mes "^FF0000[ > ]^000000 = Move to the right";
+ mes "^FF0000[ * ]^000000 = Go back to the center of the stage";
+ mes "^FF0000[ \\/ ]^000000 = Move down towards the front of the stage";
+ mes "^FF0000[ /\\ ]^000000 = Move up towards the back of the stage";
+ next;
+ mes "[Bijou]";
+ mes "There are some other things you will need to do, so just be ready will your skills and bow just incase.";
+ next;
+ mes "[Bijou]";
+ mes "Dont worry if you have no experience of dance, that is what this is for, so you dont need to worry.";
+ close;
+ Lwarp:
+ mes "[Bijou]";
+ mes "I will take you back stage so you can take you test!";
+ set DANC_Q,8;
+ close2;
+ warp "job_duncer.gat",104,109;
+ end;
+Ljobchange:
+ mes "[Bijou]";
+ mes "You have done great, you have passed all the tests we have set out for you.";
+ next;
+ mes "[Bijou]";
+ mes "I now think you have sufficient knowledge to become a dancer now!";
+ next;
+ mes "[Bijou]";
+ mes "Now...... please relax as we finish our training here.";
+ next;
+ mes "[Bijou]";
+ mes "It will be your job to bring joy to all the people in Rune Midgard.";
+ next;
+ if (JobLevel == 50) set @item,1;
+ if (JobLevel != 50) set @item,0;
+ mes "[Bijou]";
+ mes "Watch each time you dance from now on.";
+ next;
+ callfunc "Job_Change",Job_Dancer;
+ callfunc "F_ClearJobVar";
+ mes "[Bijou]";
+ mes "The enjoyment of the people watching you perform......";
+ next;
+ mes "[Bijou]";
+ mes "This is present from me!";
+ if (@item == 0) getitem 1950,1;
+ if (@item == 0) mes "Now take this Rope, and be the best dancer you can be!";
+ if (@item == 1) getitem 1953,1;
+ if (@item == 1) mes "Since you are very experienced I have given you a Line, instead of a simple Rope the normal people would get.";
+ if (@item == 1) mes "Now take you Line, and be the best dancer you can be!";
+ close;
+
+}
+//=Start of the 3rd quest is here, once complete you go back to Bijou to change job
+job_duncer.gat,32,152,6 script Guide::dancew 69,{
+ close;
+OnWarp:
+ warpwaitingpc "job_duncer.gat",70,112,1;
+ disablewaitingroomevent;
+ initnpctimer "jobDq";
+ end;
+OnInit:
+ waitingroom "Dance lesson waiting room",20,"dancew::OnWarp",1;
+ end;
+}
+job_duncer.gat,0,0,0 script jobDq -1,{
+ end;
+OnTimer1000:
+ mapannounce "job_duncer.gat","Bijou: The test begins, Total time allowed is 1 minute.",8;
+ end;
+OnTimer3000:
+ mapannounce "job_duncer.gat","Bijou: Step Up! [ /\\ ]",8;
+ callsub L_SUB1,2000;
+ end;
+OnTimer7000:
+ donpcevent "::OnDE1";
+ mapannounce "job_duncer.gat","Bijou: To the bottom. [ \\/ ]",8;
+ callsub L_SUB5,2000;
+ end;
+OnTimer11000:
+ donpcevent "::OnDE1";
+ mapannounce "job_duncer.gat","Bijou: To the left. [ < ]",8;
+ callsub L_SUB2,2000;
+ end;
+OnTimer15000:
+ donpcevent "::OnDE1";
+ mapannounce "job_duncer.gat","Bijou: Go to the right. [ > ]",8;
+ callsub L_SUB4,2000;
+ end;
+OnTimer19000:
+ donpcevent "::OnDE1";
+ mapannounce "job_duncer.gat","Bijou: Return to the middle. [ * ]",8;
+ callsub L_SUB3,3000;
+ end;
+OnTimer21000:
+ donpcevent "::OnDE1";
+ mapannounce "job_duncer.gat","Bijou: Stay still!",8;
+ end;
+OnTimer26000:
+ set @skillcheck,Sp;
+ mapannounce "job_duncer.gat","Bijou: Use 'Improved Concentration'!",8;
+ end;
+OnTimer29000:
+ if (@skillcheck==Sp) goto OnTimer80000;
+ donpcevent "::OnDE1";
+ mapannounce "job_duncer.gat","Bijou: To the left. [ < ]",8;
+ callsub L_SUB2,2000;
+ end;
+OnTimer33000:
+ donpcevent "::OnDE1";
+ mapannounce "job_duncer.gat","Bijou: To the bottom. [ \\/ ]",8;
+ end;
+OnTimer35000:
+ mapannounce "job_duncer.gat","Bijou: Directly the right! [ > ]",8;
+ callsub L_SUB4,3000;
+ end;
+OnTimer38000:
+ donpcevent "::OnDE1";
+ mapannounce "job_duncer.gat","Bijou: Stay still!",8;
+ end;
+OnTimer41000:
+ mapannounce "job_duncer.gat","Bijou: The left * center * right * top [ < ] [ * ] [ > ] [ /\\ ]",8;
+ callsub L_SUB1,0;
+ end;
+OnTimer47000:
+ donpcevent "::OnDE1";
+ mapannounce "job_duncer.gat","Bijou: To the right. [ > ] ",8;
+ callsub L_SUB4,3000;
+ end;
+OnTimer50000:
+ donpcevent "::OnDE1";
+ mapannounce "job_duncer.gat","Bijou: The left * center * down * up: [ < ] [ * ] [ \\/ ] [ /\\ ] ",8;
+ callsub L_SUB1,0;
+ end;
+OnTimer56000:
+ donpcevent "::OnDE1";
+ mapannounce "job_duncer.gat","Bijou: Once again, the left * center * down * up: [ < ] [ * ] [ \\/ ] [ /\\ ]",8;
+ callsub L_SUB1,0;
+ end;
+OnTimer62000:
+ donpcevent "::OnDE1";
+ mapannounce "job_duncer.gat","Bijou: Down! [ \\/ ]",8;
+ callsub L_SUB5,2500;
+ end;
+OnTimer65000:
+ donpcevent "::OnDE1";
+ mapannounce "job_duncer.gat","Bijou: To the left! [ < ]",8;
+ callsub L_SUB2,2500;
+ end;
+OnTimer68000:
+ donpcevent "::OnDE1";
+ mapannounce "job_duncer.gat","Bijou: Return to the middle. [ * ]",8;
+ callsub L_SUB3,2500;
+ end;
+OnTimer71000:
+ donpcevent "::OnDE1";
+ mapannounce "job_duncer.gat","Bijou: Kill the monster using Arrow Shower!",8;
+ set @skillcheck,Sp;
+ monster "job_duncer.gat",69,106,"Poring",1002,1,"jddie";
+ end;
+OnTimer76000:
+ killmonsterall "job_duncer.gat";
+ end;
+OnTimer80000:
+ mapannounce "job_duncer.gat","Dancer: You was a bit too slow, sorry you have failed.",8;
+ disablenpc "uppertile";
+ disablenpc "lefttile";
+ disablenpc "righttile";
+ disablenpc "lowertile";
+ disablenpc "middletile";
+ if (getareausers("job_duncer.gat",68,106,70,114) != 0) areawarp "job_duncer.gat",68,106,70,114,"job_duncer.gat",69,102;
+ if (getareausers("job_duncer.gat",65,109,73,111) != 0) areawarp "job_duncer.gat",65,109,73,111,"job_duncer.gat",69,102;
+ stopnpctimer;
+ enablewaitingroomevent "dancew";
+ end;
+L_SUB1:
+ disablenpc "lefttile";
+ disablenpc "middletile";
+ disablenpc "righttile";
+ disablenpc "lowertile";
+ setnpctimer getarg(0),"jdt1";
+ startnpctimer "jdt1";
+ return;
+L_SUB2:
+ disablenpc "uppertile";
+ disablenpc "middletile";
+ disablenpc "righttile";
+ disablenpc "lowertile";
+ setnpctimer getarg(0),"jdt2";
+ startnpctimer "jdt2";
+ return;
+L_SUB3:
+ disablenpc "uppertile";
+ disablenpc "lefttile";
+ disablenpc "righttile";
+ disablenpc "lowertile";
+ setnpctimer getarg(0),"jdt3";
+ startnpctimer "jdt3";
+ return;
+L_SUB4:
+ disablenpc "lefttile";
+ disablenpc "middletile";
+ disablenpc "uppertile";
+ disablenpc "lowertile";
+ setnpctimer getarg(0),"jdt4";
+ startnpctimer "jdt4";
+ return;
+L_SUB5:
+ disablenpc "lefttile";
+ disablenpc "middletile";
+ disablenpc "righttile";
+ disablenpc "uppertile";
+ setnpctimer getarg(0),"jdt5";
+ startnpctimer "jdt5";
+ return;
+}
+job_duncer.gat,0,0,0 script jddie -1,{
+ if (@skillcheck==Sp) set @check,1;
+ if (@check==0) mapannounce "job_duncer.gat","Dancer: Well done, you were very skillful, and have passed the test.",8;
+ if (@check==1) mapannounce "job_duncer.gat","Dancer: Sorry "+strcharinfo(0)+" the failed to use arrow shower to kill the monster",8;
+ disablenpc "uppertile";
+ disablenpc "lefttile";
+ disablenpc "righttile";
+ disablenpc "lowertile";
+ disablenpc "middletile";
+ if (@check==0) set DANC_Q,10;
+ stopnpctimer "jobDq";
+ enablewaitingroomevent "dancew";
+ if (@check==1) set @check,0;
+ warp "job_duncer.gat",69,102;
+ end;
+}
+job_duncer.gat,63,110,4 script Back dancer #1::jdt1 724,{
+ end;
+OnTimer5000:
+ enablenpc "lefttile";
+ enablenpc "middletile";
+ enablenpc "righttile";
+ enablenpc "lowertile";
+ stopnpctimer;
+ end;
+OnDE1:
+ emotion 21;
+ end;
+OnDE2:
+ emotion 23;
+ end;
+}
+job_duncer.gat,66,113,4 script Back dancer #2::jdt2 724,{
+ end;
+OnTimer5000:
+ enablenpc "uppertile";
+ enablenpc "middletile";
+ enablenpc "righttile";
+ enablenpc "lowertile";
+ stopnpctimer;
+ end;
+OnDE1:
+ emotion 21;
+ end;
+OnDE2:
+ emotion 23;
+ end;
+}
+job_duncer.gat,72,113,4 script Back dancer #3::jdt3 724,{
+ end;
+OnTimer5000:
+ enablenpc "lefttile";
+ enablenpc "uppertile";
+ enablenpc "righttile";
+ enablenpc "lowertile";
+ stopnpctimer;
+ end;
+OnDE1:
+ emotion 21;
+ end;
+OnDE2:
+ emotion 23;
+ end;
+}
+job_duncer.gat,75,110,4 script Back dancer #4::jdt4 724,{
+ end;
+OnTimer5000:
+ enablenpc "lefttile";
+ enablenpc "middletile";
+ enablenpc "uppertile";
+ enablenpc "lowertile";
+ stopnpctimer;
+ end;
+OnDE1:
+ emotion 21;
+ end;
+OnDE2:
+ emotion 23;
+ end;
+}
+job_duncer.gat,75,110,4 script jdt5 139,{
+ end;
+OnTimer5000:
+ enablenpc "lefttile";
+ enablenpc "middletile";
+ enablenpc "righttile";
+ enablenpc "uppertile";
+ stopnpctimer;
+ end;
+}
+job_duncer.gat,69,113,4 script uppertile 139,1,1,{
+ end;
+OnTouch:
+ mapannounce "job_duncer.gat","Dancer: Sorry "+strcharinfo(0)+" the failed to make it in time.",8;
+ disablenpc "uppertile";
+ disablenpc "lefttile";
+ disablenpc "righttile";
+ disablenpc "lowertile";
+ disablenpc "middletile";
+ enablewaitingroomevent "dancew";
+ stopnpctimer "jobDq";
+ areawarp "job_duncer.gat",68,112,70,114,"job_duncer.gat",69,102;
+ donpcevent "::OnDE2";
+ end;
+OnDE1:
+OnInit:
+ disablenpc "uppertile";
+ end;
+}
+job_duncer.gat,66,110,4 script lefttile 139,1,1,{
+ end;
+OnTouch:
+ mapannounce "job_duncer.gat","Dancer: Sorry "+strcharinfo(0)+" the failed to make it in time.",8;
+ disablenpc "uppertile";
+ disablenpc "lefttile";
+ disablenpc "righttile";
+ disablenpc "lowertile";
+ disablenpc "middletile";
+ enablewaitingroomevent "dancew";
+ stopnpctimer "jobDq";
+ areawarp "job_duncer.gat",65,109,67,111,"job_duncer.gat",69,102;
+ donpcevent "::OnDE2";
+ end;
+OnDE1:
+OnInit:
+ disablenpc "lefttile";
+ end;
+}
+job_duncer.gat,69,110,4 script middletile 139,1,1,{
+ end;
+OnTouch:
+ mapannounce "job_duncer.gat","Dancer: Sorry "+strcharinfo(0)+" the failed to make it in time.",8;
+ disablenpc "uppertile";
+ disablenpc "lefttile";
+ disablenpc "righttile";
+ disablenpc "lowertile";
+ disablenpc "middletile";
+ enablewaitingroomevent "dancew";
+ stopnpctimer "jobDq";
+ areawarp "job_duncer.gat",68,109,70,111,"job_duncer.gat",69,102;
+ donpcevent "::OnDE2";
+ end;
+OnDE1:
+OnInit:
+ disablenpc "middletile";
+ end;
+}
+job_duncer.gat,72,110,4 script righttile 139,1,1,{
+ end;
+OnTouch:
+ mapannounce "job_duncer.gat","Dancer: Sorry "+strcharinfo(0)+" the failed to make it in time.",8;
+ disablenpc "uppertile";
+ disablenpc "lefttile";
+ disablenpc "righttile";
+ disablenpc "lowertile";
+ disablenpc "middletile";
+ enablewaitingroomevent "dancew";
+ stopnpctimer "jobDq";
+ areawarp "job_duncer.gat",71,109,73,111,"job_duncer.gat",69,102;
+ donpcevent "::OnDE2";
+ end;
+OnDE1:
+OnInit:
+ disablenpc "righttile";
+ end;
+}
+job_duncer.gat,69,107,4 script lowertile 139,1,1,{
+ end;
+OnTouch:
+ mapannounce "job_duncer.gat","Dancer: Sorry "+strcharinfo(0)+" the failed to make it in time.",8;
+ disablenpc "uppertile";
+ disablenpc "lefttile";
+ disablenpc "righttile";
+ disablenpc "lowertile";
+ disablenpc "middletile";
+ enablewaitingroomevent "dancew";
+ stopnpctimer "jobDq";
+ areawarp "job_duncer.gat",68,106,70,108,"job_duncer.gat",69,102;
+ donpcevent "::OnDE2";
+ end;
+OnDE1:
+OnInit:
+ disablenpc "lowertile";
+ end;
+}
+//= Some test NPC, activate these if you wanna try out the dance portion of the quest
+//==================================================================
+//job_duncer.gat,69,105,4 script TestDE1 98,{donpcevent "::OnDE1"; close;}
+//job_duncer.gat,69,110,4 script TestDE2 98,{donpcevent "::OnDE2"; close;}
+//job_duncer.gat,66,100,4 script WarpTilesON 98,{disablenpc "uppertile";disablenpc "lefttile";disablenpc "middletile";disablenpc "righttile";disablenpc "lowertile";close;}
+//job_duncer.gat,72,100,4 script WarpTilesOFF 98,{enablenpc "uppertile";enablenpc "lefttile";enablenpc "middletile";enablenpc "righttile";enablenpc "lowertile";close;}
+//==================================================================
+//job_duncer.gat,69,102,4 script Tester NPC 100,{
+// mes "[TEST]";
+// mes "want to take the dancing test?";
+// next;
+// menu "Yes",Lgo,"No",-;
+// close;
+//Lgo:
+// warp "job_duncer.gat",70,112;
+// initnpctimer "jobDq";
+// end;
+//}
diff --git a/npc/jobs/2-2/monk.txt b/npc/jobs/2-2/monk.txt new file mode 100644 index 000000000..d9af5a8e1 --- /dev/null +++ b/npc/jobs/2-2/monk.txt @@ -0,0 +1,1916 @@ +//===== eAthena Script =======================================
+//= Monk Job Quest
+//===== By: ==================================================
+//= Dino9021, Edited / Translated by Celest
+//===== Current Version: =====================================
+//= 1.9
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Monk Job Quests for Athena 2004.12.30
+//===== Additional Comments: =================================
+//= 1.1 Fixed missing '";'. Now it's loading fine [Lupus]
+//= 1.1+ Edited/Translated 5% [Celest]
+//= 1.2 Made Poetry Quiz passable, Fixed Marathon Part [Lupus]
+//= 1.3 Added Baby Class Support [Lupus]
+//= 1.5 Fixed possible EXP abuse [Lupus]
+//= 1.6 Added a func which prevent advanced classes passing
+//= 2nd Job Quests again. It also guides adv classes where
+//= to go. [Lupus] 1.7 Fixed warps19/20 [Yor]
+//= 1.8 Fixed bugs. Fixed Green Potion exploit. Getting rid of Jfunc mess [Lupus]
+//= 1.9 Added a missing check in Fuhai and fixed a LOT of Engrish. [Zephiris]
+//============================================================
+
+
+prt_monk.gat,55,249,4 script Tohobu the Guarding Monk 139,0,5,{
+ mes "[Tohobu]";
+ mes "Who are you?!";
+ mes "How dare you enter this holy training place without my permission!!";
+ next;
+ mes "[Tohobu]";
+ mes "Get Out!!";
+ close;
+}
+prt_monk.gat,59,247,4 script Master 120,{
+ callfunc "F_BlockHigh",28,"Acolyte High",39,"Champion","Tohobu";
+
+ if(MONK_Q == 1 ) goto Part1;
+ if(MONK_Q == 2 ) goto Part2;
+ if(MONK_Q > 2 ) goto Part3;
+ if(BaseJob == Job_Monk) goto IsMonk;
+ goto L_START;
+
+IsMonk:
+ mes "[Tohobu]";
+ mes "Your presence is not really desired at the ^00FF00St. Capitolina Abbey^000000.";
+ mes "However, since you are here, please do not disturb the Monks in training,";
+ mes "Even if you are a Monk!";
+ close;
+
+L_START:
+ mes "[Tohobu]";
+ mes "Hmmm...? What do you want from me?";
+ mes "Before entering the Training Area,";
+ mes "You shall have to first tell me your Name, Base Level and Job Level.";
+ next;
+ mes "[Tohobu]";
+ mes "Come! What is your name?";
+ next;
+ menu "Ignore him.",-,"Tell him.",L_MENU_1;
+
+ mes "[Tohobu]";
+ mes "You are so impolite! Get out!";
+ warp "prt_fild03.gat",357,256;
+ end;
+L_MENU_1:
+ mes "[Tohobu]";
+ mes "So... Your name is " + strcharinfo(0) + " Right?";
+ mes "...I believe it is pronounced that way.";
+ mes "Let's see... Job Level is " + JobLevel;
+ next;
+ mes "[Tohobu]";
+ mes "Okay! Why have you come to see me, " + strcharinfo(0) + " ?";
+ next;
+ menu "I'd like to see how Monks train themselves.",L_MENU_1_0,"I want to be a Monk.",L_MENU_1_1,"I'd like to rest here.",L_MENU_1_2;
+
+ L_MENU_1_0:
+ mes "[Tohobu]";
+ mes "Oh! I see.";
+ mes "Okay, I hope you'll learn something from our training,";
+ mes "Perhaps it might aid you in becoming a worthy Monk.";
+ set MONK_Q, 1;
+ close;
+
+ L_MENU_1_1:
+ if(BaseJob != Job_Acolyte) goto IsNot4;
+ if(JobLevel >= 40 ) goto SkillPointChk;
+ mes "[Tohobu]";
+ mes "Your Job Level is not high enough to be a Monk.";
+ mes "Come back when your Job Level is at least 40.";
+ next;
+ mes "[Tohobu]";
+ mes "No need to be hasty, there is so much to learn in this world,";
+ mes "Come back when you have met the requirements... Haha!";
+ close;
+
+ SkillPointChk:
+ if(SkillPoint == 0) goto L_GO;
+ mes "[Tohobu]";
+ mes "Well... It seems that you have the ability to be a Monk,";
+ mes "But I believe there are still skills you have yet to learn.";
+ mes "Come back when you have learned all your skills.";
+ close;
+
+ IsNot4:
+ mes "[Tohobu]";
+ mes "Oh! Are you kidding?";
+ close;
+
+ L_GO:
+ mes "[Tohobu]";
+ mes "Well... Seems you have the ability to be a Monk.";
+ mes "Very well then... Go to Wuhai the Elder, He will guide you.";
+ // used to determine what item to get at the end
+ if(JobLevel == 50) set JBLVL, 50; // used to determine what item to get at the end
+ set MONK_Q, 2;
+ close;
+
+ L_MENU_1_2:
+ mes "[Tohobu]";
+ mes "Alright, you do look tired from your travels...";
+ mes "Perhaps it would be good to rest awhile.";
+ mes "Go ahead and rest at the Abbey before leaving!";
+ next;
+ mes "[Tohobu]";
+ mes "Persevering in order to gain more strength is the way of life of the Monks.";
+ mes "I hope that seeing our practises will at least bring you some inner peace.";
+ close;
+Part1:
+ mes "[Tohobu]";
+ mes "Well? Have you changed your mind after looking around here?";
+ next;
+ menu "Nope.",L_MENU_1_0,"I want to be a Monk",L_MENU_1_1,"I need more rest.",L_MENU_1_2;
+
+Part2:
+ mes "[Tohobu]";
+ mes "Hello there! You should go to Wuhai the Elder. He will guide you.";
+ mes "He is in the Monastery Hall, South East from here";
+ close;
+
+Part3:
+ mes "[Tohobu]";
+ mes "Ah, Hello there! How is your training? Surely you're not going to give up?";
+ close;
+}
+
+monk_in.gat,99,58,4 script Elder Wuhai 60,{
+ //Not sure if this is needed, but hopefully it will prevent bugs [Zephiris]
+ if(MONK_Q > 11) set MONK_Q,11;
+
+ if(MONK_Q == 2) goto L_START;
+ if(MONK_Q == 3) goto Part1;
+ if(MONK_Q == 4) goto Part2;
+ if(MONK_Q >= 5 && MONK_Q < 10) goto Part3;
+ if(MONK_Q >= 10 && countitem(506) > 0) goto Part4;//Items: Green_Potion,
+ if(MONK_Q == 11 && countitem(506) == 0) goto Part5;//Items: Green_Potion,
+ if(BaseJob == Job_Monk) goto Part6;
+ if(BaseJob == Job_Acolyte) goto Part7;
+
+ mes "[Elder Wuhai]";
+ mes "May you find God in the Mother Nature!!";
+ mes "Welcome traveler, why do you seek me?";
+ close;
+
+L_START:
+ mes "[Elder Wuhai]";
+ mes "Hmmm... You are the youth who wants to be a Monk, right?";
+ next;
+ menu "Yes.",L_MENU_1,"No.",-;
+ mes "[Elder Wuhai]";
+ mes "Hmmm...? Aren't you?";
+ mes "Maybe I'm getting older, I would've guessed you were.";
+ mes "Very well then... You may go, young one.";
+ close;
+L_MENU_1:
+ mes "[Elder Wuhai]";
+ mes "Oh! So young ones these days still remember us Monks...";
+ mes "Welcome, my child!";
+ next;
+ mes "[Elder Wuhai]";
+ mes "So you want to be a Monk! I'm glad to hear that!";
+ mes "But first, before you can become one, there are a few things you need to know.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "As Monks, we undergo strict training while protecting world peace.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "The strength is for giving aid to the weak in need, and to protect them from harm.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Last but not least, we control our emotions,";
+ mes "More importantly, never be too proud of yourself,";
+ mes "or be blinded by success,";
+ next;
+ mes "[Elder Wuhai]";
+ mes "It might be tough, even painful,";
+ mes "while undergoing this process.";
+ mes "We will test the limits of what you can endure.";
+ mes "You can not become a Monk if you can't even bear this.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "OKay, let's start the test to see if you really have the ability to become a Monk.";
+ next;
+ if(JBLVL == 50) goto IsJOB50;
+ mes "[Elder Wuhai]";
+ mes "Firstly, here's a small exam to test your will to become one of us.";
+ next;
+
+ set MONK_Q, 3;
+ set JOB_MONK_C,rand(1,6);
+L_Collect:
+ if(JOB_MONK_C == 1 ) goto L_Collect1;
+ if(JOB_MONK_C == 2 ) goto L_Collect2;
+ if(JOB_MONK_C == 3 ) goto L_Collect3;
+ if(JOB_MONK_C == 4 ) goto L_Collect4;
+ if(JOB_MONK_C == 5 ) goto L_Collect5;
+ if(JOB_MONK_C == 6 ) goto L_Collect6;
+
+ L_Collect1:
+ mes "[Elder Wuhai]";
+ mes "Please bring these items";
+ mes "10 Teeth of Bat";
+ mes "5 Bears Footskins";
+ mes "20 Poison Spores";
+ if(@collect_tmp != 1) goto L_CollectS;
+ close;
+
+ L_Collect2:
+ mes "[Elder Wuhai]";
+ mes "Please bring these items";
+ mes "5 Porcupine Quills";
+ mes "20 Cobwebs";
+ mes "10 Grasshopper's Legs";
+ if(@collect_tmp != 1) goto L_CollectS;
+ close;
+
+ L_Collect3:
+ mes "[Elder Wuhai]";
+ mes "Please bring these items";
+ mes "30 Stems";
+ mes "5 Jellopies";
+ mes "10 Worm Peelings";
+ if(@collect_tmp != 1) goto L_CollectS;
+ close;
+
+ L_Collect4:
+ mes "[Elder Wuhai]";
+ mes "Please bring these items";
+ mes "5 Sticky Mucus";
+ mes "10 Earthworm Peelings";
+ mes "20 Green Herbs";
+ if(@collect_tmp != 1) goto L_CollectS;
+ close;
+
+ L_Collect5:
+ mes "[Elder Wuhai]";
+ mes "Please bring these items";
+ mes "20 Yoyo Tails";
+ mes "5 Iron Ores";
+ mes "3 Blue Herbs";
+ if(@collect_tmp != 1) goto L_CollectS;
+ close;
+
+ L_Collect6:
+ mes "[Elder Wuhai]";
+ mes "Please bring these items";
+ mes "5 Solid Shells";
+ mes "20 Shells";
+ mes "5 Zargons";
+ if(@collect_tmp != 1) goto L_CollectS;
+ close;
+L_CollectS:
+ next;
+ mes "[Elder Wuhai]";
+ mes "To test your will, you will have to collect these items by yourself";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Come back to me when you have all of them.";
+ mes "Now go, May God's blessings be with you.";
+ close;
+
+IsJOB50:
+ mes "[Elder Wuhai]";
+ mes "Oh, I see that your Job Level is " +JobLevel +" .";
+ mes "That could prove your ability.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Well done!";
+ mes "I think God will agree with me.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Well then.. There is a Monk named Wutao who wants to see you.";
+ mes "He is in the Ancestral Graveyard North of here.";
+ set MONK_Q, 4;
+ close;
+
+Part1:
+ if(JOB_MONK_C == 1 && countitem(913) >= 10 && countitem(948) >= 5 && countitem(7033) >= 20) goto L_CollectS2_1;//Items: Tooth_of_Bat, Bear's_Footskin, Poison_Spore,
+ if(JOB_MONK_C == 2 && countitem(1027) >= 5 && countitem(1025) >= 20 && countitem(940) >= 10) goto L_CollectS2_2;//Items: Porcupine_Quill, Cobweb, Grasshopper's_Leg,
+ if(JOB_MONK_C == 3 && countitem(905) >= 30 && countitem(909) >= 5 && countitem(955) >= 10) goto L_CollectS2_3;//Items: Stem, Jellopy, Worm_Peeling,
+ if(JOB_MONK_C == 4 && countitem(938) >= 5 && countitem(1055) >= 10 && countitem(511) >= 20) goto L_CollectS2_4;//Items: Sticky_Mucus, Earthworm_Peeling, Green_Herb,
+ if(JOB_MONK_C == 5 && countitem(942) >= 20 && countitem(1002) >= 5 && countitem(510) >= 3) goto L_CollectS2_5;//Items: Yoyo_Tail, Iron_Ore, Blue_Herb,
+ if(JOB_MONK_C == 6 && countitem(943) >= 5 && countitem(935) >= 20 && countitem(912) >= 5) goto L_CollectS2_6;//Items: Solid_Shell, Shell, Zargon,
+
+ mes "[Elder Wuhai]";
+ mes "Hmm... Still not ready yet?";
+ mes "Let me tell what you should bring again,";
+ mes "Listen carefully!";
+ next;
+ set @collect_tmp, 1;
+ goto L_Collect;
+
+ L_CollectS2_1:
+ delitem 913, 10;//Items: Tooth_of_Bat,
+ delitem 948, 5;//Items: Bear's_Footskin,
+ delitem 7033, 20;//Items: Poison_Spore,
+ goto L_CollectS2_E;
+ L_CollectS2_2:
+ delitem 1027, 5;//Items: Porcupine_Quill,
+ delitem 1025, 20;//Items: Cobweb,
+ delitem 940, 10;//Items: Grasshopper's_Leg,
+ goto L_CollectS2_E;
+ L_CollectS2_3:
+ delitem 7012, 30;//Items: Tough_Scalelike_Stem,
+ delitem 909, 5;//Items: Jellopy,
+ delitem 955, 10;//Items: Worm_Peeling,
+ goto L_CollectS2_E;
+ L_CollectS2_4:
+ delitem 938, 5;//Items: Sticky_Mucus,
+ delitem 1055, 10;//Items: Earthworm_Peeling,
+ delitem 511, 20;//Items: Green_Herb,
+ goto L_CollectS2_E;
+ L_CollectS2_5:
+ delitem 942, 20;//Items: Yoyo_Tail,
+ delitem 1002, 5;//Items: Iron_Ore,
+ delitem 510, 3;//Items: Blue_Herb,
+ goto L_CollectS2_E;
+ L_CollectS2_6:
+ delitem 943, 5;//Items: Solid_Shell,
+ delitem 935, 20;//Items: Shell,
+ delitem 912, 5;//Items: Zargon,
+ goto L_CollectS2_E;
+
+ L_CollectS2_E:
+ mes "[Elder Wuhai]";
+ mes "Oh! You've brought all of them!";
+ mes "Well done!";
+ mes "Your will to become a Monk is formidable!";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Let's see... there is a Monk named.. Ah... Wutao who wants to see you.";
+ mes "He will be in the Ancestral Graveyard North of here.";
+ set MONK_Q, 4;
+ set JOB_MONK_C, 0;
+ close;
+
+Part2:
+ mes "[Elder Wuhai]";
+ mes "Next should be... Questions regarding your job changing?";
+ mes "Go find master Wutao.";
+ mes "He will be in the Ancestral Graveyard North of here.";
+ close;
+Part3:
+ mes "[Elder Wuhai]";
+ mes "Hmm? You're still taking the test...?";
+ mes "Try to do your best then!";
+ close;
+Part4:
+ mes "[Elder Wuhai]";
+ mes "What? You didn't drink the Magic Potion yet?";
+ mes "Then... Hurry up and finish the Green-ish potion!";
+ mes "Otherwise, you will never be able to achieve the spiritual energy level of Monks!";
+ set MONK_Q, 11;
+ close;
+Part5:
+ mes "[Elder Wuhai]";
+ mes "We have done all the steps... Your blood, your mind, your soul...";
+ mes "All are prepared for you to become a Monk.";
+ mes "Even your spiritual energy has increased after drinking the Magic Potion.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Good... you must now be sworn in by an oath.";
+ mes "Afterwards, the job changing will be complete.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Are you willing to dedicate the rest of your life to serving God?";
+ next;
+ menu "Yes.",L_MONK_Q_2,"No.",-;
+
+ mes "[Elder Wuhai]";
+ mes "......What?......";
+ mes "Aren't you ready to become a Monk?";
+ mes "Perhaps you want to run around a bit more,";
+ mes "and shed some more sweat to become more prepared?";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Consider this carefully before coming back!";
+ mes "I do not want to make you a bad Monk.";
+ close;
+L_MONK_Q_2:
+ mes "[Elder Wuhai]";
+ mes "Will you use the powers given to you for your own good?";
+ next;
+ menu "Yes.",-,"No.",L_MONK_Q_3;
+
+ mes "[Elder Wuhai]";
+ mes "...NO NO NO NO NO!! Our training is not for any self benefits!";
+ mes "How could one who protects world peace abuse this advantage for their own selfish means?!";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Go and think over the true purpose of a Monk.";
+ mes "Thoughts like that will only make you greedier for power!";
+ mes "The corruption of your soul will only lead to loss of your ability.";
+ close;
+
+L_MONK_Q_3:
+ mes "[Elder Wuhai]";
+ mes "When judging those who have opposed the will of God,";
+ mes "Will you hesitate in punishing them?";
+ next;
+ menu "No.",L_MONK_Q_4,"Yes.",-;
+
+ mes "[Elder Wuhai]";
+ mes "What do you think Monks are?";
+ mes "No matter who they are,";
+ mes "People who harm the weak are like trash!";
+ mes "They do not have the right to live on this world!";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Perhaps you should go to people who deny morals in this world,";
+ mes "Come back again when you have a sense of justice.";
+ mes "Then you will know what to do.";
+ close;
+
+L_MONK_Q_4:
+ mes "[Elder Wuhai]";
+ mes "Will you help to eradicate those who oppose God,";
+ mes "And to sacrifice yourself for the better of others?";
+ next;
+ menu "Yes",L_MONK_Q_5,"No",-;
+
+ mes "[Elder Wuhai]";
+ mes "Oh...nonononono....";
+ mes "If sacrificing oneself would be beneficial to your peers,";
+ mes "and more enemies can be vanquished,";
+ mes "then that would be a great and worthy thing to do!";
+ next;
+ mes "[Elder Wuhai]";
+ mes "What does Sacrifice mean? Come back when you've figured it out.";
+ mes "Ah.. Sacrifice can be so simple, yet so difficult!";
+ close;
+
+L_MONK_Q_5:
+ mes "[Elder Wuhai]";
+ mes "Will you train monsters behind you to help others in battle?";
+ next;
+ menu "Yes",-,"No",L_MONK_Q_6;
+
+ mes "[Elder Wuhai]";
+ // he's not making any sense =P [Unknown]
+ // I've reworded this to what I think it probably correct. [Zephiris]
+ mes "That is not right! Training mobs around does not serve the benefit of everyone!";
+ mes "Instead it is a selfish act that violates the rights of others!";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Even when you've learned the skill 'Steel Body'";
+ mes "It is only meant to be used in emergency, or when you meet a strong adversary.";
+ mes "But not in such a situation!";
+ next;
+ mes "[Elder Wuhai]";
+ mes "It might feel like you're helping them,";
+ mes "but you are only commiting acts of unjust!";
+ mes "What is the true way of a Monk?";
+ mes "Come back when you have thought it over.";
+ close;
+
+L_MONK_Q_6:
+ mes "[Elder Wuhai]";
+ // mes "Will you spam?";
+ // "will you spam" is just so... un-monkly. ^^;
+ mes "In villages or wilderness, will you say the same lines repeatedly?";
+ next;
+ menu "Yes",-,"No",L_MONK_Q_7;
+
+ mes "[Elder Wuhai]";
+ mes "No! If you do so, then not just Monks, but even the common people";
+ mes "will be disturbed and pay no attention to you!";
+ next;
+ mes "[Elder Wuhai]";
+ mes "It is the same even if you only wanted to spread the words of God.";
+ mes "Think of your behavior. What's right and wrong?";
+ next;
+ mes "I would rather test you again, but I'll let you go this time.";
+ mes "Think carefully about this before returning!";
+ close;
+L_MONK_Q_7:
+ mes "[Elder Wuhai]";
+ mes "Do you feel as if you're a messenger of God, and are willing to die for God?";
+ next;
+ menu "Yes",L_MONK_Q_8,"No",-;
+
+ mes "[Elder Wuhai]";
+ mes "You cannot be a Monk with this kind of will!";
+ mes "As it's said, Death is only temporary. If we have to give our lives";
+ mes "to protect world peace, it would at least be a meaningful action!";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Those who oppose God will be condemned while those who listen to God will live.";
+ mes "What is life and death to you?";
+ mes "Ponder that well.";
+ close;
+
+L_MONK_Q_8:
+ mes "[Elder Wuhai]";
+ mes "Lastly, make an oath to swear you will keep to what you have already sworn.";
+ next;
+ menu "I swear.",L_MONK_Q_9,"I refuse.",-;
+
+ mes "[Elder Wuhai]";
+ mes "......";
+ next;
+ mes "[Elder Wuhai]";
+ mes "It seems like... you don't have enough training...";
+ mes "I can't let you become a Monk.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "It is better for you to train more.";
+ mes "Come back when you ready.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "May God be with you.";
+ close;
+
+L_MONK_Q_9:
+ mes "[Elder Wuhai]";
+ mes "Well then, we have completed the oaths.";
+ if (sex == 0) mes "Gather closer now, you are already my sister!";
+ if (sex == 1) mes "Gather closer now, you are already my brother!";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Your promise has been transmited to all Monks through our hearts.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Now, let us begin the ceremony!";
+ next;
+ mes "[Elder Wuhai]";
+ mes "I will acupuncture your 365 acupuncture points and open your 1129 arteries and veins";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Ahhhhhhhhh......";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Wuuu... Huuuuuu";
+ next;
+ mes "- He takes a deeply breath -";
+ next;
+ mes "- The acupuncture begins... -";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Ahhhh--- Dadadadadada!!!";
+ next;
+ mes "[Elder Wuhai]";
+ mes "DaBaDaBaDadadadaKaBonTatatata!!!";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Ahhhh--- Dadadadadada!!!";
+ next;
+ mes "[Elder Wuhai]";
+ mes "WaLaChuOhhhhhhh!!!";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Wuuu... Huuuuuu";
+ next;
+ mes "[Elder Wuhai]";
+ mes "WowHoooo... It is done! You are now a Monk!";
+
+ setoption 0;
+ callfunc "Job_Change",Job_Monk;
+ next;
+ mes "[Elder Wuhai]";
+ mes "(Cough!) (Cough!)";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Am I that old...? I feel so tired... (-sigh-)";
+ mes "I could have scaled mountains after this before.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Very well... You are now a Monk...";
+ mes "Welcome to the brotherhood.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "But never forget your promise.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Keep it in your mind, and train yourself.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Now go...";
+ mes "Here is a gift from us to congratulate you.";
+ if(JBLVL < 50) getitem 1801, 1;//Items: Waghnakh,
+ if(JBLVL == 50) getitem 1804, 1;//Items: Knuckle_Duster_,
+ callfunc "F_ClearJobVar";
+ close;
+Part6:
+ mes "[Elder Wuhai]";
+ mes "May you find God in Mother Nature!";
+ mes "Welcome young one! What can I do for you?";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Is everything alright?";
+ mes "How is your training?";
+ next;
+ mes "[Elder Wuhai]";
+ mes "If you don't have a strong body, you may not be able to help people when they need you.";
+ mes "If your will is weak, the Evil in this world will lead you down a dark path.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Never forget it! You are one who protects the weak as well as world peace!";
+ mes "You should always be aware of Evil around you. Don't let it lead you away from the Light!";
+ close;
+
+Part7:
+ mes "[Elder Wuhai]";
+ mes "May you find God in Mother Nature!";
+ mes "Welcome youung one! What can I do for you?";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Oh! You are an Acolyte....";
+ mes "If you want to pray, go to the Prontera Sanctuary!";
+ mes "This is the Monk training area, not a place for you to pray.";
+ mes "Go and find other places to stay if you are not willing to be a Monk.";
+ close;
+}
+
+prt_monk.gat,251,255,4 script Wutao 79,{
+ if(MONK_Q == 4 ) goto L_START;
+ if(MONK_Q == 5 ) goto Part1;
+ if(MONK_Q == 6 ) goto Part2;
+ if(MONK_Q > 6 ) goto Part3;
+
+ mes "[Wutao]";
+ mes "We are Monks!";
+ mes "We have unlimited power!";
+ mes "We have unlimited wisdom!";
+ mes "We use our power and wisdom to protect world peace!";
+ next;
+ mes "[Wutao]";
+ mes "So...";
+ mes "Are you my enemy?";
+ mes "You block my path!!!!";
+ next;
+ mes "[Wutao]";
+ mes "If someone blocks me, I'll fight!!";
+ mes "TaAhhhhhh!!!";
+ next;
+ mes "[Wutao]";
+ mes "HuHaaaaaaaa!!!";
+ next;
+ mes "[Wutao]";
+ mes "If you are not my enemy, then be on your way.";
+ close;
+
+L_START:
+ mes "[Wutao]";
+ mes "What can I do for you?";
+ mes "Do you want to talk about God?";
+ next;
+ mes "[Wutao]";
+ mes "Oh! you are proceeding with the Monk Training!";
+ mes "The spirit you have is like that of a Monk.";
+ next;
+ mes "[Wutao]";
+ mes "It seems your arteries and veins have begun to strengthen.";
+ mes "You must be the one coming from Elder Wuhai, right?";
+ mes "Very well...";
+ next;
+ mes "[Wutao]";
+ mes "Let me inform you about the spirits of Monks and some simple rules that Monks should obey.";
+ mes "After, I'll help you strengthen your mental state to make your body ready for the next test.";
+ next;
+ mes "[Wutao]";
+ mes "Now, remember exactly what I say and repeat it back to me.";
+ mes "Clear your mind... Are you ready?";
+ next;
+ menu "Yes",L_MENU_1,"No",-;
+ mes "[Wutao]";
+ mes "Then come back when you are ready!";
+ close;
+L_MENU_1:
+ mes "[Wutao]";
+ mes "Alright, let's begin.";
+ next;
+ set @JOB_MONK_C2, rand(1,3);
+L_Again:
+ if(@JOB_MONK_C2 == 0) set @JOB_MONK_C2, rand(1,3);
+ if(@JOB_MONK_C2 == 2) goto L_ROOT_2;
+ if(@JOB_MONK_C2 == 3) goto L_ROOT_3;
+
+ set @monk_str0$,"Supported by dragon and phoenix,";
+ set @monk_str1$,"So flies he westward.";
+ set @monk_str2$,"But the phoenix shall fall to the earth.";
+ set @monk_str3$,"And the dragon shall soar to the sky;";
+ set @monk_str4$,"There shall be successes and failures,";
+ set @monk_str5$,"For such is the eternal law.";
+ set @monk_str6$,"See that ye act when occasion offers,";
+ set @monk_str7$,"Lest ye descend to the Nine Golden Springs.'";
+ goto L_MES;
+ L_ROOT_2:
+ set @monk_str0$,"He boasted not a handsome face,";
+ set @monk_str1$,"Nor was his body blessed with grace.";
+ set @monk_str2$,"His words streamed like a waterfall,";
+ set @monk_str3$,"He read a book and knew it all.";
+ set @monk_str4$,"Shu's glories could he well rehearse,";
+ set @monk_str5$,"His lore embraced the universe.";
+ set @monk_str6$,"Or text or note of scholiast";
+ set @monk_str7$,"Once read, his memory held fast.";
+ goto L_MES;
+ L_ROOT_3:
+ set @monk_str0$,"Seek ye a noble one? Then take ye the way of Jieliang,";
+ set @monk_str1$,"Watch ye how all people revere Guan Yu,";
+ set @monk_str2$,"Each excelling others to honor him,";
+ set @monk_str3$,"Him, one of the three brothers of the Peach Garden Oath,";
+ set @monk_str4$,"Who have won sacrifices, as emperor and king.";
+ set @monk_str5$,"Incomparable their aura spreads through the world;";
+ set @monk_str6$,"They are resplendent as the great lights of the firmament;";
+ set @monk_str7$,"Temples to our Lord Guan Yu abound, no village lacks one,";
+ set @monk_str8$,"Their venerable trees at sundown are the resting places for birds.";
+
+L_MES:
+ mes "[Wutao]";
+ mes "Listen carefully!";
+ next;
+ mes "[Wutao]";
+ mes @monk_str0$;
+ next;
+ mes "[Wutao]";
+ mes @monk_str1$;
+ next;
+ mes "[Wutao]";
+ mes @monk_str2$;
+ next;
+ mes "[Wutao]";
+ mes @monk_str3$;
+ next;
+ mes "[Wutao]";
+ mes @monk_str4$;
+ next;
+ mes "[Wutao]";
+ mes @monk_str5$;
+ next;
+ mes "[Wutao]";
+ mes @monk_str6$;
+ next;
+ mes "[Wutao]";
+ mes @monk_str7$;
+ if(@JOB_MONK_C2 < 3) goto L_MES_1;
+ next;
+ mes "[Wutao]";
+ mes @monk_str8$;
+
+L_MES_1:
+ next;
+ mes "[Wutao]";
+ mes "Now " + strcharinfo(0) + ", it's your turn.";
+ next;
+ set @mnk_score, 0;
+ if(@JOB_MONK_C2 == 2) goto L_MONK_Q2_1;
+ if(@JOB_MONK_C2 == 3) goto L_MONK_Q3_1;
+
+L_MONK_Q1_1:
+
+ menu "And the dragon shall soar to the sky;",L_MONK_Q1_2,
+ "But the phoenix shall fall to the earth.",L_MONK_Q1_2,
+ "For such is the eternal law.",L_MONK_Q1_2,
+ "See that ye act when occasion offers,",L_MONK_Q1_2,
+ "There shall be successes and failures,",L_MONK_Q1_2,
+ "Lest ye descend to the Nine Golden Springs.",L_MONK_Q1_2,
+ "Supported by dragon and phoenix,",-,
+ "So flies he westward.",L_MONK_Q1_2;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q1_2:
+
+ menu "But the phoenix shall fall to the earth.",L_MONK_Q1_3,
+ "See that ye act when occasion offers,",L_MONK_Q1_3,
+ "Supported by dragon and phoenix,",L_MONK_Q1_3,
+ "There shall be successes and failures,",L_MONK_Q1_3,
+ "So flies he westward.",-,
+ "And the dragon shall soar to the sky;",L_MONK_Q1_3,
+ "Lest ye descend to the Nine Golden Springs.",L_MONK_Q1_3,
+ "For such is the eternal law.",L_MONK_Q1_3;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q1_3:
+
+ menu "There shall be successes and failures,",L_MONK_Q1_4,
+ "But the phoenix shall fall to the earth.",-,
+ "And the dragon shall soar to the sky;",L_MONK_Q1_4,
+ "So flies he westward.",L_MONK_Q1_4,
+ "For such is the eternal law.",L_MONK_Q1_4,
+ "Lest ye descend to the Nine Golden Springs.",L_MONK_Q1_4,
+ "See that ye act when occasion offers,",L_MONK_Q1_4,
+ "Supported by dragon and phoenix,",L_MONK_Q1_4;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q1_4:
+
+ menu "And the dragon shall soar to the sky;",-,
+ "Supported by dragon and phoenix,",L_MONK_Q1_5,
+ "But the phoenix shall fall to the earth.",L_MONK_Q1_5,
+ "So flies he westward.",L_MONK_Q1_5,
+ "For such is the eternal law.",L_MONK_Q1_5,
+ "There shall be successes and failures,",L_MONK_Q1_5,
+ "Lest ye descend to the Nine Golden Springs.",L_MONK_Q1_5,
+ "See that ye act when occasion offers,",L_MONK_Q1_5;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q1_5:
+
+ menu "For such is the eternal law.",L_MONK_Q1_6,
+ "And the dragon shall soar to the sky;",L_MONK_Q1_6,
+ "So flies he westward.",L_MONK_Q1_6,
+ "Supported by dragon and phoenix,",L_MONK_Q1_6,
+ "But the phoenix shall fall to the earth.",L_MONK_Q1_6,
+ "See that ye act when occasion offers,",L_MONK_Q1_6,
+ "Lest ye descend to the Nine Golden Springs.",L_MONK_Q1_6,
+ "There shall be successes and failures,",-;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q1_6:
+
+ menu "Supported by dragon and phoenix,",L_MONK_Q1_7,
+ "So flies he westward.",L_MONK_Q1_7,
+ "For such is the eternal law.",-,
+ "But the phoenix shall fall to the earth.",L_MONK_Q1_7,
+ "There shall be successes and failures,",L_MONK_Q1_7,
+ "And the dragon shall soar to the sky;",L_MONK_Q1_7,
+ "Lest ye descend to the Nine Golden Springs.",L_MONK_Q1_7,
+ "See that ye act when occasion offers,",L_MONK_Q1_7;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q1_7:
+
+ menu "So flies he westward.",L_MONK_Q1_8,
+ "Supported by dragon and phoenix,",L_MONK_Q1_8,
+ "Lest ye descend to the Nine Golden Springs.",L_MONK_Q1_8,
+ "There shall be successes and failures,",L_MONK_Q1_8,
+ "For such is the eternal law.",L_MONK_Q1_8,
+ "But the phoenix shall fall to the earth.",L_MONK_Q1_8,
+ "And the dragon shall soar to the sky;",L_MONK_Q1_8,
+ "See that ye act when occasion offers,",-;
+
+ set @mnk_score, @mnk_score + 2;
+L_MONK_Q1_8:
+
+ menu "Supported by dragon and phoenix,",L_MONK_QUEST_END,
+ "See that ye act when occasion offers,",L_MONK_QUEST_END,
+ "But the phoenix shall fall to the earth.",L_MONK_QUEST_END,
+ "Lest ye descend to the Nine Golden Springs.",L_MONK_QUEST_1_2,
+ "And the dragon shall soar to the sky;",L_MONK_QUEST_END,
+ "So flies he westward.",L_MONK_QUEST_END,
+ "There shall be successes and failures,",L_MONK_QUEST_END,
+ "For such is the eternal law.",L_MONK_QUEST_END;
+
+L_MONK_Q2_1:
+
+ menu "Nor was his body blessed with grace.",L_MONK_Q2_2,
+ "He read a book and knew it all.",L_MONK_Q2_2,
+ "His words streamed like a waterfall,",L_MONK_Q2_2,
+ "He boasted not a handsome face,",-,
+ "Shu's glories could he well rehearse,",L_MONK_Q2_2,
+ "Once read, his memory held fast.",L_MONK_Q2_2,
+ "His lore embraced the universe.",L_MONK_Q2_2,
+ "Or text or note of scholiast",L_MONK_Q2_2;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q2_2:
+
+ menu "His lore embraced the universe.",L_MONK_Q2_3,
+ "He boasted not a handsome face,",L_MONK_Q2_3,
+ "His words streamed like a waterfall,",L_MONK_Q2_3,
+ "He read a book and knew it all.",L_MONK_Q2_3,
+ "Or text or note of scholiast",L_MONK_Q2_3,
+ "Once read, his memory held fast.",L_MONK_Q2_3,
+ "Shu's glories could he well rehearse,",L_MONK_Q2_3,
+ "Nor was his body blessed with grace.",-;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q2_3:
+
+ menu "His words streamed like a waterfall,",-,
+ "His lore embraced the universe.",L_MONK_Q2_4,
+ "He read a book and knew it all.",L_MONK_Q2_4,
+ "Shu's glories could he well rehearse,",L_MONK_Q2_4,
+ "Nor was his body blessed with grace.",L_MONK_Q2_4,
+ "Or text or note of scholiast",L_MONK_Q2_4,
+ "He boasted not a handsome face,",L_MONK_Q2_4,
+ "Once read, his memory held fast.",L_MONK_Q2_4;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q2_4:
+
+ menu "Nor was his body blessed with grace.",L_MONK_Q2_5,
+ "Once read, his memory held fast.",L_MONK_Q2_5,
+ "Shu's glories could he well rehearse,",L_MONK_Q2_5,
+ "Or text or note of scholiast",L_MONK_Q2_5,
+ "He boasted not a handsome face,",L_MONK_Q2_5,
+ "He read a book and knew it all.",-,
+ "His lore embraced the universe.",L_MONK_Q2_5,
+ "His words streamed like a waterfall,",L_MONK_Q2_5;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q2_5:
+
+ menu "Once read, his memory held fast.",L_MONK_Q2_6,
+ "Or text or note of scholiast",L_MONK_Q2_6,
+ "He read a book and knew it all.",L_MONK_Q2_6,
+ "His words streamed like a waterfall,",L_MONK_Q2_6,
+ "Nor was his body blessed with grace.",L_MONK_Q2_6,
+ "He boasted not a handsome face,",L_MONK_Q2_6,
+ "His lore embraced the universe.",L_MONK_Q2_6,
+ "Shu's glories could he well rehearse,",-;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q2_6:
+
+ menu "Or text or note of scholiast",L_MONK_Q2_7,
+ "He read a book and knew it all.",L_MONK_Q2_7,
+ "Shu's glories could he well rehearse,",L_MONK_Q2_7,
+ "His words streamed like a waterfall,",L_MONK_Q2_7,
+ "His lore embraced the universe.",-,
+ "He boasted not a handsome face,",L_MONK_Q2_7,
+ "Nor was his body blessed with grace.",L_MONK_Q2_7,
+ "Once read, his memory held fast.",L_MONK_Q2_7;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q2_7:
+
+ menu "Nor was his body blessed with grace.",L_MONK_Q2_8,
+ "Or text or note of scholiast",-,
+ "His words streamed like a waterfall,",L_MONK_Q2_8,
+ "Once read, his memory held fast.",L_MONK_Q2_8,
+ "He boasted not a handsome face,",L_MONK_Q2_8,
+ "He read a book and knew it all.",L_MONK_Q2_8,
+ "Shu's glories could he well rehearse,",L_MONK_Q2_8,
+ "His lore embraced the universe.",L_MONK_Q2_8;
+
+ set @mnk_score, @mnk_score + 2;
+L_MONK_Q2_8:
+
+ menu "He boasted not a handsome face,",L_MONK_QUEST_END,
+ "Nor was his body blessed with grace.",L_MONK_QUEST_END,
+ "Shu's glories could he well rehearse,",L_MONK_QUEST_END,
+ "Or text or note of scholiast",L_MONK_QUEST_END,
+ "His lore embraced the universe.",L_MONK_QUEST_END,
+ "He read a book and knew it all.",L_MONK_QUEST_END,
+ "His words streamed like a waterfall,",L_MONK_QUEST_END,
+ "Once read, his memory held fast.",L_MONK_QUEST_1_2;
+
+L_MONK_Q3_1:
+
+ menu "Watch ye how all people revere Guan Yu,",L_MONK_Q3_2,
+ "Seek ye a noble one? Then take ye the way of Jieliang,",-,
+ "Temples to our Lord Guan Yu abound, no village lacks one,",L_MONK_Q3_2,
+ "Each excelling others to honor him,",L_MONK_Q3_2,
+ "Their venerable trees at sundown are the resting places for birds.",L_MONK_Q3_2,
+ "Incomparable their aura spreads through the world;",L_MONK_Q3_2,
+ "They are resplendent as the great lights of the firmament;",L_MONK_Q3_2,
+ "Who have won sacrifices, as emperor and king.",L_MONK_Q3_2,
+ "Him, one of the three brothers of the Peach Garden Oath,",L_MONK_Q3_2;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q3_2:
+
+ menu "Each excelling others to honor him,",L_MONK_Q3_3,
+ "Temples to our Lord Guan Yu abound, no village lacks one,",L_MONK_Q3_3,
+ "Seek ye a noble one? Then take ye the way of Jieliang,",L_MONK_Q3_3,
+ "Incomparable their aura spreads through the world;",L_MONK_Q3_3,
+ "Their venerable trees at sundown are the resting places for birds.",L_MONK_Q3_3,
+ "Who have won sacrifices, as emperor and king.",L_MONK_Q3_3,
+ "Watch ye how all people revere Guan Yu,",-,
+ "Him, one of the three brothers of the Peach Garden Oath,",L_MONK_Q3_3,
+ "They are resplendent as the great lights of the firmament;",L_MONK_Q3_3;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q3_3:
+
+ menu "They are resplendent as the great lights of the firmament;",L_MONK_Q3_4,
+ "Seek ye a noble one? Then take ye the way of Jieliang,",L_MONK_Q3_4,
+ "Each excelling others to honor him,",-,
+ "Watch ye how all people revere Guan Yu,",L_MONK_Q3_4,
+ "Who have won sacrifices, as emperor and king.",L_MONK_Q3_4,
+ "Him, one of the three brothers of the Peach Garden Oath,",L_MONK_Q3_4,
+ "Incomparable their aura spreads through the world;",L_MONK_Q3_4,
+ "Temples to our Lord Guan Yu abound, no village lacks one,",L_MONK_Q3_4,
+ "Their venerable trees at sundown are the resting places for birds.",L_MONK_Q3_4;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q3_4:
+
+ menu "Seek ye a noble one? Then take ye the way of Jieliang,",L_MONK_Q3_5,
+ "Each excelling others to honor him,",L_MONK_Q3_5,
+ "Incomparable their aura spreads through the world;",L_MONK_Q3_5,
+ "Temples to our Lord Guan Yu abound, no village lacks one,",L_MONK_Q3_5,
+ "Him, one of the three brothers of the Peach Garden Oath,",-,
+ "Their venerable trees at sundown are the resting places for birds.",L_MONK_Q3_5,
+ "They are resplendent as the great lights of the firmament;",L_MONK_Q3_5,
+ "Who have won sacrifices, as emperor and king.",L_MONK_Q3_5,
+ "Watch ye how all people revere Guan Yu,",L_MONK_Q3_5;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q3_5:
+
+ menu "They are resplendent as the great lights of the firmament;",L_MONK_Q3_6,
+ "Temples to our Lord Guan Yu abound, no village lacks one,",L_MONK_Q3_6,
+ "Their venerable trees at sundown are the resting places for birds.",L_MONK_Q3_6,
+ "Who have won sacrifices, as emperor and king.",-,
+ "Watch ye how all people revere Guan Yu,",L_MONK_Q3_6,
+ "Seek ye a noble one? Then take ye the way of Jieliang,",L_MONK_Q3_6,
+ "Incomparable their aura spreads through the world;",L_MONK_Q3_6,
+ "Him, one of the three brothers of the Peach Garden Oath,",L_MONK_Q3_6,
+ "Each excelling others to honor him,",L_MONK_Q3_6;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q3_6:
+
+ menu "Him, one of the three brothers of the Peach Garden Oath,",L_MONK_Q3_7,
+ "Their venerable trees at sundown are the resting places for birds.",L_MONK_Q3_7,
+ "Watch ye how all people revere Guan Yu,",L_MONK_Q3_7,
+ "Temples to our Lord Guan Yu abound, no village lacks one,",L_MONK_Q3_7,
+ "Seek ye a noble one? Then take ye the way of Jieliang,",L_MONK_Q3_7,
+ "Incomparable their aura spreads through the world;",-,
+ "Each excelling others to honor him,",L_MONK_Q3_7,
+ "They are resplendent as the great lights of the firmament;",L_MONK_Q3_7,
+ "Who have won sacrifices, as emperor and king.",L_MONK_Q3_7;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q3_7:
+
+ menu "Seek ye a noble one? Then take ye the way of Jieliang,",L_MONK_Q3_8,
+ "Their venerable trees at sundown are the resting places for birds.",L_MONK_Q3_8,
+ "They are resplendent as the great lights of the firmament;",-,
+ "Watch ye how all people revere Guan Yu,",L_MONK_Q3_8,
+ "Each excelling others to honor him,",L_MONK_Q3_8,
+ "Him, one of the three brothers of the Peach Garden Oath,",L_MONK_Q3_8,
+ "Who have won sacrifices, as emperor and king.",L_MONK_Q3_8,
+ "Incomparable their aura spreads through the world;",L_MONK_Q3_8,
+ "Temples to our Lord Guan Yu abound, no village lacks one,",L_MONK_Q3_8;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q3_8:
+
+ menu "Temples to our Lord Guan Yu abound, no village lacks one,",-,
+ "Incomparable their aura spreads through the world;",L_MONK_Q3_9,
+ "Their venerable trees at sundown are the resting places for birds.",L_MONK_Q3_9,
+ "They are resplendent as the great lights of the firmament;",L_MONK_Q3_9,
+ "Who have won sacrifices, as emperor and king.",L_MONK_Q3_9,
+ "Him, one of the three brothers of the Peach Garden Oath,",L_MONK_Q3_9,
+ "Watch ye how all people revere Guan Yu,",L_MONK_Q3_9,
+ "Each excelling others to honor him,",L_MONK_Q3_9,
+ "Seek ye a noble one? Then take ye the way of Jieliang,",L_MONK_Q3_9;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q3_9:
+
+ menu "Him, one of the three brothers of the Peach Garden Oath,",L_MONK_QUEST_END,
+ "Each excelling others to honor him,",L_MONK_QUEST_END,
+ "Watch ye how all people revere Guan Yu,",L_MONK_QUEST_END,
+ "Who have won sacrifices, as emperor and king.",L_MONK_QUEST_END,
+ "Incomparable their aura spreads through the world;",L_MONK_QUEST_END,
+ "Seek ye a noble one? Then take ye the way of Jieliang,",L_MONK_QUEST_END,
+ "They are resplendent as the great lights of the firmament;",L_MONK_QUEST_END,
+ "Temples to our Lord Guan Yu abound, no village lacks one,",L_MONK_QUEST_END,
+ "Their venerable trees at sundown are the resting places for birds.",-;
+
+L_MONK_QUEST_1_2:
+ set @mnk_score, @mnk_score + 1;
+L_MONK_QUEST_END:
+
+ if(@mnk_score < 9) goto L_C2_FAIL;
+
+L_C2_DONE:
+ set @mnk_score, 0;
+ next;
+ mes "[Wutao]";
+ mes "Hmmm...";
+ next;
+ mes "[Wutao]";
+ mes "...Well Done!! It's perfect!";
+ next;
+ mes "[Wutao]";
+ mes "However, don't be happy just yet. There is still much to do before you can become a Monk.";
+ next;
+ mes "[Wutao]";
+ mes "DaAhaaaa...";
+ next;
+ mes "[Wutao]";
+ mes "ShuKeeee.....";
+ next;
+ mes "[Wutao]";
+ mes "SouKouuuuu....";
+ next;
+ mes "[Wutao]";
+ mes "PaYennnn....";
+ next;
+ mes "[Wutao]";
+ mes "As I promised, your mental state is now that of a Monk.";
+ next;
+ mes "[Wutao]";
+ mes "Now go! Seek ^000080Fuhai^000000 for further guidance.";
+ set MONK_Q, 6;
+ close;
+
+L_C2_FAIL:
+ mes "[" + strcharinfo(0) + "]";
+ mes "Well...";
+ next;
+ mes "[Wutao]";
+ mes "Hmmm... ";
+ next;
+ mes "[Wutao]";
+ mes "Hummm...";
+ next;
+ mes "[Wutao]";
+ mes "That not correct! You didn't memorize it all!";
+ next;
+ mes "[Wutao]";
+ mes "Do you doubt yourself? Do you really have the ability to be a Monk?";
+ mes "...That was really....";
+ next;
+ mes "[Wutao]";
+ mes "Well...That's fine, do you want to try it again?";
+ next;
+ mes "[Wutao]";
+ mes "Of course you do! Since you did not pass this test, you can't take the next test.";
+ set MONK_Q, 5;
+ close;
+
+Part1:
+ mes "[Wutao]";
+ mes "Very well. Let's try it again.";
+ next;
+ goto L_Again;
+
+Part2:
+ mes "[Wutao]";
+ mes "What? You forget whom you should seek for?";
+ next;
+ mes "[Wutao]";
+ mes "......You are so.......";
+ next;
+ mes "[Wutao]";
+ mes "...Are you testing my patient?";
+ next;
+ mes "[Wutao]";
+ mes "...Okay, I'll tell you again...";
+ mes "Go and seek ^000080Fuhai^000000 for further guidance.";
+ close;
+Part3:
+ mes "[Wutao]";
+ mes "May God be with you.";
+ close;
+}
+
+prt_monk.gat,57,179,4 script Fuhai 110,{
+
+ if(@Choice_mission == 1 ) goto Part1;
+ if(@Choice_mission == 2 ) goto Part2;
+ if(MONK_Q == 6) goto L_START;
+ if(MONK_Q == 7) goto L_MENU_1_1_2;
+
+ mes "[Fuhai]";
+ mes "HaAhhhhh....!!!";
+ next;
+ mes "- Seems like he is thinking something -";
+ close;
+
+L_START:
+ mes "[Fuhai]";
+ mes "...";
+ next;
+ mes "[Fuhai]";
+ mes "......";
+ next;
+ mes "[Fuhai]";
+ mes ".........";
+ next;
+ mes "[Fuhai]";
+ mes "............";
+ next;
+ menu "Hello there?",-;
+
+ mes "[Fuhai]";
+ mes "...what...WHAT?";
+ mes "How dare you interupt my training!";
+ mes "If it is not very important...";
+ next;
+ mes "[Fuhai]";
+ mes "......";
+ mes "I can't promise you will see the sun tomorrow...";
+ next;
+ mes "[Fuhai]";
+ mes "Why are you here?";
+ mes "Explain!";
+ next;
+ menu "Some one named [Wutao] sent me here.",L_MENU_1,"Well...Nothing...",-;
+
+ mes "[Fuhai]";
+ mes "......";
+ mes "...How about digging a grave for yourself?";
+ close;
+ L_MENU_1:
+ mes "[Fuhai]";
+ mes "Hmmm...Is that so?";
+ mes "That's...";
+ next;
+ mes "[Fuhai]";
+ mes "Oh...Your mental state...";
+ mes "Ha! Very well...";
+ next;
+ mes "[Fuhai]";
+ mes "However, what did you learn from [Wutao]?";
+ next;
+ menu "Hmmm...Well...It's...",-,
+ "I repeated what he said, and he sent me here.",L_MENU_1_1,
+ "He tested my mental status and sent me here.",-;
+
+ mes "[Fuhai]";
+ mes "Foolish!";
+ mes "Don't bother me! Go away!";
+ close;
+ L_MENU_1_1:
+ mes "[Fuhai]";
+ mes "Well...Then?";
+ mes "Did he do anything for you?";
+ next;
+ menu "Ah...It's...I can't tell...",-,
+ "Checked my body",L_MENU_1_1_1,
+ "Told me some rules to obey",L_MENU_1_1_1,
+ "Strengthened my mental state",L_MENU_1_1_2;
+
+ mes "[Fuhai]";
+ mes "Foolish!";
+ mes "Don't bother me! Go away!";
+ close;
+ L_MENU_1_1_1:
+ mes "[Fuhai]";
+ mes "That's quite true, but not the point.";
+ mes "Think! Use your brain!";
+ close;
+
+ L_MENU_1_1_2:
+ set MONK_Q, 7;
+ mes "[Fuhai]";
+ mes "Very well. At least you know what has been changed in your body.";
+ mes "Now, let us begin the next test.";
+ next;
+ mes "[Fuhai]";
+ mes "I'll give you a chance to choose what kind of test you want to take.";
+ mes "Now, make your own choice.";
+ next;
+ menu "Mushroom Collecting",-,"A Marathon",L_ROOT_2;
+
+ mes "[Fuhai]";
+ mes "Mushroom Collecting? Good choice!";
+ mes "That would make you appreciate the value of patience and realize the meaning of the great willpower that following the path of God will give you.";
+ mes "Now go prepare yourself! Come back when you are ready.";
+ set @Choice_mission, 1;
+ close;
+ L_ROOT_2:
+ mes "[Fuhai]";
+ mes "A Marathon? Good choice!";
+ mes "That would make you appreciate the value of willpower and realize the meaning of the great patient that following the path of God will give you.";
+ mes "Now go prepare yourself! Come back when you are ready.";
+ set @Choice_mission, 2;
+ close;
+Part1:
+ mes "[Fuhai]";
+ mes "Are you ready?";
+ mes "Actually, you don't need to prepare anything if you believe in yourself.";
+ next;
+ mes "[Fuhai]";
+ mes "Mushroom Collecting is your choice.";
+ mes "It is a test of your patience.";
+ next;
+ mes "[Fuhai]";
+ mes "Now, go into the building located in the center of this training area.";
+ next;
+ mes "[Fuhai]";
+ mes "You will pass the test when you collect enough mushrooms.";
+ mes "Now, what are waiting for? Go!";
+ close;
+Part2:
+ mes "[Fuhai]";
+ mes "Are you ready?";
+ mes "Actually, you don't need to prepare anything if you believe in yourself.";
+ next;
+ mes "[Fuhai]";
+ mes "A Marathon is your choice.";
+ mes "It's a test of your willpower.";
+ next;
+ mes "[Fuhai]";
+ mes "Now, go into the building located in the center of this training area.";
+ next;
+ mes "[Fuhai]";
+ mes "You will pass the test when you can run enough laps.";
+ mes "Now, what are waiting for? Go!";
+ close;
+
+}
+
+prt_monk.gat,199,169,4 script Guard 746,{
+ if(MONK_Q == 7) goto L_START;
+ if(MONK_Q > 6) goto Part1;
+
+ mes "[Guard ChaoLi]";
+ mes "This is...";
+ mes "Monk Training Area";
+ next;
+ mes "[Guard ChaoLi]";
+ mes "Please be quiet in this area.";
+ close;
+
+L_START:
+ mes "[Guard ChaoLi]";
+ mes "This is...";
+ mes "Monk Training Area";
+ next;
+ mes "[Guard ChaoLi]";
+ mes strcharinfo(0) + "... Right?!";
+ next;
+ mes "[Guard ChaoLi]";
+ mes "Go ahead! Quickly!";
+ mes "There is another test waiting for you!";
+ close;
+
+Part1:
+ mes "[Guard ChaoLi]";
+ mes "Please be quiet in this area.";
+ close;
+}
+
+monk_test.gat,329,61,4 script Bashu 753,{
+ if(MONK_Q == 7) goto L_START;
+
+ mes "[Bashu]";
+ mes "Welcome to ^00FF00St. Capitolina Abbey^000000, the Monk Training Area.";
+ mes "May the light shine on your path.";
+ mes "You can find Monk Daowen, the judge of a Monk's training progress, when you go inside";
+ next;
+ mes "[Bashu]";
+ mes "Never the less, don't touch anything inside and be quiet in front of Monk Daowen.";
+ close;
+L_START:
+ if(@Choice_mission == 0) goto L_MISSB;
+ if(@Choice_mission == 2) goto L_MISS2;
+ mes "[Bashu]";
+ mes "As I know, you choose to collect mushrooms as your test.";
+ goto L_MISSC;
+L_MISSB:
+ mes "[Bashu]";
+ mes "Please select a test.";
+ goto L_MISSC;
+L_MISS2:
+ mes "[Bashu]";
+ mes "As I know, you choose the Marathon as your test.";
+L_MISSC:
+ mes "However, if you cannot complete it, you may switch to the other whenever you feel like it.";
+ next;
+ menu "A Monk's patience - Mushroom Collecting",-,
+ "A Monk's willpower - The Marathon",L_MENU_1;
+
+ mes "[Bashu]";
+ mes "The test you choose is Monk's patience - Mushroom Collecting";
+ next;
+ warp "job_monk.gat",225,179;
+ end;
+
+L_MENU_1:
+ mes "[Bashu]";
+ mes "The test you choose is Monk's willpower - Marathon";
+ next;
+ warp "monk_test.gat",387,345;
+ end;
+}
+
+monk_test.gat,387,347,4 script Musha 110,{
+ mes "[Musha]";
+ mes "Wel...Welcome...!";
+ mes "This...This is the area for testing the wi...willpower of those who want to be a Monk.";
+ next;
+ mes "[Musha]";
+ mes "You should just...just run!";
+ mes "Until we tell you to stop.";
+ mes "Run...Run! " + strcharinfo(0) + "! Run!";
+ next;
+ mes "[Musha]";
+ mes "Just Run!! Run Quickly!!";
+ next;
+ mes "[Musha]";
+ mes "One Day, I'll become a Monk!";
+ mes "I.....will......Become...a......MONK!!!";
+ next;
+ mes "[Musha]";
+ mes "Do...Do you...want to give......give up? or...con...continue?";
+ mes "Give up?";
+ next;
+ menu "I want to giveup!",-,"I want to run!!",L_MENU_1;
+
+ mapannounce "monk_test.gat","Musha: " + strcharinfo(0) + " has give...given up on the test...! Gave up on the Marathon test... No...No willpower.....HaHaHaHa!!!...",8;
+ mes "[Musha]";
+ mes strcharinfo(0) + "...give...give up the test...";
+ mes "Give up the Marathon test...";
+ mes "No...No willpower.....HaHaHaHa!!!...";
+ next;
+ warp "prt_monk.gat",196,168;
+ end;
+L_MENU_1:
+ next;
+ mes "[Musha]";
+ mes "Until we give you an order to stop....";
+ mes "Run...Run! " + strcharinfo(0) + "! Run!";
+ //if(@runtimes == 0)
+ set @runtimes, rand(8,10);
+ set @run, 0;
+ close;
+}
+
+monk_test.gat,390,387,0 script monk_warp 45,1,1,{
+ set @run, @run + 1;
+ if(@run == (@runtimes-1)) mapannounce "monk_test.gat","Musha: Cheer up! The next lap is the last!",8;
+ if(@run == @runtimes) goto L_DONE;
+ warp "monk_test.gat",388,348;
+ end;
+L_DONE:
+ mapannounce "monk_test.gat","Musha: Con....Congratulations!!" + strcharinfo(0)+ " Passes!! Please go to [Daowen], he is deep inside the building.",8;
+ set MONK_Q, 8;
+ warp "prt_monk.gat",196,168;
+ end;
+}
+
+function script MnkTraps {
+ mapannounce "monk_test.gat","trap: " + strcharinfo(0)+ " , you fell into a trap! We will warp you to the starting line.",8;
+ warp "monk_test.gat",388,348;
+}
+//---------------------
+monk_test.gat,386,164,0 script monk1-1 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,386,165,0 script monk1-2 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,387,164,0 script monk1-3 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,387,165,0 script monk1-4 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,388,164,0 script monk1-5 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,388,165,0 script monk1-6 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,389,164,0 script monk1-7 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,389,165,0 script monk1-8 139,0,0,{callfunc "MnkTraps";}
+//---------------------
+monk_test.gat,386,42,0 script monk2-1 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,386,43,0 script monk2-2 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,387,42,0 script monk2-3 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,387,43,0 script monk2-4 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,388,42,0 script monk2-3 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,388,43,0 script monk2-4 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,389,42,0 script monk2-3 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,389,43,0 script monk2-4 139,0,0,{callfunc "MnkTraps";}
+//---------------------
+monk_test.gat,184,11,0 script monk3-1 139,0,3,{callfunc "MnkTraps";}
+monk_test.gat,185,11,0 script monk3-2 139,0,3,{callfunc "MnkTraps";}
+monk_test.gat,186,11,0 script monk3-3 139,0,3,{callfunc "MnkTraps";}
+monk_test.gat,187,11,0 script monk3-4 139,0,3,{callfunc "MnkTraps";}
+//---------------------
+monk_test.gat,70,10,0 script monk4-1 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,70,11,0 script monk4-2 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,70,12,0 script monk4-3 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,70,13,0 script monk4-4 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,71,10,0 script monk4-5 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,71,11,0 script monk4-6 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,71,12,0 script monk4-7 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,71,13,0 script monk4-8 139,0,0,{callfunc "MnkTraps";}
+//---------------------
+monk_test.gat,8,30,0 script monk5-1 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,8,31,0 script monk5-2 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,9,30,0 script monk5-3 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,9,31,0 script monk5-4 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,10,30,0 script monk5-5 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,10,31,0 script monk5-6 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,11,30,0 script monk5-7 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,11,31,0 script monk5-8 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,12,30,0 script monk5-9 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,12,31,0 script monk5-10 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,13,30,0 script monk5-11 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,13,31,0 script monk5-12 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,14,30,0 script monk5-13 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,14,31,0 script monk5-14 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,15,30,0 script monk5-15 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,15,31,0 script monk5-16 139,0,0,{callfunc "MnkTraps";}
+//---------------------
+monk_test.gat,10,158,0 script monk6-1 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,10,159,0 script monk6-2 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,11,158,0 script monk6-3 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,11,159,0 script monk6-4 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,12,158,0 script monk6-5 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,12,159,0 script monk6-6 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,13,158,0 script monk6-7 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,13,159,0 script monk6-8 139,0,0,{callfunc "MnkTraps";}
+//---------------------
+monk_test.gat,38,386,0 script monk7-1 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,38,387,0 script monk7-2 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,38,388,0 script monk7-3 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,38,389,0 script monk7-4 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,39,386,0 script monk7-5 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,39,387,0 script monk7-6 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,39,388,0 script monk7-7 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,39,389,0 script monk7-8 139,0,0,{callfunc "MnkTraps";}
+//---------------------
+monk_test.gat,82,390,0 script monk8-1 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,82,391,0 script monk8-2 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,83,390,0 script monk8-3 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,83,391,0 script monk8-4 139,0,0,{callfunc "MnkTraps";}
+//---------------------
+monk_test.gat,82,384,0 script monk8-1 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,82,385,0 script monk8-2 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,83,384,0 script monk8-3 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,83,385,0 script monk8-4 139,0,0,{callfunc "MnkTraps";}
+//---------------------
+
+prt_monk.gat,225,179,4 script XuanWu 89,{
+ mes "[XuanWu]";
+ mes "To see the growing of crops, I deeply appreciate the grace of God.";
+ next;
+ mes "[XuanWu]";
+ mes "Never the less, to see those crops grown by the strong Monks.";
+ mes "I think it's the most beautiful picture!";
+ next;
+ mes "[XuanWu]";
+ mes "Frankly speeking, farmers are the greatest people in the world.";
+ mes "The Blue Potion you drink must be made of God's will and by the farmer.";
+ next;
+ mes "[XuanWu]";
+ mes "We should always be grateful.";
+ next;
+ mes "[XuanWu]";
+ mes "God gives you everything, even the farmer.";
+ next;
+ mes "[XuanWu]";
+ mes "The farmer is the root of world. That is quite true.";
+ close;
+}
+job_monk.gat,225,179,4 script XuanWu 89,{
+
+ if(MONK_Q == 8 ) goto Part2;
+ if(@mission_start == 1 ) goto Part1;
+
+ mes "[XuanWu]";
+ mes "Welcome! I'm in charge here with the Mushroom Collecting.";
+ mes "My Name is XuanWu";
+ next;
+ mes "[XuanWu]";
+ mes "From now, you should take it for granted that all the suffering is training.";
+ mes "Understand?";
+ next;
+ mes "[XuanWu]";
+ mes "For Monk's lives, we should always offer our efforts as a tribute.";
+ mes "Growing crops is also a kind of training.";
+ next;
+ mes "[XuanWu]";
+ mes "We think it is the best way to realize the will of God.";
+ mes "Therefore, we have started growing some kind of mushrooms that smell foul";
+ next;
+ mes "[XuanWu]";
+ mes "All you have to do is destroy those mushrooms and bring something to prove that you did.";
+ mes "What is that something? The ^ff0000Orange Gooey Mushrooms and Orange Net Mushrooms^000000";
+ next;
+ mes "[XuanWu]";
+ mes "If you want to increase your strength and become a Monk, go and destroy them.";
+ mes "Bring as many as you can, I won't tell you the amount I need.";
+ mes "Now go!";
+ next;
+ mes "[XuanWu]";
+ mes "Or...Do you want to give up?";
+ next;
+ menu "Start Mushroom Collecting",L_MENU_1,"I'll give up",L_MENU_2;
+
+L_MENU_2:
+ mapannounce "monk_test.gat","XuanWu: ......Another one without patience...",8;
+ mes "[XuanWu]";
+ mes "Another one without patience...";
+ set @mission_start, 0;
+ getitem 1069, 1;//Items: Orange_Net_Mushroom,
+ delitem 1069, countitem(1069);//Items: Orange_Net_Mushroom,
+ getitem 1070, 1;//Items: Orange_Gooey_Mushroom,
+ delitem 1070, countitem(1070);//Items: Orange_Gooey_Mushroom_,
+ next;
+ warp "prt_monk.gat",196,168;
+ end;
+L_MENU_1:
+ mes "[XuanWu]";
+ mes "Then what are you waiting for? Go Go Go!!";
+ set @mission_start, 1;
+ close;
+
+Part1:
+ if(countitem(1069) >= 30 && countitem(1070) >0 ) goto L_DONE;//Items: Orange_Net_Mushroom, Orange_Gooey_Mushroom_,
+ if(countitem(1070) >= 30 && countitem(1069) >0 ) goto L_DONE;//Items: Orange_Gooey_Mushroom_, Orange_Net_Mushroom,
+ mes "[XuanWu]";
+ mes "Hmmm... Is that all you can do? I don't think it's enough.";
+ next;
+ mes "[XuanWu]";
+ mes "Or...Do you want to give up?";
+ next;
+ menu "Continue Mushroom Collecting",-,"I'll give up",L_MENU_2;
+ close;
+L_DONE:
+ set MONK_Q, 8;
+ mes "[XuanWu]";
+ mes "Well... I think you can do better...";
+ mes "However, I would say you pass the test.";
+ set @mission_start, 0;
+ delitem 1069, countitem(1069);//Items: Orange_Net_Mushroom,
+ delitem 1070, countitem(1070);//Items: Orange_Gooey_Mushroom_,
+ next;
+ mes "[XuanWu]";
+ mes "Now go to [Daowen], he is deep inside the building.";
+ close;
+Part2:
+ mes "[XuanWu]";
+ mes "Are you testing my patience??";
+ mes "Go to [Daowen], he is in deep inside the building.";
+ close;
+}
+job_monk.gat,191,172,4 script job_monk_warp 45,1,1,{
+ warp "monk_test.gat",329,57;
+ end;
+}
+
+job_monk.gat,199,169,4 script Guard ChaoLi 746,{
+ mes "[Guard ChaoLi]";
+ mes "Silence in test area!";
+ close;
+}
+
+monk_test.gat,319,139,4 script Daowen 52,{
+ if(MONK_Q == 8) goto L_START;
+ if(MONK_Q == 9) goto Part1;
+ if(MONK_Q == 10) goto Part2;
+
+ mes "[Daowen]";
+ mes "Go through it quietly...";
+ mes "HuWuWuuuu......";
+ next;
+ mes "[Daowen]";
+ mes "This is St. Capitolina Abbey. If anything goes wrong, all we have done might become nothing.";
+ next;
+ mes "[Daowen]";
+ mes "Leave! If you don't want to die, don't bother me.";
+ close;
+L_START:
+ mes "[Daowen]";
+ mes "Oh! Finally!";
+ mes "This is the last test, and I am in charge here";
+ mes "My name is 'Daowen'";
+ next;
+ mes "[Daowen]";
+ mes "Well... What should I say?";
+ mes "Those who block your way? Fight them!";
+ next;
+ mes "[Daowen]";
+ mes "Fight! Slash! When you're lost and an enemy blocks your way!";
+ mes "Tell them the will of God!";
+ next;
+ mes "[Daowen]";
+ mes "Don't compare yourself with the weak priest!";
+ mes "We are always strong Monks.";
+ next;
+ mes "[Daowen]";
+ mes "We are different from the weak priests that always run away!";
+ next;
+ mes "[Daowen]";
+ mes "Now! Clench your fist! Go and fight!";
+ next;
+ mes "[Daowen]";
+ mes "Do your best!";
+ mes "HaHaHaHaHa.....!!";
+ next;
+ warp "monk_test",88,73;
+ end;
+
+Part1:
+ mes "[Daowen]";
+ mes "Well done!! HaHaHaHa....!!";
+ mes "I knew you could do it!";
+ mes "I'll give you a special potion that will increase your power.";
+ next;
+ set MONK_Q, 10;
+ if(countitem(506) == 0){//Items: Green_Potion,
+ getitem 506, 1;//Items: Green_Potion,
+ mes "[Daowen]";
+ mes "Drink it, and your internal organs will become strong enough to be a Monk.";
+ next;
+ }else{
+ emotion e_what;
+ mes "[Daowen]";
+ mes "What....!! You already have this special green potion!";
+ mes "Drink all of them, and your internal organs will become strong enough to be a Monk.";
+ next;
+ }
+Part2:
+ mes "[Daowen]";
+ mes "Go to Wuhai - the first one you met here.";
+ close;
+}
+
+monk_test.gat,88,91,4 script Test Assistant 52,{
+ mes "[Test Assistant]";
+ mes "Are you ready for training in the dispersement of evil?";
+ next;
+ mes "[Test Assistant]";
+ mes "The test area is a maze with invisible walls.";
+ mes "The exit point is on the opposite side of the starting point.";
+ next;
+ mes "[Test Assistant]";
+ mes "Of course, there will be some monsters spawned in the maze. You'll have to fight with them.";
+ mes "Good luck! May God be with you.";
+ next;
+ if(getareausers("monk_test.gat",126,161,165,199) > 0) goto L_WAIT;
+ killmonster "monk_test.gat","monk_mob1";
+ enablenpc "monk_mob1_1";
+ enablenpc "monk_mob1_2";
+ enablenpc "monk_mob1_3";
+ enablenpc "monk_mob1_3";
+ warp "monk_test.gat",127,179;
+ end;
+L_WAIT:
+ mes "[Test Assistant]";
+ mes "Oh... There is someone else taking the test. Please wait a minute then try again.";
+ close;
+}
+monk_test.gat,129,180,4 script monk_mob1_1 139,0,19,{
+ monster "monk_test.gat",130,183,"--ja--",1015,1,"monk_mob1";
+ monster "monk_test.gat",130,177,"--ja--",1015,1,"monk_mob1";
+//~ disablenpc "monk_mob1_1";
+ end;
+}
+monk_test.gat,133,180,4 script monk_mob1_2 139,0,19,{
+ monster "monk_test.gat",134,183,"--ja--",1015,1,"monk_mob1";
+ monster "monk_test.gat",134,177,"--ja--",1015,1,"monk_mob1";
+//~ disablenpc "monk_mob1_2";
+ end;
+}
+monk_test.gat,145,180,4 script monk_mob1_3 139,0,19,{
+ monster "monk_test.gat",145,180,"--ja--",1041,1,"monk_mob1";
+//~ disablenpc "monk_mob1_3";
+ end;
+}
+monk_test.gat,155,180,4 script monk_mob1_4 139,0,19,{
+ monster "monk_test.gat",157,183,"--ja--",1015,1,"monk_mob1";
+ monster "monk_test.gat",157,177,"--ja--",1015,1,"monk_mob1";
+//~ disablenpc "monk_mob1_4";
+ end;
+}
+monk_test.gat,165,179,4 script monk_mob3_warp 45,1,1,{
+ set MONK_Q, 9;
+ mapannounce "monk_test.gat","Congratulations!!" + strcharinfo(0)+ " Passes!! Please go to [Daowen], he is deep inside the building.",8;
+ killmonster "monk_test.gat","monk_mob1";
+ warp "monk_test.gat",317,142;
+ end;
+}
+
+monk_test.gat,1,1,1 script monk_mob1 -1,{
+ end;
+}
+
+monk_test.gat,95,85,4 script Test Assistant 79,{
+ mes "[Test Assistant]";
+ mes "Are you ready for training in the dispersement of evil?";
+ next;
+ mes "[Test Assistant]";
+ mes "The test area is a maze with invisible walls.";
+ mes "The exit point is on the opposite side of the starting point.";
+ next;
+ mes "[Test Assistant]";
+ mes "Of course, there will be some monsters spawned in the maze. You'll have to fight with them.";
+ mes "Good luck! May God be with you.";
+ next;
+ if(getareausers("monk_test.gat",126,262,165,300) > 0) goto L_WAIT;
+ killmonster "monk_test.gat","monk_mob2";
+ enablenpc "monk_mob2_1";
+ enablenpc "monk_mob2_2";
+ enablenpc "monk_mob2_3";
+ enablenpc "monk_mob2_4";
+ warp "monk_test.gat",127,278;
+ end;
+
+L_WAIT:
+ mes "[Test Assistant]";
+ mes "Oh... There is someone else taking the test. Please wait a minute then try again.";
+ close;
+
+}
+monk_test.gat,129,281,4 script monk_mob2_1 139,0,19,{
+ monster "monk_test.gat",130,278,"--ja--",1015,1,"monk_mob2";
+ monster "monk_test.gat",130,284,"--ja--",1015,1,"monk_mob2";
+//~ disablenpc "monk_mob2_1";
+ end;
+}
+monk_test.gat,136,281,4 script monk_mob2_2 139,0,19,{
+ monster "monk_test.gat",139,278,"--ja--",1015,1,"monk_mob2";
+ monster "monk_test.gat",139,284,"--ja--",1015,1,"monk_mob2";
+//~ disablenpc "monk_mob2_2";
+ end;
+}
+monk_test.gat,144,281,4 script monk_mob2_3 139,0,19,{
+ monster "monk_test.gat",145,281,"--ja--",1041,1,"monk_mob2";
+//~ disablenpc "monk_mob2_3";
+ end;
+}
+monk_test.gat,153,281,4 script monk_mob2_4 139,0,19,{
+ monster "monk_test.gat",155,278,"--ja--",1015,1,"monk_mob2";
+ monster "monk_test.gat",155,284,"--ja--",1015,1,"monk_mob2";
+//~ disablenpc "monk_mob2_4";
+ end;
+}
+monk_test.gat,165,278,4 script monk_mob2_warp 45,1,1,{
+ set MONK_Q, 9;
+ mapannounce "monk_test.gat","Congratulations!!" + strcharinfo(0)+ " Passes!! Please go to [Daowen], he is deep inside the building.",8;
+ killmonster "monk_test.gat","monk_mob2";
+ warp "monk_test.gat",317,142;
+ end;
+}
+
+monk_test.gat,1,1,1 script monk_mob2 -1,{
+ end;
+}
+
+monk_test.gat,82,85,4 script Test Assistant 95,{
+ mes "[Test Assistant]";
+ mes "Are you ready for training in the dispersement of evil?";
+ next;
+ mes "[Test Assistant]";
+ mes "The test area is a maze with invisible walls.";
+ mes "The exit point is on the opposite side of the starting point.";
+ next;
+ mes "[Test Assistant]";
+ mes "Of course, there will be some monsters spawned in the maze. You'll have to fight with them.";
+ mes "Good luck! May God be with you.";
+ next;
+ if(getareausers("monk_test.gat",233,262,269,300) > 0) goto L_WAIT;
+ killmonster "monk_test.gat","monk_mob3";
+ enablenpc "monk_mob3_1";
+ enablenpc "monk_mob3_2";
+ enablenpc "monk_mob3_3";
+ enablenpc "monk_mob3_4";
+ warp "monk_test.gat",231,279;
+ end;
+
+L_WAIT:
+ mes "[Test Assistant]";
+ mes "Oh... There is someone else taking the test. Please wait a minute then try again.";
+ close;
+}
+
+monk_test.gat,234,281,4 script monk_mob3_1 139,0,19,{
+ monster "monk_test.gat",235,277,"--ja--",1015,1,"monk_mob3";
+ monster "monk_test.gat",235,284,"--ja--",1015,1,"monk_mob3";
+//~ disablenpc "monk_mob3_1";
+ end;
+}
+monk_test.gat,239,281,4 script monk_mob3_2 139,0,19,{
+ monster "monk_test.gat",240,277,"--ja--",1015,1,"monk_mob3";
+ monster "monk_test.gat",240,284,"--ja--",1015,1,"monk_mob3";
+//~ disablenpc "monk_mob3_2";
+ end;
+}
+monk_test.gat,248,281,4 script monk_mob3_3 139,0,19,{
+ monster "monk_test.gat",249,281,"--ja--",1041,1,"monk_mob3";
+//~ disablenpc "monk_mob3_3";
+ end;
+}
+monk_test.gat,260,281,4 script monk_mob3_4 139,0,19,{
+ monster "monk_test.gat",261,277,"--ja--",1015,1,"monk_mob3";
+ monster "monk_test.gat",261,284,"--ja--",1015,1,"monk_mob3";
+//~ disablenpc "monk_mob3_4";
+ end;
+}
+monk_test.gat,269,279,4 script monk_mob3_warp 45,1,1,{
+ set MONK_Q, 9;
+ mapannounce "monk_test.gat","Congratulations!!" + strcharinfo(0)+ " Passes!! Please go to [Daowen], he is deep inside the building.",8;
+ killmonster "monk_test.gat","monk_mob3";
+ warp "monk_test.gat",317,142;
+ end;
+}
+
+
+//==============================================================================
+// Monsters of Mushroom Collecting
+//==============================================================================
+job_monk.gat,0,0,0,0 monster Thief Mushroom 1182,170,0,0,0
+job_monk.gat,0,0,0,0 monster Thief Bug Larva 1051,120,0,0,0
+
+//==============================================================================
+// warps
+//==============================================================================
+prt_monk.gat,192,172,0 warp monk15 1,1,monk_test.gat,329,50
+monk_test.gat,329,47,0 warp monk16 1,1,prt_monk.gat,193,166
+monk_test.gat,329,76,0 warp monk17 1,1,monk_test.gat,259,118
+monk_test.gat,259,115,0 warp monk18 1,1,monk_test.gat,329,71
+monk_test.gat,271,126,0 warp monk19 1,1,monk_test.gat,301,127
+monk_test.gat,298,127,0 warp monk20 1,1,monk_test.gat,268,126
+
+//==============================================================================
+// mapflag
+//==============================================================================
+monk_test.gat mapflag nomemo
+monk_test.gat mapflag noteleport
+monk_test.gat mapflag nosave SavePoint
+monk_test.gat mapflag nopenalty
+monk_test.gat mapflag nobranch
+monk_test.gat mapflag noexp
+monk_test.gat mapflag noloot
diff --git a/npc/jobs/2-2/rogue.txt b/npc/jobs/2-2/rogue.txt new file mode 100644 index 000000000..2825d4071 --- /dev/null +++ b/npc/jobs/2-2/rogue.txt @@ -0,0 +1,758 @@ +//===== eAthena Script =======================================
+//= Rogue Job Quest
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.6
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Rogue job quest based off of official iRO Rogue quest.
+//= There are some differences from official quest due to scripting issues.
+//= Missing some message text.
+//===== Additional Comments: =================================
+//= 1.1 fixed 3 wrong questions, added missing lines [Lupus]
+//= 1.3 Baby Class Support + 40/50 JobLevel Item fix [Lupus]
+//= 1.5 Fixed possible EXP abuse [Lupus]
+//= 1.6 Added a func which prevent advanced classes passing
+//= 2nd Job Quests again. It also guides adv classes where
+//= to go. [Lupus]
+//============================================================
+
+
+//=======================================================================================================//
+// Markie: Test 1 and Jobchange //
+//***********************************************************************************************************************************************************//
+in_rogue.gat,363,123,3 script Markie 747,{
+ callfunc "F_BlockHigh",30,"Thief High",41,"Stalker","Markie";
+
+ mes "[Markie]";
+ if(BaseJob == Job_Thief) goto L_Thief;
+ if(BaseJob == Job_Rogue) goto L_Rogue;
+
+L_JobOther:
+ mes "I don't know how you found this place, but I think you better leave..........";
+ close;
+
+L_Rogue:
+ mes "Nice to see you again sweetie. You must be having so much fun as Rogue huh? Teh he he....";
+ close;
+
+L_Thief:
+ if(JobLevel >= 40) goto L_Start;
+ mes "Oh hi there. If you want to become a Rogue I'm afraid you'll have to come back after you've trained a little more.";
+ mes "Only Thieves with a ^5533FFJob level of at least 40^000000 can become Rogues.";
+ close;
+
+L_Start:
+ if(ROGUE_Q == 1) goto L_ReTest;
+ if(ROGUE_Q == 2) goto L_Test2;
+ if(ROGUE_Q == 3) goto L_Test3;
+ if(ROGUE_Q == 4) goto L_Test4;
+ if(ROGUE_Q == 5) goto L_Change;
+ mes "Hmm? What brings you down here? Oh I see now... You want to become a rogue don't you sweetie?";
+ next;
+ mes "[Markie]";
+ mes "Well it's nice to meet you. My name is Markie, what's yours?";
+ next;
+ mes "[Markie]";
+ mes strcharinfo(0) + "..... Te he, you've got a nice name there honey. By the way, how come you decided to become a Rogue?";
+ next;
+ mes "[Markie]";
+ mes "Well since you were honest with me and gave me your real name I guess it doesn't really matter.";
+ mes "But for future reference, a Rogue never reveals his/her true identity to anybody.";
+ next;
+ mes "[Markie]";
+ mes "It's a Rogue's number 1 rule shuga, so from now on you'd better be careful about that.";
+ mes "By the way, here's an application form..... please fill out all the necessary information.....";
+ next;
+ mes "(you fill out the form and hand it back)";
+ set JBLVL, 40; // used to determine what item to get at the end
+ if(JobLevel == 50) set JBLVL, 50; // used to determine what item to get at the end
+ next;
+ mes "[Markie]";
+ mes "Okay honey.... looks good, I'll accept your application.";
+ mes "Now that that's been taken care of, how about I conduct a short interview with you?";
+ next;
+ mes "[Markie]";
+ mes "Oh, you don't have to be nervous about it sweetie.... I'm just want to find out how much you know about Rogues.";
+ mes "I do this with all of the Rogue candidates. Shall we begin?";
+ next;
+ menu "Ok.",L_Test1, "Hold on... I need some time.",-;
+
+ mes "[Markie]";
+ mes "Okay honey, just take your time. When you're ready come back.";
+ close;
+
+
+//=================================================================
+L_Test1:
+//=======
+ mes "[Markie]";
+ mes "I am going to ask you a few questions. Listen carefully and choose what you think is the best answer okay?";
+ next;
+ callfunc "RogQ_check";
+ if(@score< 90) goto sL_Failed;
+ if(@score<100) goto sL_Passed;
+
+ sL_Perfect:
+ mes "A perfect score! I knew you had what it takes to be a Rogue.....";
+ mes "But don't get ahead of yourself honey cause there is still plenty more.....";
+ next;
+ mes "[Markie]";
+ set ROGUE_Q, 2;
+ goto L_Test2;
+
+ sL_Passed:
+ mes "Good, good. You did a good job shuga. But there is still more so don't get excited just yet.....";
+ next;
+ mes "[Markie]";
+ set ROGUE_Q, 2;
+ goto L_Test2;
+ return;
+
+ sL_Failed:
+ mes "*sigh*..... this is not the type of score I was expecting......";
+ mes "What can I say excecpt, with a score like this you're definitely not cut out to be a Rogue..........";
+ emotion 4;
+ next;
+ mes "[Markie]";
+ mes "Why don't you go do some more training shuga..... you need it..... *mumbles ( what a waste of my time...)*";
+ close;
+
+L_ReTest:
+ mes "You again? Are you sure you're ready this time?...... Okay honey, just relax....";
+ next;
+ goto L_Test1;
+
+L_Test2:
+ mes "Your second test will be given by ^5533FFMr. Smith^000000.";
+ mes "I have to warn you though, Mr. Smith can be difficult and hard to please. So be careful how you act around him.";
+ close;
+L_Test3:
+ mes "I know those guys are hard to find. Just be patient and keep on searching. Make sure you have the correct password as well..";
+ close;
+L_Test4:
+ mes "What are you doing here? I hope your not trying to skip the last test?.........";
+ emotion 1;
+ next;
+ mes "[Markie]";
+ mes "Your almost finished so just keep trying. I know you can do it.";
+ close;
+
+
+//=======================================================================
+L_Change:
+//===========
+ mes "Oh, you're back and your in one piece! It looks like you've passed all of the tests sweetie.";
+ mes "You have proven that you are ready to become a Rogue!";
+ emotion 5;
+ next;
+ if(SkillPoint != 0) goto L_SkillP;
+ mes "[Markie]";
+ mes "Tada! Congratulations on becoming a Rogue. You showed a lot of effort and deserve a reward for it......";
+ setlook 7,0;
+ callfunc "Job_Change",Job_Rogue;
+ emotion 46;
+ next;
+ mes "[Markie]";
+ mes "Now that you are a Rogue you are free to go where ever you want to and do what ever you want.";
+ if(JBLVL != 50) getitem 1219,1; // 2 slott gladius
+ if(JBLVL == 50) getitem 1220,1; // 3 slott gladius
+ callfunc "F_ClearJobVar";
+ next;
+ mes "[Markie]";
+ mes "Just keep in mind that freedom requires responsibility. Treat people the way you expect to be treated.";
+ next;
+ mes "[Markie]";
+ mes "Have fun shuga! See ya around!";
+ close;
+
+//=======================================================================
+L_SkillP:
+//===========
+ mes "[Markie]";
+ mes "Oh but one thing honey... you have leftover skill points!";
+ mes "Finish them first and come back, 'kay?";
+ close;
+}
+
+
+
+//=======================================================================================================//
+// Mr. Smith: Tests 2 and 3 //
+//***********************************************************************************************************************************************************//
+in_rogue.gat,376,23,3 script Mr. Smith 57,{
+
+ mes "[Mr. Smith]";
+ if(BaseJob == Job_Thief) goto L_Thief;
+ if(BaseJob == Job_Rogue) goto L_Rogue;
+
+L_OtherJob:
+ mes "Go away! I'm busy.....";
+ close;
+L_Rogue:
+ mes "Looking good there my Rogue friend";
+ close;
+L_Thief:
+ if(ROGUE_Q == 2) goto L_Test2;
+ if(ROGUE_Q == 3) goto L_Test3;
+ if(ROGUE_Q > 3) goto L_Done;
+ mes "Ok ok.... one... two.... three.... Where do you do you business... is it.... Morroc... Geffen.... Comodo??.......";
+ next;
+ mes "[Mr. Smith]";
+ mes "Uhh..... this is giving me a headache.......";
+ next;
+ mes "[Mr. Smith]";
+ mes "Huh? Who are you? If you want to become a rogue go talk to ^5533FFMarkie^000000....";
+ next;
+ mes "[Mr. Smith]";
+ mes "...... CRAP! I forgot what I was counting!!";
+ emotion 16;
+ close;
+
+//----------------------------------------------------------------------------------------------------
+L_Test2:
+//--------------
+ if(ROGUE_Q2 > 0) goto L_Check2;
+ mes "So you're here to take the second test.... good.......";
+ next;
+ mes "[Mr. Smith]";
+ mes "Before we get started, let me tell you about the test application fee.";
+ mes "Our guild is involved in alot of business *cough* 'transactions' *cough* and therefore we are in constant needs of funds.";
+ next;
+ mes "[Mr. Smith]";
+ mes "This is why we require a fee of ^5533FF10,000 zeny^000000 to be paid when taking the Rogue tests.";
+ mes "The fee will be collected when you have completed this second test so don't have to worry if you don't have it now.";
+ next;
+ mes "[Mr. Smith]";
+ mes "Now for your test..... You will be required to collect the following items:";
+ next;
+ mes "[Mr. Smith]";
+ set ROGUE_Q2, rand(1,3);
+ if(ROGUE_Q2 == 1) callsub sF2_R1;
+ if(ROGUE_Q2 == 2) callsub sF2_R2;
+ if(ROGUE_Q2 == 3) callsub sF2_R3;
+ next;
+ mes "[Mr. Smith]";
+ mes "Once you have ALL of these items and 10,000 zeny, come back and see me okay? Good.";
+ close;
+
+ sF2_R1:
+ mes "^5533FF6 Blue Herbs,";
+ mes "10 Skel Bones,";
+ mes "10 Decayed Nails,";
+ mes "10 Horrendous Mouths^000000.";
+ return;
+ sF2_R2:
+ mes "^5533FF10 Green Herbs,";
+ mes "10 Garlets,";
+ mes "10 Snake Scales";
+ mes "10 Crab Shells.^000000";
+ return;
+ sF2_R3:
+ mes "^5533FF10 Yellow Herbs,";
+ mes "10 Bear's Footskin,";
+ mes "10 Shells";
+ mes "10 Grasshopper's Legs^000000.";
+ return;
+
+L_Check2:
+ set @count, 0;
+ if(ROGUE_Q2 == 2) goto L_2;
+ if(ROGUE_Q2 == 3) goto L_3;
+
+ L_1:
+ set @R, 1;
+ if(countitem(510)<6 || countitem(932)<10 || countitem(957)<10 || countitem(958)<10 || Zeny < 10000) goto L_NotEnuf;
+ delitem 510,6;
+ delitem 932,10;
+ delitem 957,10;
+ delitem 958,10;
+ goto L_Done2;
+
+ L_2:
+ set @R, 2;
+ if(countitem(511)<10 || countitem(910)<10 || countitem(926)<10 || countitem(964)<10 || Zeny < 10000) goto L_NotEnuf;
+ delitem 511,10;
+ delitem 910,10;
+ delitem 926,10;
+ delitem 964,10;
+ goto L_Done2;
+
+ L_3:
+ set @R, 3;
+ if(countitem(508)<10 || countitem(948)<10 || countitem(935)<10 || countitem(940)<10 || Zeny < 10000) goto L_NotEnuf;
+ delitem 508,10;
+ delitem 948,10;
+ delitem 935,10;
+ delitem 940,10;
+
+ L_Done2:
+ mes "Let's see here.... application fee.... check..... items....... check...... Alright, everything looks in order. You've passed the second test.";
+ next;
+ mes "[Mr. Smith]";
+ mes "When you are ready to take the next test let me know.";
+ set Zeny, Zeny - 10000;
+ set ROGUE_Q, 3;
+ set ROGUE_Q2, 0;
+ close;
+
+ L_NotEnuf:
+ mes ".... What the f@&#!?!? You don't have all of the items? Then why did you come back?? Don't tell me you forgot what to get.....";
+ emotion 1;
+ next;
+ mes "[Mr. Smith]";
+ mes "Write this down! You need ^5533FF10,000^000000 zeny and:";
+ if(ROGUE_Q2 == 1) callsub sF2_R1;
+ if(ROGUE_Q2 == 2) callsub sF2_R2;
+ if(ROGUE_Q2 == 3) callsub sF2_R3;
+ next;
+ mes "[Mr. Smith]";
+ mes "Got it? DON'T come back until you have everything.........";
+ emotion 32;
+ close;
+
+
+//----------------------------------------------------------------------------------------------
+L_Test3:
+//---------------
+ if(ROGUE_Q2 > 0) goto L_Check3;
+ mes "Let me see..... Who should I have you go find........ hmm.........";
+ emotion 20;
+ next;
+ mes "[Mr. Smith]";
+ mes "Ah I know! Alright, in the previous test I had you go find some items. For this test you will need to find a specific person.";
+ emotion 5;
+ next;
+ mes "[Mr. Smith]";
+ set ROGUE_Q2, rand(1,3);
+ if(ROGUE_Q2 == 1) callsub sF3_R1;
+ if(ROGUE_Q2 == 2) callsub sF3_R2;
+ if(ROGUE_Q2 == 3) callsub sF3_R3;
+ next;
+ mes "[Mr. Smith]";
+ mes "Good luck to you. Try to finish this test as soon as possible. Getting things done quickly is one of a Rogue's traits.";
+ close;
+
+ sF3_R1:
+ mes "You will have to go and find ^5533FFAragham Junior^000000.";
+ next;
+ mes "[Mr. Smith]";
+ mes "He lives in a little house somewhere ^5533FFSouthWest^000000 of the Fortress of Sandarman.";
+ mes "That area is located ^5533FFone map East^000000 from here and is on the ^000000SouthWestern land mass^000000.";
+ next;
+ mes "[Mr. Smith]";
+ mes "He's a really nice guy who works real hard and is very good at collecting unpaid debts.";
+ mes "Unfortunately people were trying to kill him because of something his father had done in the past.";
+ next;
+ mes "[Mr. Smith]";
+ mes "When he joined the Rogue guild, he decided he was going to keep low which is why he's in his current hiding place.";
+ mes "No one is supposed to know where he is except for those of us at the Rogue Guild.";
+ next;
+ mes "[Mr. Smith]";
+ mes "That's why you will need this password in order to talk to him.";
+ mes "The password is: '^5533FFAragham never hoarded upgrade items.^000000'";
+ return;
+ sF3_R2:
+ mes "You will have to go and find ^5533FFHollgrehen Junior^000000.";
+ next;
+ mes "[Mr. Smith]";
+ mes "He lives in a little house somewhere ^5533FFSouthEast^000000 of the Fortress of Sandarman.";
+ mes "That area is located ^5533FFone map East^000000 from here and is on the ^5533FFEastern land mass^000000.";
+ next;
+ mes "[Mr. Smith]";
+ mes "He's a really nice guy who works real hard and is very good at collecting unpaid debts.";
+ mes "Unfortunately people were trying to kill him because of something his father had done in the past.";
+ next;
+ mes "[Mr. Smith]";
+ mes "When he joined the Rogue guild, he decided he was going to keep low which is why he's in his current hiding place.";
+ mes "No one is supposed to know where he is except for those of us at the Rogue Guild.";
+ next;
+ mes "[Mr. Smith]";
+ mes "That's why you will need this password in order to talk to him.";
+ mes "The password is: '^5533FFMy Father never hoarded upgrade items.^000000'";
+ return;
+ sF3_R3:
+ mes "You will have to go and find ^5533FFAntonio Junior.^000000.";
+ next;
+ mes "[Mr. Smith]";
+ mes "He lives in a little hut somewhere on the ^5533FFEastern end of Kokomo Beach^000000.";
+ mes "That area is located ^5533FF1 map North, and 1 map West^000000 from here.";
+ next;
+ mes "[Mr. Smith]";
+ mes "He's a really nice guy who works real hard and is very good at collecting unpaid debts.";
+ mes "Unfortunately people were trying to kill him because of something his father had done in the past.";
+ next;
+ mes "[Mr. Smith]";
+ mes "When he joined the Rogue guild, he decided he was going to keep low which is why he's in his current hiding place.";
+ mes "No one is supposed to know where he is except for those of us at the Rogue Guild.";
+ next;
+ mes "[Mr. Smith]";
+ mes "That's why you will need this password in order to talk to him.";
+ mes "The password is: '^5533FFAntonio doesn't like breaking refining material.^000000'";
+ return;
+
+
+L_Check3:
+ mes "What!?! Did you just say you forgot where to go?........";
+ emotion 1;
+ next;
+ mes "[Mr. Smith]";
+ mes "GRRRR!!! That's why you need to WRITE down important things! Geez......";
+ emotion 6;
+ next;
+ mes "[Mr. Smith]";
+ if(ROGUE_Q2 == 1) callsub sF3_R1;
+ if(ROGUE_Q2 == 2) callsub sF3_R2;
+ if(ROGUE_Q2 == 3) callsub sF3_R3;
+ close;
+
+//-------------------------------------------------------------------------------------------------
+L_Done:
+//----------------
+ mes "I have no more busisness with you.........";
+ close;
+}
+
+
+//===========================================================
+// Guildsman that need to be found
+//===========================================================
+
+//------------------------------------------------------------------------------
+in_rogue.gat,272,136,3 script Hermanthorn Jr. 85,{
+ mes "[Hermanthorn Jr.]";
+ mes "Huh? Wha.... who are you?! You're not from the Rogue guild!! Get out of here!";
+ emotion 1;
+ next;
+ mes "[Hermanthorn Jr.]";
+ mes "You're..... I see! You're one of them!!! You've come here to kill me haven't you??!! No... NO!! I'm not ready to die yet!";
+ emotion 0;
+ next;
+ mes "[Hermanthorn Jr.]";
+ mes "Aaaaaaaaaaaaaahhhh!! Go away! Get lost! Otherwise I am gonna KILL YOU!!!";
+ emotion 16;
+ close;
+}
+
+// --------------------------------------------------------------------------
+cmd_fild09.gat,106,195,0 script Aragham Junior 45,1,1,{
+ callfunc "F_RogueTest3", 1, "Aragham", "never", "hoarded", "upgrade items.", 244, 24;
+}
+
+// -----------------------------------------------------------------------------
+cmd_fild09.gat,335,143,0 script Hollgrehen Junior 45,1,1,{
+ callfunc "F_RogueTest3", 2, "My father", "never", "hoarded", "upgrade items.", 168, 34;
+}
+
+// ------------------------------------------------------------------------------
+cmd_fild04.gat,304,179,0 script Antonio Junior 45,1,1,{
+ callfunc "F_RogueTest3", 3, "Antonio", "doesn't like", "breaking", "refining materials.", 165, 104;
+}
+
+// Function for Guildsman ===================================
+function script F_RogueTest3 {
+
+ mes "[???]";
+ mes "Who's there?!!!";
+ mes "Who dares to trespass on my territory?";
+ if(BaseJob!=Job_Thief || ROGUE_Q<3 || ROGUE_Q2==0) close;
+L_Start:
+ deletearray @choice$[1], 4;
+ next;
+ menu "My father",M_1a, "Aragham",M_1b, "Antonio",M_1c, "Legolas",M_1d;
+
+ M_1a:
+ set @choice$[1], "My father";
+ goto M_Menu2;
+ M_1b:
+ set @choice$[1], "Aragham";
+ goto M_Menu2;
+ M_1c:
+ set @choice$[1], "Antonio";
+ goto M_Menu2;
+ M_1d:
+ set @choice$[1], "Legolas";
+
+ M_Menu2:
+ callsub sF_Password;
+ menu "did not",M_2a, "doesn't like",M_2b, "never",M_2c, "ever",M_2d;
+
+ M_2a:
+ set @choice$[2], "did not";
+ goto M_Menu3;
+ M_2b:
+ set @choice$[2], "doesn't like";
+ goto M_Menu3;
+ M_2c:
+ set @choice$[2], "never";
+ goto M_Menu3;
+ M_2d:
+ set @choice$[2], "ever";
+
+ M_Menu3:
+ callsub sF_Password;
+ menu "hoard",M_3a, "hoarded",M_3b, "hide",M_3c, "took",M_3d, "breaking",M_3e;
+
+ M_3a:
+ set @choice$[3], "hoard";
+ goto M_Menu4;
+ M_3b:
+ set @choice$[3], "hoarded";
+ goto M_Menu4;
+ M_3c:
+ set @choice$[3], "hide";
+ goto M_Menu4;
+ M_3d:
+ set @choice$[3], "took";
+ goto M_Menu4;
+ M_3e:
+ set @choice$[3], "breaking";
+
+ M_Menu4:
+ callsub sF_Password;
+ menu "upgrade items.",M_4a, "forging items.",M_4b, "refining materials.",M_4c, "upgrade equipment.",M_4d;
+
+ M_4a:
+ set @choice$[4], "upgrade items.";
+ goto L_Check;
+ M_4b:
+ set @choice$[4], "forging items.";
+ goto L_Check;
+ M_4c:
+ set @choice$[4], "refining materials.";
+ goto L_Check;
+ M_4d:
+ set @choice$[4], "upgrade equipment.";
+
+L_Check:
+ callsub sF_Password;
+ if(ROGUE_Q2 != getarg(0)) goto L_Wrong;
+ if((@choice$[1] != getarg(1)) || (@choice$[2] != getarg(2)) || (@choice$[3] != getarg(3)) || (@choice$[4] != getarg(4))) goto L_Wrong;
+ mes "~ creeek ~";
+ mes "You hear the door begining to open........";
+ next;
+ deletearray @choice$[1], 4;
+ warp "in_rogue.gat", getarg(5), getarg(6);
+ end;
+
+ L_Wrong:
+ mes "[???]";
+ mes "Get lost!!";
+ close;
+sF_Password:
+ mes "[^5533FF" + strcharinfo(0) + "^000000]";
+ mes @choice$[1];
+ mes @choice$[2];
+ mes @choice$[3];
+ mes @choice$[4];
+ next;
+ return;
+}
+
+
+//=======================================================================================================//
+// Test 4: Last Test //
+//***********************************************************************************************************************************************************//
+// Other path
+// warp "in_rogue.gat", 11, 388;
+// 390,389 end warp
+// 9,9 -> 9,21
+//===============================================
+// Guildsman
+//===============================================
+//---------------------------------------------------------------------------
+in_rogue.gat,244,39,4 script Aragham Junior 99,{
+ callfunc "F_RogueTest4", "Aragham Junior", 245, 27;
+}
+//---------------------------------------------------------------------------
+in_rogue.gat,152,27,6 script Hollgrehen Junior 85,{
+ callfunc "F_RogueTest4", "Hollgrehen Junior", 160, 32;
+}
+//---------------------------------------------------------------------------
+in_rogue.gat,183,105,4 script Antonio Junior 88,{
+ callfunc "F_RogueTest4", "Antonio Junior", 175, 107;
+}
+
+// Function for Guildsman =============================
+function script F_RogueTest4 {
+
+ if(ROGUE_Q == 4) goto L_Restart;
+ mes "[" + getarg(0) + "]";
+ mes "Hello there... You must be from the Rogue guild. My name is " + getarg(0) + "...... I am the Rogue of the Desert..............";
+ next;
+ mes "[" + getarg(0) + "]";
+ mes "Aww who am I kidding...... Let's cut the crap. So are you ready to become a rogue?";
+ emotion 4;
+ next;
+ mes "[" + getarg(0) + "]";
+ mes "You see, the Rogue motto is...... ^5533FF'Avoid the strong! Be malicious to the weak!'^000000";
+ mes "This simple rule applys to fighting monsters as well.";
+ next;
+ mes "[" + getarg(0) + "]";
+ mes "The very last thing you will have to do before you can become a Rogue, is to walk through an underground passage to the Rogue Guild.";
+ next;
+ mes "[" + getarg(0) + "]";
+ mes "Sounds easy huh? Well it's not! But don't worry....";
+ mes "If you stay true to the Rogue motto and use a lot of hide, and do a lot of running, you should be just fine.";
+
+ M_Menu:
+ next;
+ mes "[" + getarg(0) + "]";
+ mes "Ok, are you ready to go?";
+ next;
+ menu "As ready as I'll ever be.",-, "Actually I'm kinda scared...",M_End;
+
+ mes "[" + getarg(0) + "]";
+ mes "Good luck then.";
+ next;
+ set ROGUE_Q, 4;
+ killmonsterall "in_rogue.gat";
+ savepoint "in_rogue.gat", getarg(1), getarg(2);
+ warp "in_rogue.gat", 15, 105;
+ end;
+
+ M_End:
+ mes "[" + getarg(0) + "]";
+ mes ".....................";
+ next;
+ mes "[" + getarg(0) + "]";
+ mes "Well take your time then...... I guess.......";
+ close;
+
+L_Restart:
+ mes "[" + getarg(0) + "]";
+ mes "....... Looks like you got creamed.......";
+ emotion 4;
+ next;
+ mes "[" + getarg(0) + "]";
+ mes "If you're up for it, I'll send you back in. Failure has a way of teaching success.... yada yada yada....";
+ percentheal 100,100;
+ goto M_Menu;
+}
+
+//================================================
+// Monster Spawns
+//================================================
+in_rogue.gat,15,185,0 script rogue_mob1 139,8,0,{
+ monster "in_rogue.gat",14,188,"Zombie",1015,1;
+ monster "in_rogue.gat",15,188,"Zombie",1015,1;
+ monster "in_rogue.gat",16,188,"Zombie",1015,1;
+ monster "in_rogue.gat",14,189,"Zombie",1015,1;
+ monster "in_rogue.gat",15,189,"Zombie",1015,1;
+ monster "in_rogue.gat",16,189,"Zombie",1015,1;
+ end;
+}
+in_rogue.gat,15,245,0 script rogue_mob2 139,8,0,{
+ monster "in_rogue.gat",14,247,"Mummy",1041,1;
+ monster "in_rogue.gat",15,247,"Mummy",1041,1;
+ monster "in_rogue.gat",16,247,"Mummy",1041,1;
+ monster "in_rogue.gat",14,248,"Mummy",1041,1;
+ monster "in_rogue.gat",15,248,"Mummy",1041,1;
+ monster "in_rogue.gat",16,248,"Mummy",1041,1;
+ end;
+}
+in_rogue.gat,15,328,0 script rogue_mob3 139,8,0,{
+ monster "in_rogue.gat",14,331,"Zombie",1015,1;
+ monster "in_rogue.gat",15,331,"Zombie",1015,1;
+ monster "in_rogue.gat",16,331,"Zombie",1015,1;
+ monster "in_rogue.gat",14,332,"Zombie",1015,1;
+ monster "in_rogue.gat",15,332,"Zombie",1015,1;
+ monster "in_rogue.gat",16,332,"Zombie",1015,1;
+ end;
+}
+in_rogue.gat,35,342,0 script rogue_mob4 139,0,8,{
+ monster "in_rogue.gat",38,340,"Mummy",1041,1;
+ monster "in_rogue.gat",37,342,"Abyss Knight",1219,1;
+ monster "in_rogue.gat",39,342,"Ghoul",1036,1;
+ monster "in_rogue.gat",38,344,"Mummy",1041,1;
+ end;
+}
+in_rogue.gat,57,306,0 script rogue_mob5 139,4,0,{
+ monster "in_rogue.gat",59,301,"Khalitzburg",1132,1;
+ end;
+}
+in_rogue.gat,96,333,0 script rogue_mob6 139,0,4,{
+ monster "in_rogue.gat",92,325,"Khalitzburg",1132,1;
+ end;
+}
+in_rogue.gat,139,313,0 script rogue_mob7 139,4,0,{
+ monster "in_rogue.gat",139,309,"Abyss Knight",1219,1;
+ end;
+}
+in_rogue.gat,135,246,0 script rogue_mob8 139,0,4,{
+ monster "in_rogue.gat",139,245,"Zombie",1015,2;
+ monster "in_rogue.gat",139,246,"Zombie",1015,2;
+ monster "in_rogue.gat",139,247,"Zombie",1015,2;
+ end;
+}
+in_rogue.gat,62,302,0 script rogue_mob9 139,0,4,{
+ monster "in_rogue.gat",57,305,"Khalitzburg",1132,1;
+ end;
+}
+in_rogue.gat,199,218,0 script rogue_mob10 139,0,8,{
+ monster "in_rogue.gat",157,218,"Zombie",1015,10;
+ monster "in_rogue.gat",157,218,"Abyss Knight",1219,1;
+ monster "in_rogue.gat",157,218,"Ghoul",1036,1;
+ monster "in_rogue.gat",157,218,"Archer Skeleton",1016,1;
+ end;
+}
+in_rogue.gat,86,187,0 script rogue_mob11 139,0,8,{
+ monster "in_rogue.gat",88,186,"Mummy",1041,1;
+ monster "in_rogue.gat",88,187,"Mummy",1041,1;
+ monster "in_rogue.gat",88,188,"Mummy",1041,1;
+ end;
+}
+in_rogue.gat,225,187,0 script rogue_mob12 139,0,8,{
+ monster "in_rogue.gat",232,191,"Abyss Knight",1219,1;
+ monster "in_rogue.gat",233,190,"Abyss Knight",1219,1;
+ monster "in_rogue.gat",234,189,"Abyss Knight",1219,1;
+ end;
+}
+in_rogue.gat,252,320,0 script rogue_mob13 139,0,8,{
+ monster "in_rogue.gat",252,319,"Mummy",1041,1;
+ monster "in_rogue.gat",252,321,"Mummy",1041,1;
+ monster "in_rogue.gat",252,319,"Ghoul",1036,1;
+ monster "in_rogue.gat",252,321,"Ghoul",1036,1;
+ monster "in_rogue.gat",257,320,"Archer Skeleton",1016,1;
+ monster "in_rogue.gat",248,320,"Archer Skeleton",1016,1;
+ end;
+}
+
+//================================================
+// End Warp
+//================================================
+in_rogue.gat,370,320,0 script rogue04 45,1,1,{
+ set ROGUE_Q, 5;
+ killmonsterall "in_rogue.gat";
+ warp "in_rogue.gat",378,113;
+ end;
+}
+
+//================================================
+// Timer: Keeps monsters from overspawning
+//================================================
+- script RogueTest3 -1,{
+ end;
+
+OnMinute10:
+OnMinute20:
+OnMinute30:
+OnMinute40:
+OnMinute50:
+OnMinute60:
+ killmonsterall "in_rogue.gat";
+ end;
+}
+
+//==============================================================================
+// mapflag
+//==============================================================================
+in_rogue.gat mapflag nomemo
+in_rogue.gat mapflag noteleport
+in_rogue.gat mapflag nosave SavePoint
+in_rogue.gat mapflag nopenalty
+in_rogue.gat mapflag nobranch
+in_rogue.gat mapflag noexp
+in_rogue.gat mapflag noloot
diff --git a/npc/jobs/2-2/sage.txt b/npc/jobs/2-2/sage.txt new file mode 100644 index 000000000..44645f94c --- /dev/null +++ b/npc/jobs/2-2/sage.txt @@ -0,0 +1,2180 @@ +//===== eAthena Script =======================================
+//= Sage Job Quest
+//===== By: ==================================================
+//= jAthena (0.9) - I guess
+//= Unknown Translator (1.0)
+//= Darkchild (1.2)
+//===== Current Version: =====================================
+//= 1.7a
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Sage job quest based off of official servers.
+//===== Additional Comments: =================================
+//= Script mostly based on translated jA script
+//= Written test questions/answers weren't translated 100% corectly
+//= So a lot of those are based upon mRO site and my own info
+//= IF you by excident have (or can get) screenshots of these questions
+//= Then PLEASE send them to Darkchild
+//= 1.3 Baby class Support added [Lupus] 1.5 Fixed possible EXP abuse [Lupus]
+//= 1.6 Added a func which prevent advanced classes passing
+//= 2nd Job Quests again. It also guides adv classes where to go. [Lupus]
+//= 1.7 Fixed tuition fee. Fixed some answers, names & typos, added missing labels [Lupus]
+//= 1.7a Moved JFunc back in the main file, fixed typos [Lupus]
+//============================================================
+
+
+//==================================
+//Sage Castle
+//==================================
+yuno_in02.gat,38,61,4 script Magic Academy Headmaster 743,{
+ callfunc "F_BlockHigh",26,"High Mage",40,"Professor","Keiron";
+ if(BaseJob == 16) goto L_Menu3_3;
+ if(BaseJob != 2) goto L_Menu2_1;
+ if(SAGE_Q == 11) goto L_Menu3_1;
+ if(SAGE_Q >= 3) goto L_Menu2_2;
+ mes "[Keiron]";
+ mes "All who appreciate the fine art";
+ mes "of magic are welcome here.";
+ mes "How can I help you?";
+ next;
+ menu "Change class to Sage",L_Menu1_1,"About the Sage class",-,"Just looking around",L_Menu1_2;
+ mes "[Keiron]";
+ mes "So you're interested in being a Sage?";
+ mes "Well, I can't just make you one straight away.";
+ next;
+ mes "[Keiron]";
+ mes "In order to become a Sage, you'll need to file an application for entry into the Shubaichul Magic Academy and take the placement test.";
+ next;
+ mes "[Keiron]";
+ mes "Once you're placed, you'll need to complete coursework and finally write and defend a thesis.";
+ next;
+ mes "[Keiron]";
+ mes "If you successfully complete the requirements, you'll be granted a Sage license.";
+ next;
+ mes "[Keiron]";
+ mes "If you wish to apply, go see Mathias in the Shubaichul Magic Academy.";
+ mes "Tell him I sent you.";
+ close;
+L_Menu1_1:
+ mes "[Keiron]";
+ mes "A Sage?";
+ mes "Well...";
+ mes "In order to change you way of living, you have to change your way of thinking.";
+ next;
+ mes "[Keiron]";
+ mes "Sages actively contribute knowledge to the kingdom through rigorous research.";
+ mes "They also help society through its worst problems.";
+ mes "Just because you dress as a Sage doesn't mean you're a Sage.";
+ next;
+ mes "[Keiron]";
+ mes "To become a Sage, please apply for entry into the Shubaichul Magic Academy.";
+ mes "The admissions officer will explain the educational requirements.";
+ close;
+L_Menu1_2:
+ mes "[Keiron]";
+ mes "Excellent. If you have some free time, why not peruse a a volume from our library?";
+ mes "Our library is truly a bastion of knowledge.";
+ next;
+ mes "[Keiron]";
+ mes "Of course, there is much that can't be learned from reading books, but it's a good start.";
+ close;
+L_Menu2_1:
+ mes "[Keiron]";
+ mes "We Sages do a lot of research about the world on our own,";
+ mes "but to maximize our knowledge,";
+ mes "we regularly form interdisciplinary research teams.";
+ next;
+ mes "[Keiron]";
+ mes "You should talk to our Sages and share any research you may have been doing within your own profession.";
+ close;
+L_Menu2_2:
+ mes "[Keiron]";
+ mes "The road to becoming a Sage isn't easy.";
+ mes "You need to have a strong dedication to mastering magic.";
+ next;
+ mes "[Keiron]";
+ mes "You need to keep plugging away at that thesis.";
+ mes "Good luck!";
+ close;
+L_Menu3_1:
+ if(countitem(1550) >= 1) goto L_Menu3_2;
+ mes "[Keiron]";
+ mes "Where's your thesis?";
+ mes "I'm eager to evaulate it.";
+ next;
+ mes "[Keiron]";
+ mes "Did you forget it?";
+ mes "In any case, please bring it post-haste.";
+ close;
+L_Menu3_2:
+ mes "[Keiron]";
+ mes "It looks like you have a thesis to present. Let's have a look...";
+ next;
+ mes "[Keiron]";
+ mes "Hmmm...";
+ next;
+ mes "[Keiron]";
+ mes "Yes....";
+ next;
+ mes "[Keiron]";
+ mes "Interesting...";
+ next;
+ mes "[Keiron]";
+ mes "It's not stylistically";
+ mes "cohesive, but your zeal for research is amply proven by your thesis. I approve.";
+ next;
+ if(SkillPoint == 0) goto LCHANGE;
+ mes "[Keiron]";
+ mes "Well you are all set for the jobchange except for 1 thing!";
+ mes "You have unused Skill Points!!!";
+ mes "Please use those first!";
+ close;
+
+ LCHANGE:
+ callfunc "Job_Change",Job_Sage;
+ callfunc "F_ClearJobVar";
+ mes "[Keiron]";
+ mes "Congratulations!";
+ mes "You're a Sage now.";
+ mes "Don't let that passion for research ever be dampened.";
+ next;
+ mes "[Keiron]";
+ mes "Keep your thesis around, since it may be useful in a publish-or-perish environment later on.";
+ next;
+ mes "[Keiron]";
+ mes "Some day, you'll be a bastion of knowledge all by yourself!";
+ close;
+L_Menu3_3:
+ mes "[Keiron]";
+ mes "Hmmm? What's up?";
+ mes "Just because you're a Sage doesn't mean you should quit your studies.";
+ next;
+ mes "[Keiron]";
+ mes "In order to maintain our role as the kingdom's gatherers and dissemenators of knowledge, we can never miss an opportunity to gather data.";
+ close;
+}
+
+//===============================
+//Biotech Lab
+//===============================
+yuno_in03.gat,244,31,3 script Physics Professor 120,{
+ if(BaseJob == 16) goto L_Menu3_2;
+ if(BaseJob != 2) goto L_Menu1_1;
+ if(SAGE_Q == 11) goto L_Menu3_1;
+ if(SAGE_Q2 == 8) goto L_Menu2_1;
+ if(SAGE_Q2 == 9) goto L_Menu2_3;
+ if(SAGE_Q2 == 10) goto L_Menu2_5;
+ if(SAGE_Q2 == 11) goto L_ThesisStart1;
+ if(SAGE_Q == 9) goto L_Menu1_2;
+ mes "[Ebeshi]";
+ mes "What?";
+ next;
+ mes "[Ebeshi]";
+ mes "Did you come to study under my guidance?";
+ next;
+ mes "[Ebeshi]";
+ mes "Well, you need to enroll first.";
+ mes "Heheheheh...";
+ close;
+L_Menu1_1:
+ mes "[Ebeshi]";
+ mes "Eh???????????????????????????????";
+ next;
+ mes "[Ebeshi]";
+ mes "I don't think there's anything someone like you can learn from me.";
+ next;
+ mes "[Ebeshi]";
+ mes "Are you disappointed?";
+ mes "Hehehehe....";
+ close;
+L_Menu1_2:
+ set SAGE_Q2,8;
+ mes "[Ebeshi]";
+ mes "Well, I'm glad to meet another fine student such as yourself.";
+ next;
+ mes "[Ebeshi]";
+ mes "Aren't you excited that you're going to study under me?!";
+ mes "Hehehehe....";
+ next;
+ mes "[Ebeshi]";
+ mes "I hate to be intrusive, but could you get something for me before I start my class?";
+ next;
+ mes "[Ebeshi]";
+ mes "I need ^3051FD30x Stone^000000 as part of the class materials.";
+ mes "Can you get that?";
+ next;
+ mes "[Ebeshi]";
+ mes "If you really want to get stones quick,";
+ mes "you should look up a friendly thief to assist you! Thanks for helping out.";
+ close;
+L_Menu2_1:
+ if(countitem(7049) >= 30) goto L_Menu2_2;
+ mes "[Ebeshi]";
+ mes "Hey, what are you up to?";
+ mes "Are you trying to slack off?";
+ mes "Come on, set your eyes on the goal.";
+ next;
+ mes "[Ebeshi]";
+ mes "I need ^3051FD30x Stone^000000 to proceed.";
+ mes "With all the stones lying around,";
+ mes "shouldn't they be easy to find?";
+ close;
+ L_Menu2_2:
+ mes "[Ebeshi]";
+ mes "Awesome! You've got all the stones I need.";
+ mes "Now, watch this!";
+ next;
+ mes "[Ebeshi]";
+ mes "Abracadabra!!";
+ next;
+ mes "[Ebeshi]";
+ mes "Abracadabra!!";
+ next;
+ mes "[Ebeshi]";
+ mes "Abracadabra!!";
+ next;
+ delitem 7049,30;
+ set SAGE_Q2,9;
+ mes "[Ebeshi]";
+ mes "You see that?";
+ mes "I created three elemental stones!";
+ next;
+ mes "[Ebeshi]";
+ mes "Pretty cool, don't you think?";
+ mes "Have them for yourself!";
+ next;
+ getitem 991,1;
+ getitem 993,1;
+ getitem 992,1;
+ mes "[Ebeshi]";
+ mes "Now, for your next lesson, you need to synthesize some different kinds of arrows with those stones.";
+ next;
+ mes "[Ebeshi]";
+ mes "Specifically...";
+ mes "^3051FD50x Crystal Arrow^000000";
+ mes "^3051FD50x Stone Arrow^000000";
+ mes "^3051FD50x Wind Arrow^000000";
+ next;
+ mes "[Ebeshi]";
+ mes "An archer friend can help you make the arrows.";
+ mes "Give it a try!";
+ close;
+ L_Menu2_3:
+ if((countitem(1754) >= 50) && (countitem(1756) >= 50) && (countitem(1755) >= 50)) goto L_Menu2_4;
+ mes "[Ebeshi]";
+ mes "Hmmm?";
+ mes "What did you do with those stones I gave you?";
+ mes "You didn't sell them, I hope...";
+ next;
+ mes "[Ebeshi]";
+ mes "You need to use them to make";
+ mes "^3051FD50x Crystal Arrow^000000";
+ mes "^3051FD50x Stone Arrow^000000";
+ mes "^3051FD50x Wind Arrow^000000";
+ mes "An archer friend can help you make the arrows.";
+ close;
+ L_Menu2_4:
+ mes "[Ebeshi]";
+ mes "You made the arrows! Good job.";
+ mes "Now, to continue with the lesson...";
+ next;
+ mes "[Ebeshi]";
+ mes "This lesson covers the Elemental Affinity chapter in your textbook.";
+ next;
+ mes "[Ebeshi]";
+ mes "The first affinity is really easy.";
+ mes "Water magic is very effective against fire.";
+ mes "It's easy to remember.";
+ mes "All you need to remember is water being splashed on fire.";
+ next;
+ mes "[Ebeshi]";
+ mes "Wind magic will decimate water-based monsters.";
+ mes "Observe what happens when a lake is struck by lightning.";
+ next;
+ mes "[Ebeshi]";
+ mes "Earth magic will crush wind-based monsters easily.";
+ mes "Don't you build a house on a strong foundation to keep the wind away?";
+ next;
+ mes "[Ebeshi]";
+ mes "Fire magic mercilessly scorches the earth.";
+ mes "Won't a tree burn if a fire breaks out?";
+ mes "Same with an earth-based monster.";
+ next;
+ mes "[Ebeshi]";
+ mes "Do you understand?";
+ mes "Here's some homework for next time...";
+ next;
+ delitem 1754,50;
+ delitem 1756,50;
+ delitem 1755,50;
+ set SAGE_Q2,10;
+ mes "[Ebeshi]";
+ mes "Next time you come, bring ^3051FD1x Holy Water^000000.";
+ mes "We'll need it for the lesson.";
+ mes "It will be easy to acquire if you have contacts in the church.";
+ close;
+ L_Menu2_5:
+ if(countitem(523) >= 1) goto L_Menu2_6;
+ mes "[Ebeshi]";
+ mes "Ooops!";
+ mes "Did you forget about the item I asked you to bring?";
+ next;
+ mes "[Ebeshi]";
+ mes "I need ^3051FD1x Holy Water^000000 for the lesson.";
+ mes "Ask an Acolyte to help you make it.";
+ mes "Hehehehe...";
+ close;
+ L_Menu2_6:
+ mes "[Ebeshi]";
+ mes "Alright, you have the Holy Water!";
+ mes "Let's continue the lesson!";
+ next;
+ mes "[Ebeshi]";
+ mes "Please take good notes about this part.";
+ mes "It will be on the test.";
+ next;
+ mes "[Ebeshi]";
+ mes "Water magic sucks against wind!";
+ mes "Would a lightning bolt care if it was frozen?";
+ mes "Heheheheh....";
+ next;
+ mes "[Ebeshi]";
+ mes "Wind magic is totally useless against the earth.";
+ mes "Will a tree suffer permanent damage if it's blown about?";
+ next;
+ mes "[Ebeshi]";
+ mes "Earth magic is ineffective against fire.";
+ mes "If you put some leaves on a fire, will the fire go out?";
+ mes "No, just the opposite will happen.";
+ next;
+ mes "[Ebeshi]";
+ mes "Fire won't do much against water.";
+ mes "If you heat water, doesn't it just become more dangerous?";
+ next;
+ mes "[Ebeshi]";
+ mes "That was a pretty informative lecture!";
+ mes "You think so too, right?";
+ next;
+ delitem 523,1;
+ set SAGE_Q2,11;
+ mes "[Ebeshi]";
+ mes "Now, you have enough knowledge to prepare a defensible thesis.";
+ mes "Hehehehehe!";
+ next;
+ mes "[Ebeshi]";
+ mes "To put the thesis together, you'll need:";
+ mes "^3051FD1x Feather of Birds^000000 for your writing instrument.";
+ mes "^3051FD1x Animal Skin^000000 for the pages.";
+ mes "^3051FD1x Trunk^000000 to bind the pages.";
+ mes "^3051FD1x Squid Ink^000000 for your ink.";
+ mes "^3051FD1x Empty Bottle^000000 to store your ink.";
+ next;
+ mes "[Ebeshi]";
+ mes "Come and see me once you've gotten all of these items together.";
+ close;
+ L_ThesisStart1:
+ if((countitem(916) >= 1) && (countitem(919) >= 1) && (countitem(1019) >= 1) && (countitem(1024) >= 1) && (countitem(713) >= 1)) goto L_ThesisStart2;
+ mes "[Ebeshi]";
+ mes "Hmmm?";
+ mes "You can't forget important things like this!";
+ next;
+ mes "[Ebeshi]";
+ mes "You need these items to start your thesis:";
+ mes "^3051FD1x Feather of Birds^000000 for your writing instrument.";
+ mes "^3051FD1x Animal Skin^000000 for the pages.";
+ mes "^3051FD1x Trunk^000000 to bind the pages.";
+ mes "^3051FD1x Squid Ink^000000 for your ink.";
+ mes "^3051FD1x Empty Bottle^000000 to store your ink.";
+ next;
+ mes "[Ebeshi]";
+ mes "Do you have some friends that might be able to help you gather the materials?";
+ mes "That will make it a simple task!";
+ close;
+ L_ThesisStart2:
+ delitem 916,1;
+ delitem 919,1;
+ delitem 1019,1;
+ delitem 1024,1;
+ delitem 713,1;
+ mes "[Ebeshi]";
+ mes "Alright...";
+ mes "You need to write this yourself.";
+ mes "I'm simply your research advisor!";
+ mes "Hehehehe...";
+ next;
+ mes "......";
+ next;
+ mes "......";
+ next;
+ mes "......";
+ next;
+ mes "Elemental magic is divided into four types...";
+ menu "...called Fire, Wind, Water, and Earth",L_ThesisMenu1_1,"...named Fire, Wind, Water, and Earth",L_ThesisMenu1_2,"...that oppose each other: Fire, Wind, Water, and Earth",L_ThesisMenu1_3;
+ L_ThesisMenu1_1:
+ mes "...called Fire, Wind, Water, and Earth";
+ goto L_Thesis2;
+ L_ThesisMenu1_2:
+ mes "...named Fire, Wind, Water, and Earth";
+ goto L_Thesis2;
+ L_ThesisMenu1_3:
+ mes "...that oppose each other: Fire, Wind, Water, and Earth";
+ goto L_Thesis2;
+ L_Thesis2:
+ mes "Each attribute has certain properties.";
+ menu "Wind conquers water...",L_ThesisMenu2_1,"Water douses fire...",L_ThesisMenu2_2,"Fire scorches Earth...",L_ThesisMenu2_3;
+ L_ThesisMenu2_1:
+ mes "Wind conquers Water and Earth attacks Wind";
+ goto L_Thesis3;
+ L_ThesisMenu2_2:
+ mes "Water douses fire, while Wind zaps Water";
+ goto L_Thesis3;
+ L_ThesisMenu2_3:
+ mes "Fire scorches Earth, and Water douses Fire.";
+ goto L_Thesis3;
+ L_Thesis3:
+ menu "But weaknesses exist, too",L_ThesisMenu3_1,"You can customize your weapon element, also",L_ThesisMenu3_2,"Elemental affinity varies by monster type, also",L_ThesisMenu3_3;
+ L_ThesisMenu3_1:
+ mes "But weaknesses exist, too";
+ goto L_Thesis4;
+ L_ThesisMenu3_2:
+ mes "You can customize your weapon element, also";
+ goto L_Thesis4;
+ L_ThesisMenu3_3:
+ mes "Elemental affinity varies by monster type, also";
+ goto L_Thesis4;
+ L_Thesis4:
+ menu "You need to be circumspect when facing monsters...",L_ThesisMenu4_1,"So, you should customize your weapon to the situation",L_ThesisMenu4_2,"Red Potions have a delicious strawberry flavor",L_ThesisMenu4_3;
+ L_ThesisMenu4_1:
+ mes "You need to be circumspect when facing monster with an unfamiliar affinity.";
+ goto L_Thesis5;
+ L_ThesisMenu4_2:
+ mes "You should customize your weapon to the situation.";
+ goto L_Thesis5;
+ L_ThesisMenu4_3:
+ mes "Red Potions have a delicious strawberry flavor.";
+ goto L_Thesis5;
+ L_Thesis5:
+ next;
+ menu "Eimi of Prontera is hot",L_ThesisMenu5_1,"I wonder how Red Potions are made",L_ThesisMenu5_2,"The complexity of magic exceeds man's capacity to learn",L_ThesisMenu5_3;
+ L_ThesisMenu5_1:
+ mes "Eimi of Prontera is hot.";
+ goto L_Thesis6;
+ L_ThesisMenu5_2:
+ mes "I wonder how Red Potions are made.";
+ goto L_Thesis6;
+ L_ThesisMenu5_3:
+ mes "The complexity of magic exceeds man's capacity to learn.";
+ goto L_Thesis6;
+ L_Thesis6:
+ menu "The women in Morok are hot, too",L_ThesisMenu6_1,"Maybe it's a secret recipe",L_ThesisMenu6_2,"It's dangerous to depend on magic too much...",L_ThesisMenu6_3;
+ L_ThesisMenu6_1:
+ mes "The women in Morok are hot, too.";
+ goto L_Thesis7;
+ L_ThesisMenu6_2:
+ mes "Maybe it's a secret recipe.";
+ goto L_Thesis7;
+ L_ThesisMenu6_3:
+ mes "It's dangerous to depend on magic too much...";
+ goto L_Thesis7;
+ L_Thesis7:
+ menu "I wish I had a Bunny Band",L_ThesisMenu7_1,"That taste of a White potion...",L_ThesisMenu7_2,"...if you want to stay safe. power...",L_ThesisMenu7_3;
+ L_ThesisMenu7_1:
+ mes "I wish I had a Bunny Band.";
+ goto L_Thesis8;
+ L_ThesisMenu7_2:
+ mes "The taste of a White Potion...";
+ goto L_Thesis8;
+ L_ThesisMenu7_3:
+ mes "...if you want to stay safe. power...";
+ goto L_Thesis8;
+ L_Thesis8:
+ menu "That would make me happy",L_ThesisMenu8_1,"...is difficult to imagine",L_ThesisMenu8_2,"In the interest of a safe battle...",L_ThesisMenu8_3;
+ L_ThesisMenu8_1:
+ mes "That would make me happy.";
+ goto L_Thesis9;
+ L_ThesisMenu8_2:
+ mes "...is difficult to imagine";
+ goto L_Thesis9;
+ L_ThesisMenu8_3:
+ mes "In the interest of a safe battle...";
+ goto L_Thesis9;
+ L_Thesis9:
+ menu "Bunny Bands make great Acolyte accessories",L_ThesisMenu9_1,"It makes me wonder if...",L_ThesisMenu9_2,"...you should bring along friends",L_ThesisMenu9_3;
+ L_ThesisMenu9_1:
+ mes "Bunny Bands make great Acolyte accessories.";
+ goto L_Thesis10;
+ L_ThesisMenu9_2:
+ mes "It makes me wonder if...";
+ goto L_Thesis10;
+ L_ThesisMenu9_3:
+ mes "...you should bring along friends.";
+ goto L_Thesis10;
+ L_Thesis10:
+ menu "I wonder if a Knight could wear one, too",L_ThesisMenu10_1,"...people might drink them when they're not hurt",L_ThesisMenu10_2,"It's the responsible thing to do",L_ThesisMenu10_3;
+ L_ThesisMenu10_1:
+ mes "I wonder if a Knight could wear one, too.";
+ next;
+ goto L_ThesisEnd;
+ L_ThesisMenu10_2:
+ mes "...people might drink them when they're not hurt";
+ next;
+ goto L_ThesisEnd;
+ L_ThesisMenu10_3:
+ mes "It's the responsible thing to do.";
+ next;
+ goto L_ThesisEnd;
+ L_ThesisEnd:
+ mes "......";
+ next;
+ mes "......";
+ next;
+ mes "......";
+ next;
+ set SAGE_Q,11;
+ getitem 1550,1;
+ mes "[Ebeshi]";
+ mes "Alright!";
+ mes "You've finished! It looks pretty good!";
+ next;
+ mes "[Ebeshi]";
+ mes "You should take that to the Headmaster!";
+ mes "He'll decide whether you graduate or not.";
+ mes "Hehehehehe....";
+ close;
+L_Menu3_1:
+ mes "[Ebeshi]";
+ mes "What's up? Did you forget something?!";
+ next;
+ mes "[Ebeshi]";
+ mes "You should see the Headmaster and present your thesis so you can graduate!";
+ close;
+L_Menu3_2:
+ mes "[Ebeshi]";
+ mes "Good afternoon!";
+ mes "It's good to meet other Sages and exchange information.";
+ mes "Heheheheh!!";
+ next;
+ mes "[Ebeshi]";
+ mes "Even though company is good sometimes, I need to continue my magical research!";
+ next;
+ mes "[Ebeshi]";
+ mes "Do you want to continue your study here?";
+ mes "Please feel free to talk to the other professors and read the literature here.";
+ mes "Hehehehe!";
+ close;
+}
+
+//==================================
+//Monster Museum
+//==================================
+
+yuno_in03.gat,32,102,0 script Biology Professor 755,{
+ if(BaseJob == 16) goto L_Menu5_4;
+ if(BaseJob != 2) goto L_Menu1_1;
+ if(SAGE_Q == 11) goto L_Menu5_3;
+ if((SAGE_Q2 >= 1) && (SAGE_Q2 <= 3)) goto L_Menu3_1;
+ if((SAGE_Q2 >= 4) && (SAGE_Q2 <= 6)) goto L_Menu4_1;
+ if(SAGE_Q2 == 7) goto L_Menu5_1;
+ if(SAGE_Q == 8) goto L_Menu2_1;
+ mes "[Lucias]";
+ mes "I have a headache...";
+ mes "I've got too many things going on at once!";
+ next;
+ mes "[Lucias]";
+ mes "Of course, I'll teach people about biology even with a headache!";
+ close;
+L_Menu1_1:
+ mes "[Lucias]";
+ mes "Hmmm? Are you just poking around?";
+ next;
+ mes "[Lucias]";
+ mes "That's fine, but please don't touch anything.";
+ mes "We keep dangerous bioagents in here!";
+ next;
+ mes "[Lucias]";
+ mes "If you have information about rare monsters, we'll pay you handsomely.";
+ close;
+L_Menu2_1:
+ mes "[Lucias]";
+ mes "Oh, you've taken the placement test?";
+ mes "I'm Lucias, a preeminent researcher in the biological sciences.";
+ next;
+ mes "[Lucias]";
+ mes "What's your name, young one?";
+ next;
+ menu "I'm " + strcharinfo(0) + "!",-;
+ mes "[Lucias]";
+ mes "That's a nice name.";
+ mes "Now, let me explain about our research objectives.";
+ next;
+ mes "[Lucias]";
+ mes "My area of expertise is monsters.";
+ mes "I'm sure that you've encountered and defeated many monsters by now.";
+ mes "Am I right?";
+ next;
+ menu "You're quite right",-,"Well, not really...",L_Menu2_2;
+ mes "[Lucias]";
+ mes "Really?";
+ mes "I hope your background knowledge is diverse.";
+ mes "My class isn't a cakewalk by any means.";
+ next;
+ goto L_Menu2_3;
+ L_Menu2_2:
+//==================================
+//If you respond negatively
+ mes "[Lucias]";
+ mes "You might be at a disadvantage.";
+ mes "My coursework assumes a lot of background knowledge.";
+ mes "My class wasn't designed to be a cakewalk...";
+ next;
+//==================================
+L_Menu2_3:
+ mes "[Lucias]";
+ mes "So, shall we get started?";
+ mes "You'll learn a lot in this class if you're vigilant.";
+ next;
+ set @sagerand,0;
+ set @sagerand,rand(3);
+ mes "[Lucias]";
+ mes "So, first, you need to collect ";
+ if(@sagerand == 1) goto L_Menu2_4;
+ if(@sagerand == 2) goto L_Menu2_5;
+ set SAGE_Q2,1;
+ mes "^3051FD5x Tendons^000000";
+ mes "^3051FD5x Nippers^000000";
+ mes "^3051FD5x Sharp Scales^000000";
+ next;
+ goto L_Menu2_6;
+ L_Menu2_4:
+ set SAGE_Q2,2;
+//==================================
+//mes–¢‰ñŽû
+ mes "^3051FD5x Clam Flesh^000000";
+ mes "^3051FD5x Nippers^000000";
+ mes "^3051FD5x Heart of Mermaid^000000";
+ next;
+ goto L_Menu2_6;
+ L_Menu2_5:
+ set SAGE_Q2,3;
+ mes "^3051FD5x Single Cells^000000";
+ mes "^3051FD5x Tentacles^000000";
+ mes "^3051FD5x Fish Tails^000000";
+//==================================
+ next;
+ L_Menu2_6:
+ mes "[Lucias]";
+ mes "We'll continue once you've gathered those.";
+ close;
+L_Menu3_1:
+ if((countitem(1050) >= 5) && (countitem(960) >= 5) && (countitem(963) >= 5) && (SAGE_Q2 == 1)) goto L_Menu3_4;
+ if((countitem(966) >= 5) && (countitem(960) >= 5) && (countitem(950) >= 5) && (SAGE_Q2 == 2)) goto L_Menu3_4;
+ if((countitem(1052) >= 5) && (countitem(962) >= 5) && (countitem(1023) >= 5) && (SAGE_Q2 == 3)) goto L_Menu3_4;
+ mes "[Lucias]";
+ mes "You don't have the necessary items.";
+ mes "Let me repeat what you need:";
+ next;
+ mes "[Lucias]";
+ if(SAGE_Q2 == 2) goto L_Menu3_2;
+ if(SAGE_Q2 == 3) goto L_Menu3_3;
+ mes "^3051FD5x Tendon^000000";
+ mes "^3051FD5x Nipper^000000";
+ mes "^3051FD5x Sharp Scale^000000";
+ close;
+ L_Menu3_2:
+ mes "^3051FD5x Clam Flesh^000000";
+ mes "^3051FD5x Nipper^000000";
+ mes "^3051FD5x Heart of Mermaid^000000";
+ close;
+ L_Menu3_3:
+ mes "^3051FD5x Single Cell^000000";
+ mes "^3051FD5x Tentacle^000000";
+ mes "^3051FD5x Fish Tail^000000";
+ close;
+L_Menu3_4:
+ mes "[Lucias]";
+ mes "Well, you have the items, but I can't be sure if you bought them or collected them yourself.";
+ next;
+ mes "[Lucias]";
+ mes "There is a similarity in the characteristics of the monsters that drop those items.";
+ mes "Do you know what it is?";
+ next;
+ menu "Water element affinity",L_Menu3_5,"They're fish and shells",L_Menu3_6,"They were quite active",-,"They're monsters",-;
+//==================================
+ mes "[Lucias]";
+ mes "...I'm disappointed in you.";
+ mes "The correct answer is that all of the monsters have water element affinity.";
+ mes "Monsters that live in an aquatic environment have evolved bodies adapted to that environment.";
+//==================================
+ next;
+ goto L_Menu3_6;
+ L_Menu3_5:
+ mes "[Lucias]";
+ mes "Right!";
+ mes "Most aquatic monsters have water element affinity because they're adapted to their environment.";
+ mes "Fish and shells evolved in a logical way.";
+ next;
+ L_Menu3_6:
+ mes "[Lucias]";
+ mes "Not every fish and shell has water element affinity, but you can count on it as a general rule.";
+ mes "Now, which type of magic do you think would be most effective against them?";
+ next;
+ menu "Lightning Bolt",L_Menu3_7,"Firebolt",-,"Thunderstorm",L_Menu3_8,"Frost Nova",-;
+//==================================
+//mes–¢‰ñŽû
+ mes "[Lucias]";
+ mes "That's not correct.";
+ mes "You need to use magic like Lightning Bolt or Thunderstorm.";
+ mes "Check the elemental affinity matrix again.";
+ next;
+//==================================
+ goto L_Menu3_9;
+ L_Menu3_7:
+ mes "[Lucias]";
+ mes "Great! That's right!";
+ mes "Using Lightning Bolt is an easy way to victory.";
+ next;
+ mes "[Lucias]";
+ mes "You need to be careful of monsters like the Penomena and Aster because their attribute is different.";
+ next;
+ goto L_Menu3_9;
+ L_Menu3_8:
+ mes "[Lucias]";
+ mes "Great! That's right!";
+ mes "Using Thunderstorm is an easy way to victory.";
+ next;
+ mes "[Lucias]";
+ mes "You need to be careful of monsters like the Penomena and Aster because their attribute is different.";
+ next;
+ L_Menu3_9:
+ mes "[Lucias]";
+ mes "Next, let's turn our attention to insectoid monsters.";
+ next;
+ set @sagerand,rand(3);
+ mes "[Lucias]";
+ mes "Next, you need to collect ";
+ if(@sagerand == 1) goto L_Menu3_10;
+ if(@sagerand == 2) goto L_Menu3_11;
+ set SAGE_Q2,4;
+ mes "^3051FD5x Cobweb^000000";
+ mes "^3051FD5x Shell^000000";
+ mes "^3051FD5x Insect Feeler^000000";
+ next;
+ goto L_Menu2_6;
+ L_Menu3_10:
+ set SAGE_Q2,5;
+//==================================
+//mes–¢‰ñŽû
+ mes "^3051FD5x Moth Dust^000000";
+ mes "^3051FD5x Snail's Shell^000000";
+ mes "^3051FD5x Horn^000000";
+ next;
+ goto L_Menu2_6;
+ L_Menu3_11:
+ set SAGE_Q2,6;
+ mes "^3051FD5x Mantis Leg^000000";
+ mes "^3051FD5x Worm Peeling^000000";
+ mes "^3051FD5x Rainbow Shell^000000";
+//==================================
+ next;
+ goto L_Menu2_6;
+L_Menu4_1:
+ if((countitem(1025) >= 5) && (countitem(935) >= 5) && (countitem(928) >= 5) && (SAGE_Q2 == 4)) goto L_Menu4_4;
+ if((countitem(1057) >= 5) && (countitem(946) >= 5) && (countitem(947) >= 5) && (SAGE_Q2 == 5)) goto L_Menu4_4;
+ if((countitem(1031) >= 5) && (countitem(955) >= 5) && (countitem(1013) >= 5) && (SAGE_Q2 == 6)) goto L_Menu4_4;
+ mes "[Lucias]";
+ mes "You forgot what you're supposed to gather?";
+ mes "Listen carefully this time! You need to gather:";
+ next;
+ mes "[Lucias]";
+ if(SAGE_Q2 == 5) goto L_Menu4_2;
+ if(SAGE_Q2 == 6) goto L_Menu4_3;
+ mes "^3051FD5x Cobweb^000000";
+ mes "^3051FD5x Shell^000000";
+ mes "^3051FD5x Insect Feeler^000000";
+ close;
+ L_Menu4_2:
+ mes "^3051FD5x Moth Dust^000000";
+ mes "^3051FD5x Snail's Shell^000000";
+ mes "^3051FD5x Horn^000000";
+ close;
+ L_Menu4_3:
+ mes "^3051FD5x Mantis Leg^000000";
+ mes "^3051FD5x Worm Peeling^000000";
+ mes "^3051FD5x Rainbow Shell^000000";
+ close;
+L_Menu4_4:
+ set SAGE_Q2,7;
+ mes "[Lucias]";
+ mes "Excellent. You've done well.";
+ mes "I hope you were also dilligent in observing your surroundings when you collected the items.";
+ next;
+ mes "[Lucias]";
+ mes "With insects, you'll need to carefully consider which magic to use, since insects have affinity with a variety of elements.";
+ next;
+ mes "[Lucias]";
+ mes "You should also be aware that Thief hiding and Assassin cloaking aren't effective against some insects.";
+ next;
+ mes "[Lucias]";
+ mes "Insects can also act in groups.";
+ mes "Often the insect bosses will have considerable numbers of subordinates.";
+ next;
+ mes "[Lucias]";
+ mes "Ant Lord Maya...";
+ mes "Queen Bee Mistress...";
+ mes "Goblin Chief Goldfinger...";
+ next;
+ mes "[Lucias]";
+ mes "If you face a boss monster alone, you had best prepare to die.";
+ mes "You ought to take a group of friends to face these creatures down.";
+ next;
+ mes "[Lucias]";
+ mes "Well, you've studied quite a bit.";
+ mes "Now you need to write a thesis.";
+ mes "You need some materials before you can begin writing it, however.";
+ mes "They are:";
+ next;
+ mes "[Lucias]";
+ mes "^3051FD1x Feather of Birds^000000 for your writing instrument.";
+ mes "^3051FD1x Animal Skin^000000 for the pages.";
+ mes "^3051FD1x Trunk^000000 to bind the pages.";
+ mes "^3051FD1x Squid Ink^000000 for your ink.";
+ mes "^3051FD1x Empty Bottle^000000 to store your ink.";
+ next;
+ mes "[Lucias]";
+ mes "We can get started when you return.";
+ close;
+L_Menu5_1:
+ if((countitem(916) >= 1) && (countitem(919) >= 1) && (countitem(1019) >= 1) && (countitem(1024) >= 1) && (countitem(713) >= 1) && (SAGE_Q2 == 7)) goto L_Menu5_2;
+ mes "[Lucias]";
+ mes "You need to gather those items first.";
+ mes "They are:";
+ next;
+ mes "[Lucias]";
+ mes "^3051FD1x Feather of Birds^000000 for your writing instrument.";
+ mes "^3051FD1x Animal Skin^000000 for the pages.";
+ mes "^3051FD1x Trunk^000000 to bind the pages.";
+ mes "^3051FD1x Squid Ink^000000 for your ink.";
+ mes "^3051FD1x Empty Bottle^000000 to store your ink.";
+ next;
+ mes "[Lucias]";
+ mes "You've done great so far.";
+ mes "Just a little more and you can graduate.";
+ close;
+L_Menu5_2:
+ delitem 916,1;
+ delitem 919,1;
+ delitem 1019,1;
+ delitem 1024,1;
+ delitem 713,1;
+ mes "[Lucias]";
+ mes "Looks like you have everything.";
+ next;
+ mes "[Lucias]";
+ mes "Now, you need to write this yourself.";
+ mes "I'm only taking an advisory role.";
+ next;
+ mes "[Lucias]";
+ mes "Are you ready to begin?";
+ mes "Let's see if you've acquired enough knowledge to write a coherent thesis.";
+ next;
+ mes "......";
+ next;
+ mes "......";
+ next;
+ mes "......";
+ next;
+ menu "Monsters come in different types",-;
+ mes "Monsters come in different types.";
+ menu "They have different elemental affinities",-;
+ mes "They have different elemental affinities.";
+ menu "If you know the monster's element beforehand...",-;
+ mes "If you know the monster's element beforehand...";
+ menu "...you can optimize your battle experience",-;
+ mes "...you can optimize your battle experience";
+ menu "You should especially be careful of...",-;
+ mes "You should especially be careful of...";
+ menu "...monsters with Holy and Darkness affinity",-;
+ mes "...monsters with Holy and Darkness affinity";
+ next;
+ mes "......";
+ next;
+ mes "......";
+ next;
+ mes "......";
+ next;
+ set SAGE_Q,11;
+ getitem 1550,1;
+ mes "[Lucias]";
+ mes "This is pretty good!";
+ mes "I'm proud of you!";
+ next;
+ mes "[Lucias]";
+ mes "Show this to the Headmaster and you'll be sure to graduate.";
+ mes "Good luck.";
+ close;
+L_Menu5_3:
+ mes "[Lucias]";
+ mes "Hmmm? What's the matter?";
+ mes "You need to show your thesis to the Headmaster.";
+ close;
+L_Menu5_4:
+ mes "[Lucias]";
+ mes "Are you confused about something?";
+ mes "I'm pretty busy, so you need to make an appointment a week in advance.";
+ next;
+ mes "[Lucias]";
+ mes "Hahaha...Once you've been a Sage for awhile, you'll be saying the same thing.";
+ next;
+ mes "[Lucias]";
+ mes "Also, if you have some spare time,";
+ mes "you should head over to the dungeon and lie down on the floor.";
+ mes "Look up and study the ceiling.";
+ mes "You might learn something.";
+ close;
+}
+
+//=================================
+//Academy Interior
+//=================================
+
+yuno_in03.gat,154,35,4 script Academy Staff 742,{
+ callfunc "F_BlockHigh",26,"High Mage",40,"Professor","Mathias";
+
+ if(BaseJob == 16) goto L_Menu6_4;
+ if(BaseJob != 2) goto L_Menu1_1;
+ if(SAGE_Q == 11) goto L_Menu6_3;
+ if(SAGE_Q >= 4) goto L_Menu6_2;
+ if(SAGE_Q == 3) goto L_Menu6_1;
+ if(SAGE_Q == 2) goto L_Menu5_1;
+ mes "[Mathias]";
+ mes "Hello.";
+ mes "This is the Shubaichul Magic Academy?";
+ mes "You seem to be a Magician.";
+ mes "How can I help you?";
+ next;
+ menu "Sage class-change information",-,"I want to apply for admission to the Academy",L_Menu3_1,"Forget it",L_Menu2;
+ mes "[Mathias]";
+ mes "You want to change class to Sage?";
+ mes "I can't just change your class right here.";
+ next;
+ mes "[Mathias]";
+ mes "You need to complete a program of rigorous coursework and research.";
+ next;
+ mes "[Mathias]";
+ mes "Once you graduate from the academy,";
+ mes "you can change class.";
+ mes "In order to proceed, you need to pay tuition and take the placement test.";
+ next;
+ mes "[Mathias]";
+ mes "Only those who have an ^3051FDOld Magic Book^000000 and a ^3051FDNecklace Of Wisdom^000000 can have tuition waived.";
+ next;
+ mes "[Mathias]";
+ mes "Once you've paid the fee, you first take the placement test.";
+ mes "If you score highly enough to be placed in our program, you then perform research according to your placement.";
+ mes "Finally, you must prepare and defend a thesis.";
+ next;
+ mes "[Mathias]";
+ mes "The Headmaster decides whether or not the thesis meets standards for graduation.";
+ mes "If he approves, you can formally begin your career as a Sage.";
+ next;
+ mes "[Mathias]";
+ mes "If you're interested, you need only file an application to get started.";
+ mes "Have a good day.";
+ close;
+L_Menu2:
+ mes "[Mathias]";
+ mes "Oh?";
+ mes "Are you hesitant?";
+ mes "See you later, then.";
+ close;
+L_Menu1_1:
+ mes "[Mathias]";
+ mes "Welcome.";
+ mes "This is Shubaichul Magic Academy.";
+ next;
+ mes "[Mathias]";
+ mes "We do research on magic and monsters here.";
+ mes "We also train fledgling Sages.";
+ next;
+ mes "[Mathias]";
+ mes "Any Magician who is at or above class level 40 can apply for admission to the Academy.";
+ mes "Once you complete our prescribed process for degree acquisition, you can become a Sage.";
+ next;
+ mes "[Mathias]";
+ mes "Good bye.";
+ close;
+L_Menu3_1:
+ mes "[Mathias]";
+ mes "You want to apply? Wonderful!";
+ next;
+ mes "[Mathias]";
+ mes "In order to enter the Academy,";
+ mes "you need to be a Magician of class level 40 or above.";
+ mes "You will also need to pay tuition to cover instruction and materials.";
+ next;
+ mes "[Mathias]";
+ mes "Tuition is 70,000Zeny.";
+ mes "If you have an ^3051FDOld Magic Book^000000 or a ^3051FDNecklace Of Wisdom^000000, the tuition fee will be waived.";
+ next;
+ mes "[Mathias]";
+ mes "So, you would like to apply for admission?";
+ next;
+ menu "Yes, I would",L_Menu5_5,"Tuition is too expensive!",-,"I'll try again later",L_Menu3_2;
+ mes "[Mathias]";
+ mes "Well...we need the tuition money to cover instruction and materials...";
+ next;
+ menu "Isn't there another way?",-,"I'll try again later.",L_Menu3_2;
+ set SAGE_Q,2;
+ mes "[Mathias]";
+ mes "Well...Perhaps there is. I can lower the tuition to 30000 Zeny if you can bring us some materials we need for our research department:";
+ next;
+ mes "[Mathias]";
+ mes "Specifically, we need:";
+ mes "^3051FD50x Feather of Birds^000000";
+ mes "^3051FD50x Fluff^000000";
+ mes "^3051FD50x Clover^000000";
+ mes "^3051FD50x Feathers^000000";
+ next;
+ mes "[Mathias]";
+ mes "If you can get all that, I'll discount the fee to 30000 Zeny.";
+ mes "Please do your best to collect them.";
+ next;
+ mes "[Mathias]";
+ mes "Of course, you can also acquire 70000 Zeny instead of gathering the items if you wish.";
+ next;
+ mes "[Mathias]";
+ mes "Please do your best to collect the items.";
+ mes "See you later.";
+ close;
+ L_Menu3_2:
+ mes "[Mathias]";
+ mes "Oh, alright.";
+ mes "Take your time.";
+ mes "Thanks for stopping by.";
+ close;
+L_Menu5_1:
+ mes "[Mathias]";
+ mes "So, would you like to apply for admission?";
+ next;
+ if(JobLevel < 40) goto L_Menu5_9;
+ if(countitem(1006) > 0) goto L_Menu5_4;
+ if(countitem(1007) > 0) goto L_Menu5_4_;
+ if(Zeny < 70000) goto L_Menu5_2;
+ set Zeny,Zeny-70000;
+ set SAGE_Q,3;
+ mes "[Mathias]";
+ mes "I see you have 70000 Zeny.";
+ mes "I'll take that for tuition. You are now enrolled into the school.";
+ next;
+ L_Menu5_5:
+ if(JobLevel < 40) goto L_Menu5_9;
+ mes "[Mathias]";
+ mes "We need your signature on this form to proceed.";
+ mes "Please sign at the X.";
+ next;
+ menu "" + strcharinfo(0) + "",-;
+ mes "[Mathias]";
+ mes "Alright, so you're ";
+ mes "" + strcharinfo(0) + ".";
+ mes "That's a nice name.";
+ next;
+ if(JobLevel == 50) goto L_JobMax;
+ if(SAGE_Q == 3) goto L_Menu5_6;
+ if(countitem(1006) > 0) goto L_Menu5_7;
+ if(countitem(1007) > 0) goto L_Menu5_7_;
+ if(Zeny < 70000) goto L_Menu5_2;
+ set Zeny,Zeny-70000;
+ set SAGE_Q,3;
+
+ mes "[Mathias]";
+ mes "I see you have 70000 Zeny.";
+ mes "I'll take that for tuition.";
+ mes "You are now enrolled into the school.";
+ next;
+
+ L_Menu5_6:
+ mes "[Mathias]";
+ mes "First, you need to take the placement test from Professor Kreitos.";
+ next;
+ mes "[Mathias]";
+ mes "Professor Kreitos is in the Academy library.";
+ mes "It's on the far left side of the building.";
+ next;
+ mes "[Mathias]";
+ mes "Good luck on the test.";
+ close;
+ L_JobMax:
+ set SAGE_Q,3;
+ mes "[Mathias]";
+ mes "You've trained yourself up to the maximum class level for Magicians!";
+ mes "In that case, I'll give you a full scholarship!";
+ next;
+ mes "[Mathias]";
+ mes "Now, all you need to do is go take the placement test.";
+ next;
+ mes "[Mathias]";
+ mes "Go see Professor Kreitos in the library on the far left side of the building.";
+ close;
+ L_Menu5_2:
+ if(SAGE_Q != 2) goto L_Menu5_8;
+ if((countitem(916) >= 50) && (countitem(914) >= 50) && (countitem(949) >= 50) && (countitem(705) >= 50)) goto L_Menu5_3;
+ mes "[Mathias]";
+ mes "You don't seem to have the materials yet.";
+ next;
+ mes "[Mathias]";
+ mes "You need to gather:";
+ mes "^3051FD50x Feather of Birds^000000";
+ mes "^3051FD50x Fluff^000000";
+ mes "^3051FD50x Clover^000000";
+ mes "^3051FD50x Feathers^000000";
+ next;
+ mes "[Mathias]";
+ mes "If you can get all that, I'll discount the fee to 30000 Zeny.";
+ mes "Please do your best to collect them.";
+ close;
+ L_Menu5_3:
+//==================================
+ if(Zeny < 30000) goto L_Menu5_8;
+ delitem 916,50;
+ delitem 914,50;
+ delitem 705,50;
+ delitem 949,50;
+ set Zeny,Zeny-30000;
+ set SAGE_Q,3;
+ mes "[Mathias]";
+ mes "It seems like you have the materials I asked for and 30000 Zeny.";
+ mes "Congratulations.";
+ mes "You're now enrolled in the Academy.";
+ set SAGE_Q,3;
+ next;
+ goto L_Menu5_5;
+ L_Menu5_4:
+ delitem 1006,1;
+ set SAGE_Q,3;
+ mes "[Mathias]";
+ mes "Oh, you have a ^3051FDOld Magic Book^000000.";
+ mes "I'll accept it in lieu of tuition.";
+ next;
+ goto L_Menu5_5;
+ L_Menu5_4_:
+ delitem 1007,1;
+ set SAGE_Q,3;
+ mes "[Mathias]";
+ mes "Oh, you have a ^3051FDNecklace Of Wisdom^000000.";
+ mes "I'll accept it in lieu of tuition.";
+ next;
+ goto L_Menu5_5;
+ L_Menu5_7:
+ delitem 1006,1;
+ set SAGE_Q,3;
+ mes "[Mathias]";
+ mes "Oh, you have a ^3051FDOld Magic Book^000000.";
+ mes "I'll accept it in lieu of tuition.";
+ next;
+ goto L_Menu5_6;
+ L_Menu5_7_:
+ delitem 1007,1;
+ set SAGE_Q,3;
+ mes "[Mathias]";
+ mes "Oh, you have a ^3051FDNecklace Of Wisdom^000000.";
+ mes "I'll accept it in lieu of tuition.";
+ next;
+ goto L_Menu5_6;
+ L_Menu5_8:
+ mes "[Mathias]";
+ mes "You don't seem to have enough money.";
+ mes "Please earn some money and return here.";
+ close;
+ L_Menu5_9:
+ mes "[Mathias]";
+ mes "Your class level is too low.";
+ mes "Complete some more training and return here.";
+ close;
+//==================================
+L_Menu6_1:
+ mes "[Mathias]";
+ mes "Hmmm? Did you forget what you need to do next?";
+ mes "Head over and see Professor Kreitos on the left side of the building.";
+ close;
+L_Menu6_2:
+ mes "[Mathias]";
+ mes "Oh, forgive me. I have so much to do that I can't help you at the moment.";
+ mes "Again, I apologize...";
+ close;
+L_Menu6_3:
+ mes "[Mathias]";
+ mes "Oh! Did you finish your thesis?";
+ mes "You need to see Headmaster Keiron so he can evaluate it.";
+ next;
+ mes "[Mathias]";
+ mes "If he approves, you can graduate!";
+ mes "Good luck.";
+ close;
+L_Menu6_4:
+ mes "[Mathias]";
+ mes "Welcome, colleague.";
+ mes "How is your research coming along?";
+ next;
+ mes "[Mathias]";
+ mes "In order to be a truly great researcher, you need to supplement your book-based research with encounters with real monsters.";
+ next;
+ mes "[Mathias]";
+ mes "If you know others with what it takes to become a Sage, please send them here.";
+ mes "Give my regards to my other colleagues, also.";
+ close;
+}
+
+yuno_in03.gat,169,180,4 script Test Professor 755,{
+ if(BaseJob == 16) goto L_Menu4_5;
+ if(BaseJob != 2) goto L_Menu1_1;
+ if(SAGE_Q == 5) goto L_Menu2_1;
+ if(SAGE_Q == 6) goto L_Menu2_3;
+ if(SAGE_Q == 7) goto L_Menu3_1;
+ if(SAGE_Q == 8) goto L_Menu4_1;
+ if(SAGE_Q == 9) goto L_Menu4_2;
+ if(SAGE_Q == 11) goto L_Menu4_4;
+ mes "[Hermes]";
+ mes "Hello, I'm Hermes. I am part of the skill testing staff.";
+ mes "Are you a Sage candidate?";
+ next;
+ if(SAGE_Q == 3) goto L_Menu1_2;
+ if(SAGE_Q >= 3) goto L_Menu1_2;
+ mes "[Hermes]";
+ mes "Oh, alright.";
+ mes "First you need to enroll and take the placement test.";
+ close;
+L_Menu1_1:
+ mes "[Hermes]";
+ mes "This is Shubaichul Magic Academy.";
+ next;
+ mes "[Hermes]";
+ mes "There are Sages that are less magicians than researchers.";
+ mes "Having a party supporting this kind of person is extremely important.";
+ next;
+ mes "[Hermes]";
+ mes "Keep supporting your party to the best of your ability.";
+ mes "That's all you need to do.";
+ close;
+L_Menu1_2:
+ mes "[Hermes]";
+ mes "You need to take the placement test from Kreitos before you can take my test.";
+ close;
+L_Menu2_1:
+ set SAGE_Q,6;
+ mes "[Hermes]";
+ mes "Oh? You took and passed the placement test?";
+ mes "Now you need to take the skill test from me.";
+ next;
+ mes "[Hermes]";
+ mes "The rules for the skill test are simple.";
+ mes "You need to kill all the monsters within the prescribed time limit.";
+ next;
+ mes "[Hermes]";
+ mes "There's an old proverb that one experience is worth a hundred words, so why not try it once?";
+ next;
+ menu "Sounds good",-,"I'm not ready yet",L_Menu2_2;
+ mes "[Hermes]";
+ mes "Well, let's get started.";
+ mes "Do your best!";
+ next;
+ warp "job_sage",50,154;
+ end;
+ L_Menu2_2:
+ mes "[Hermes]";
+ mes "Okay.";
+ mes "Please prepare quickly.";
+ close;
+L_Menu2_3:
+ mes "[Hermes]";
+ mes "Are you ready to take the skill test?";
+ mes "It's not too tough.";
+ next;
+ mes "[Hermes]";
+ mes "How about it?";
+ next;
+ menu "Sounds good",-,"I'm not ready yet",L_Menu2_2;
+ mes "[Hermes]";
+ mes "Well, let's get started.";
+ mes "Do your best!";
+ next;
+ warp "job_sage",50,154;
+ next;
+ warp "job_sage",50,154;
+ end;
+L_Menu3_1:
+ mes "[Hermes]";
+ mes "Good job! You passed";
+ mes "the skill test! Now you can proceed to the research phase!";
+ next;
+ mes "[Hermes]";
+ mes "Before I decide your research concentration, let's look at your score on the placement test and the amount of time you spent in the skill test.";
+ next;
+ mes "[Hermes]";
+ mes "Hmmm...";
+ mes "Looking good.";
+ next;
+
+//It's not clear how the script decides
+
+ if(sagecheck >= 12) goto L_Menu3_2;
+ set SAGE_Q,8;
+ mes "[Hermes]";
+ mes "It looks like monster research would be your best bet.";
+ next;
+ mes "[Hermes]";
+ mes "In order to gain the necessary information to put together a coherent research paper,";
+ mes "you should take the biology course from Professor Lucias.";
+ next;
+ goto L_Menu3_4;
+L_Menu3_2:
+ set SAGE_Q,9;
+ mes "[Hermes]";
+ mes "It looks like we have a budding elemental magic researcher here.";
+ mes "This field is fundamental to the advancement of magical knowledge.";
+ next;
+ mes "[Hermes]";
+ mes "You need to take a course from Professor Ebeshi in the biotech lab to gain a deeper understanding of elemental magic.";
+ next;
+L_Menu3_4:
+ mes "[Hermes]";
+ mes "I hope the coursework goes well.";
+ close;
+L_Menu4_1:
+ mes "[Hermes]";
+ mes "Weren't you listening?";
+ mes "You need to see Professor Lucias so you can begin your study of monster biology.";
+ close;
+L_Menu4_2:
+ mes "[Hermes]";
+ mes "Weren't you listening?";
+ mes "You need to see Professor Ebeshi so you can begin your study of elemental magic.";
+ close;
+L_Menu4_4:
+ mes "[Hermes]";
+ mes "Great job on completing your thesis, but you need to show it to the Headmaster.";
+ mes "He's the one who will judge whether or not you graduate.";
+ close;
+L_Menu4_5:
+ mes "[Hermes]";
+ mes "How are you?";
+ mes "Your face reveals that you've endured a lot of stress lately.";
+ next;
+ mes "[Hermes]";
+ mes "As stressful as hands-on research is,";
+ mes "it is still fundamentally different from research using abstract concepts.";
+ next;
+ mes "[Hermes]";
+ mes "Of course, if you go to difficult dungeons,";
+ mes "there's no shame in bringing a friend or five to help you out.";
+ close;
+}
+
+yuno_in03.gat,62,176,3 script History Professor 109,{
+ if(BaseJob == 16) goto L_Menu2_2;
+ if(BaseJob != 2) goto L_Menu1_1;
+ if(SAGE_Q == 11) goto L_Menu2_1;
+ mes "[Sapien]";
+ mes "You don't seem sure of your intended direction of study.";
+ mes "Perhaps you should consider it...";
+ close;
+L_Menu1_1:
+ mes "[Sapien]";
+ mes "Yes, I teach history.";
+ next;
+ mes "[Sapien]";
+ mes "As the present fades into memory, it becomes the past.";
+ mes "The kwoledge we have acquired in the past is the bridge between the present and the future.";
+ next;
+ mes "[Sapien]";
+ mes "You should study your own past, too.";
+ mes "By understanding what's happened to you already,";
+ mes "you can blaze a trail into the future unhindered by unresolved problems.";
+ close;
+L_Menu2_1:
+ mes "[Sapien]";
+ mes "What are you doing?";
+ mes "Hurry up and show the Headmaster your thesis before you lose it!";
+ close;
+L_Menu2_2:
+ mes "[Sapien]";
+ mes "Yes...?";
+ mes "Ah, it's a former student here.";
+ mes "Congratulations on graduating.";
+ next;
+ mes "[Sapien]";
+ mes "The present can only be understood by understanding the past.";
+ mes "Such understanding allows us to envision our future.";
+ next;
+ mes "[Sapien]";
+ mes "You should study your own past, too.";
+ mes "By understanding what's happened to you already,";
+ mes "you can blaze a trail into the future unhindered by unresolved problems.";
+ close;
+}
+
+yuno_in03.gat,105,177,4 script Placement Test Professor 754,{
+ if(BaseJob == 16) goto L_Menu3_4;
+ if(BaseJob != 2) goto L_Menu1_1;
+ if(SAGE_Q == 11) goto L_Menu3_3;
+ if(SAGE_Q >= 6) goto L_Menu3_2;
+ if(SAGE_Q == 3) goto L_Menu1_2;
+ if(SAGE_Q == 4) goto L_Menu2_1;
+ if(SAGE_Q == 5) goto L_Menu3_1;
+ mes "[Kreitos]";
+ mes "You have that look in your eye...";
+ mes "You want to be a Sage, I take it.";
+ next;
+ mes "[Kreitos]";
+ mes "You need to formally enroll in the Academy before I can help you any further.";
+ close;
+L_Menu1_1:
+ mes "[Kreitos]";
+ mes "Oh, you're not interested in our brand of magic?";
+ mes "That's alright...";
+ next;
+ mes "[Kreitos]";
+ mes "Anyone who teaches others and has a good heart is of value to society.";
+ mes "Please keep that in mind.";
+ close;
+L_Menu1_2:
+ set SAGE_Q,4;
+ set sagecheck,10;
+ mes "[Kreitos]";
+ mes "It looks like you've enrolled in the Shubaichul Magic Academy.";
+ mes "Is that right?";
+ next;
+ mes "[Kreitos]";
+ mes "So, let me find your paperwork...";
+ mes "You're " + strcharinfo(0) + ",";
+ mes "right?";
+ mes "Let's start the placement test.";
+ next;
+ mes "[Kreitos]";
+ mes "This test consists of twenty questions concerning the entire world.";
+ mes "If you score at least 80 points, you'll be placed in our program.";
+ mes "Each correct answer is worth 5 points.";
+ next;
+ mes "[Kreitos]";
+ mes "If you cancel, you'll have to start over, so be careful.";
+ next;
+ goto L_Menu2_2;
+ L_Menu2_1:
+ mes "[Kreitos]";
+ mes "Are you ready to try again?";
+ mes "Have you studied hard?";
+ next;
+ mes "[Kreitos]";
+ mes "The passing grade is as before.";
+ mes "You need to score 80 points, with each question being worth 5 points.";
+ next;
+ mes "[Kreitos]";
+ mes "So, let's get started.";
+ mes "Give it your best effort.";
+ mes "As before, if you cancel,";
+ mes "you'll have to start over.";
+ next;
+ L_Menu2_2:
+
+ set @sage_test2,0;
+ set @sage_test1,rand(3);
+ if (@sage_test1 == 1) goto L_Test2_1;
+ if (@sage_test1 == 2) goto L_Test3_1;
+
+//==================================
+//Written Test: Route 1.
+//==================================
+ mes "1. Which one isn't sold in Morocc's jewel shop?";
+ next;
+ menu "Topaz",L_Test1_1,"Garnet",-,"Diamond",L_Test1_1,"Sapphire",L_Test1_1;
+ set @sage_test2,@sage_test2+5;
+ goto L_Test1_1;
+ L_Test1_1:
+ mes "2. In which town can you not buy monster food?";
+ next;
+ menu "Prontera",L_Test1_2,"Morocc",L_Test1_2,"Aldebaran",-,"Alberta",L_Test1_2;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_2:
+ mes "3. Which town is closest to the forest maze?";
+ next;
+ menu "Prontera",-,"Morocc",L_Test1_3,"Geffen",L_Test1_3,"Payon",L_Test1_3;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_3:
+ mes "4. Which of these monsters is of a different race than the other three?";
+ next;
+ menu "Muka",L_Test1_4,"Drops",L_Test1_4,"Plankton",L_Test1_4,"Penomena",-;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_4:
+ mes "5. All these monsters except one have the same elemental affinity.";
+ mes "Which one has the different affinity?";
+ next;
+ menu "Dokebi",L_Test1_5,"Isis",L_Test1_5,"Giearth",-,"Deviruchi",L_Test1_5;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_5:
+ mes "6. Which one differs in approximate size from the others?";
+ next;
+ menu "Male Thief Bug",L_Test1_6,"Horn",L_Test1_6,"Metaller",L_Test1_6,"Argos",-;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_6:
+ mes "7. Which of these monsters doesn't drop the Iggydrasil leaf?";
+ next;
+ menu "Marduk",-,"Baphomet Jr.",L_Test1_7,"Angeling",L_Test1_7,"Wander Man",L_Test1_7;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_7:
+ mes "8. Which of these people isn't related to someone who can perform a class change to priest?";
+ next;
+ menu "Peter S. Alberto",-,"Thomas Bishop",L_Test1_8,"Windser Banedict",L_Test1_8,"Sesil Magrita",L_Test1_8;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_8:
+ mes "9. Which doesn't live in Morocc?";
+ next;
+ menu "Muda Armani",L_Test1_9,"Aragham",L_Test1_9,"Antonio",-,"Abldul",L_Test1_9;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_9:
+ mes "10. Which Kapra has the pretty blue hair?";
+ next;
+ menu "Pavianne",-,"Debril",L_Test1_10,"Claris",L_Test1_10,"Tayelin",L_Test1_10;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_10:
+ mes "11. Which one isn't necessary to unlock the Fire Wall skill?";
+ next;
+ menu "Firebolt Lv4",L_Test1_11,"Napalm Beat Lv4",-,"Fireball Lv5",L_Test1_11,"Sight Lv1",L_Test1_11;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_11:
+ mes "12. When the skill 'SP Restoration Lv6' is active, how much SP does the skill restore every ten seconds?";
+ next;
+ menu "14 sp",L_Test1_12,"16 sp",L_Test1_12,"18 sp",-,"21 sp",L_Test1_12;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_12:
+ mes "13. If you are a magician with job lv. 33, how many additional stat points will you get for int?";
+ next;
+ menu "7",L_Test1_13,"6",L_Test1_13,"5",L_Test1_13,"4",-;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_13:
+ mes "14. If the Archer skill 'Concentration Up Lv5' is active, how much SP will it consume?";
+ next;
+ menu "45 / 140sec",-,"50 / 140sec",L_Test1_14,"45 / 150sec",L_Test1_14,"50 / 150sec",L_Test1_14;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_14:
+ mes "15. Which one isn't necessary to unlock the Blacksmith skill 'Maximize Power'?";
+ next;
+ menu "Hilt Bending",L_Test1_15,"Skin Tempering",-,"Hammer Fall",L_Test1_15,"Weapon Perfection",L_Test1_15;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_15:
+ mes "16. What is the defense power and supplemental ability of a Ribbon?";
+ next;
+ menu "0 / SP +20",L_Test1_16,"0 / SP +30",L_Test1_16,"1 / SP +20",-,"1 / SP +30",L_Test1_16;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_16:
+ mes "17. Which class can't equip a Saint Robe?";
+ next;
+ //Swordsmen can't equip it either as of this writing.
+ menu "Swordsman",-,"Merchant",L_Test1_17,"Thief",-,"Acolyte",L_Test1_17;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_17:
+ mes "18. Which status ailment can't be removed with a Green Potion?";
+ next;
+ menu "Mute",L_Test1_18,"Poison",L_Test1_18,"Blind",L_Test1_18,"Cursed",-;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_18:
+ mes "19. What is the name of the ancient kingdom from which Geffen descends?";
+ next;
+ menu "Gefin",L_Test1_19,"Geffenia",-,"Gefdoria",L_Test1_19,"Gefria",L_Test1_19;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_19:
+ mes "20. Which tree is said to be the world's root?";
+ next;
+ menu "Igg Drasil",-,"Idrasil",L_Menu2_3,"Master",L_Menu2_3,"Old Tree",L_Menu2_3;
+ set @sage_test2,@sage_test2+5;
+ goto L_Menu2_3;
+ //==================================
+ //Written Test: Route 2.
+ //==================================
+ L_Test2_1:
+ mes "1. Which isn't sold in Geffen's magic shop?";
+ next;
+ menu "Mantle",-,"Wand",L_Test2_2,"Circlet",L_Test2_2,"Silver Robe",L_Test2_2;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_2:
+ mes "2. Which town doesn't sell blades?";
+ next;
+ menu "Prontera",L_Test2_3,"Izlude",L_Test2_3,"Aldebaran",-,"payon",L_Test2_3;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_3:
+ mes "3. Which town is nearest to Glast Heim?";
+ next;
+ menu "Prontera",L_Test2_4,"Geffen",-,"Morocc",L_Test2_4,"Payon",L_Test2_4;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_4:
+ mes "4. Which monster's type differs from the other three?";
+ next;
+ menu "Aster",L_Test2_5,"Marc",L_Test2_5,"Marse",L_Test2_5,"Marin",-;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_5:
+ mes "5. Which monster's elemental affinity is different from the others?";
+ next;
+ menu "Desert Wolf Babe",L_Test2_6,"Smokie",-,"Picky",L_Test2_6,"Choco",L_Test2_6;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_6:
+ mes "6. Which monster is in a different size class than the others?";
+ next;
+ menu "Drake",-,"Wraith",L_Test2_7,"Evil Druid",L_Test2_7,"Khalitzburg",L_Test2_7;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_7:
+ mes "7. Which monster doesn't drop Phracon?";
+ next;
+ menu "Pupa",L_Test2_8,"Condor",-,"Savage Baby",L_Test2_8,"Desert Wolf Babe",L_Test2_8;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_8:
+ mes "8. Who isn't involved in the Blacksmith class change?";
+ next;
+// =========================
+// Acording To mRO Site And eAthena Blacksmith Script the following ppl looking like ppl listed here are:
+// - Baisulitst - looks like some1 listed by mRO
+// - Wickebine - mRO has him as option listed
+// - Gromgast - mRO has him as option listed
+// - Mitmayer - translator has him listed as option
+// == Conclusion == I took the following:
+// =========================
+ menu "Baisulitst",L_Test2_9,"Wickebine",L_Test2_9,"Barkdale",-,"Mitmayer",L_Test2_9;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_9:
+ mes "9. Who doesn't live in Aldebaran?";
+ next;
+ menu "RS125",L_Test2_10,"Maasaru",-,"Munster",L_Test2_10,"Isenberg",L_Test2_10;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_10:
+ mes "10. Who is the youngest person in the Kapra organization?";
+ next;
+ menu "Deflute",L_Test2_11,"Claris",L_Test2_11,"Tayelin",L_Test2_11,"Curly Sue",-;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_11:
+ mes "11. When you use the skill 'Safety Wall Lv6', how much SP is consumed and how many attacks will it block?";
+ next;
+ menu "SP 40, 6bl",L_Test2_12,"SP 35, 6bl",L_Test2_12,"SP 35, 7bl",L_Test2_12,"SP 40, 7bl",-;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_12:
+ mes "12. When you use 'Napalm Beat Lv6', what is the attack power relative to MATK?";
+ next;
+ menu "1.2x MATK",L_Test2_13,"1.3x MATK",-,"1.4x MATK",L_Test2_13,"1.5x MATK",L_Test2_13;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_13:
+ mes "13. Which one catalyzes the reaction of Liquid #4 during the Magician class change test?";
+ next;
+ menu "Blue Gemstone",L_Test2_14,"Red Gemstone",L_Test2_14,"Orange Gemstone",L_Test2_14,"Carat Diamond",-;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_14:
+ mes "14. What is the damage multiplier and SP consumption for 'Bash Lv6'?";
+ next;
+ menu "250% / 8",L_Test2_15,"280% / 8",L_Test2_15,"280% / 15",-,"310% / 15",L_Test2_15;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_15:
+ mes "15. Which isn't necessary to unlock the Hunter skill 'Claymore Trap'?";
+ next;
+ menu "Remove Trap",-,"Land Mine",L_Test2_16,"Ankle Snare",L_Test2_16,"Flash",L_Test2_16;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_16:
+ mes "16. What is the defense power and supplemental ability of a Veil?";
+ next;
+ menu "0 / MDEF +3",L_Test2_17,"0 / MDEF +5",-,"1 / MDEF +3",L_Test2_17,"1 / MDEF +5",L_Test2_17;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_17:
+ mes "17. Which class can't equip a Coat?";
+ next;
+ menu "Swordsman",L_Test2_18,"Magician",L_Test2_18,"Thief",L_Test2_18,"Novice",-;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_18:
+ mes "18. Which item isn't blue in color?";
+ next;
+ menu "Alcohol",L_Test2_19,"Detrimindexta",-,"Karvodailnirol",L_Test2_19,"Blue Herb",L_Test2_19;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_19:
+ mes "19. Which item did the god Odin use to create the world?";
+ next;
+// menu "Yomir's Heart",L_Test2_20,"Yomir's Nail",-,"Yomir's Tooth",L_Test2_20,"Yomir's Stuff",L_Test2_20;
+// All answers correct untill i know the real answer, only Stuff is wrong cause that NOT it
+ menu "Yomir's Heart",-,"Yomir's Nail",-,"Yomir's Tooth",-,"Yomir's Stuff",L_Test2_20;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_20:
+ mes "20. Which metal can change the fate of the world?";
+ next;
+ menu "Envertacon",L_Menu2_3,"Emperium",-,"Enbera",L_Menu2_3,"Phracon",L_Menu2_3;
+ set @sage_test2,@sage_test2+5;
+ goto L_Menu2_3;
+//==================================
+//Written Test: Route 3.
+//==================================
+ L_Test3_1:
+ mes "1.Which of these items isn't sold at Prontera's knicknack shop?";
+ next;
+ menu "White Plate",L_Test3_2,"Red Frame",L_Test3_2,"Flower",-,"Glass Ball",L_Test3_2;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_2:
+ mes "2. Which town doesn't sell stilettos?";
+ next;
+ menu "Prontera",-,"Morocc",L_Test3_3,"Gefen",L_Test3_3,"Lutie",L_Test3_3;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_3:
+ mes "3. Which town is closest to Turtle Island?";
+ next;
+ menu "Aldebaran",L_Test3_4,"Alberta",-,"Comodo",L_Test3_4,"Izlude",L_Test3_4;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_4:
+ mes "4. Which monster is of a different monster race than the other three?";
+ next;
+ menu "Raggler",L_Test3_5,"Pest",L_Test3_5,"Frilldora",L_Test3_5,"Aster",-;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_5:
+ mes "5. Which monster has a different elemental affinity than the other three?";
+ next;
+ menu "Mantis",L_Test3_6,"Metaller",-,"Rokker",L_Test3_6,"Horn",L_Test3_6;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_6:
+ mes "6. Which monster is in a different size class than the others?";
+ next;
+ menu "Raydric",-,"Raydric Archer",L_Test3_7,"Wander Man",L_Test3_7,"Dark Flame",L_Test3_7;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_7:
+ mes "7. Which monster doesn't drop alcohol?";
+ next;
+ menu "Horn",L_Test3_8,"Plankton",L_Test3_8,"Poison Spore",-,"Toad",L_Test3_8;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_8:
+ mes "8. Which isn't involved in the Knight class change?";
+ next;
+// =========================
+// Acording To mRO Site And eAthena Knight Script the following ppl looking like ppl listed here
+// =========================
+ menu "James Syracuse",L_Test3_9,"Thomas Bishop",-,"Amy Veattris",L_Test3_9,"Edmond Groster",L_Test3_9;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_9:
+ mes "9. Which of these people doesn't live in Prontera?";
+ next;
+ menu "Nami",L_Test3_10,"Aldefun",-,"Thomas",L_Test3_10,"Hollengrhen",L_Test3_10;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_10:
+ mes "10. Which Kapra wears glasses?";
+ next;
+ menu "Deflute",L_Test3_11,"Tayelin",L_Test3_11,"Leilah",-,"Debril",L_Test3_11;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_11:
+ mes "11. How much SP does it cost to use 'Thunderstorm Lv7'?";
+ next;
+ menu "49",L_Test3_12,"59",-,"69",L_Test3_12,"74",L_Test3_12;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_12:
+ mes "12. If you have 50% of your SP left, how much damage will 'Energy Coat' block and how much SP will be consumed?";
+ next;
+ menu "24% blocked SP1.5% consumed",L_Test3_13,"24% blocked SP2% consumed",L_Test3_13,"18% blocked SP1.5% consumed",L_Test3_13,"18% blocked SP2% consumed",-;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_13:
+ mes "13. Which element cannot be used in bolt form by a Magician?";
+ next;
+ menu "Water",L_Test3_14,"Earth",-,"Fire",L_Test3_14,"Wind",L_Test3_14;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_14:
+ mes "14. When a thief has the skill 'Double Attack Lv7', what is the trigger probability and attack power multiplier?";
+ next;
+ menu "35% / 120%",L_Test3_15,"35% / 140%",-,"40% / 120%",L_Test3_15,"40% / 140%",L_Test3_15;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_15:
+ mes "15. Which of these isn't necessary to unlock the Priest skill 'Magnus Exorcism'?";
+ next;
+ menu "Divine Protection",-,"Heal",L_Test3_16,"Revive",L_Test3_16,"Aqua Benedicta",L_Test3_16;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_16:
+ mes "16. What is the defense power and supplemental ability of a Bunny Band?";
+ next;
+ menu "1 / LUK +2",L_Test3_17,"1 / LUK +5",L_Test3_17,"2 / LUK +2",-,"2 / LUK +5",L_Test3_17;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_17:
+ mes "17. Which class can't equip armor?";
+ next;
+ menu "Swordsman",L_Test3_18,"Merchant",L_Test3_18,"Thief",L_Test3_18,"Archer",-;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_18:
+ mes "18. Which item completely restores HP and SP?";
+ next;
+ menu "Royal Jelly",L_Test3_19,"Ig Drasil Seed",L_Test3_19,"Ig Drasil Fruit",-,"Master Fruit",L_Test3_19;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_19:
+ mes "19. What's the name of the king of Rune-Midgard?";
+ next;
+ menu "Trisdan III",L_Test3_20,"Tristan III",-,"Traisda III",L_Test3_20,"Trist III",L_Test3_20;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_20:
+ mes "20. Which god do Crusaders serve?";
+ next;
+ menu "Odin",-,"Loki",L_Menu2_3,"Tooru",L_Menu2_3,"Aragamsaree",L_Menu2_3;
+ set @sage_test2,@sage_test2+5;
+
+ L_Menu2_3:
+ mes "[Kreitos]";
+ mes "Are you finished?";
+ mes "Alright, then I'll grade the test.";
+ next;
+ mes "[Kreitos]";
+ mes "Hmmm...";
+ mes "Yes....";
+ next;
+ if (@sage_test2 >= 100) goto L_Menu2_5;
+ if (@sage_test2 < 80) goto L_Menu2_4;
+ mes "[Kreitos]";
+ mes "All done.";
+ mes "You scored " + @sage_test2 + " points.";
+ mes "Looking good.";
+ mes "You've scored highly enough to pass.";
+ next;
+ goto L_Menu2_6;
+ L_Menu2_4:
+ set sagecheck,sagecheck-1;
+ mes "[Kreitos]";
+ mes "All done.";
+ mes "You scored " + @sage_test2 + " points.";
+ mes "......";
+ mes "Sorry, that's not good enough.";
+ next;
+ mes "[Kreitos]";
+ mes "We exepect our students to have command of much information about the world.";
+ mes "Learn some more and come back.";
+ mes "You can take the test again then.";
+ close;
+ L_Menu2_5:
+ mes "[Kreitos]";
+ mes "All done.";
+ mes "You scored " + @sage_test2 + " points.";
+ mes "Amazing. You did wonderfully.";
+ mes "There is no doubt you'll make a great Sage.";
+ next;
+ L_Menu2_6:
+ set SAGE_Q,5;
+ mes "[Kreitos]";
+ mes "Alright.";
+ mes "You've completed the placement test.";
+ mes "Now you need to take the skill test from Professor Hermes.";
+ close;
+L_Menu3_1:
+ mes "[Kreitos]";
+ mes "Heh?";
+ mes "Do you love tests so much that you want to take the placement test again?";
+ next;
+ mes "[Kreitos]";
+ mes "Go see Professor Hermes and take the skill test.";
+ mes "Future Sages can't be slacking off.";
+ close;
+L_Menu3_2:
+ mes "[Kreitos]";
+ mes "I'm busy grading other students' exams at the moment.";
+ mes "If you need something, please see me later.";
+ close;
+L_Menu3_3:
+ mes "[Kreitos]";
+ mes "It's great that you finished your thesis, but I don't grade those.";
+ next;
+ mes "[Kreitos]";
+ mes "Show that to Headmaster Keiron.";
+ mes "He'll judge whether or not it's quality warrants your graduation.";
+ close;
+L_Menu3_4:
+ mes "[Kreitos]";
+ mes "You've graduated already?";
+ mes "Do you want to take more classes?";
+ next;
+ mes "[Kreitos]";
+ mes "I know it feels great to have graduated, but you've got to keep learning.";
+ mes "You might burn out if you become complacent and never venture out of the library once in a while.";
+ mes "Danger is exhilerating.";
+ next;
+ mes "[Kreitos]";
+ mes "Don't forget to keep notes about your journies.";
+ mes "They can come in handy when you want to teach others about a subject you've studied.";
+ close;
+}
+
+//==================================
+//Skill Test Room
+//==================================
+
+job_sage.gat,50,165,4 script Skill Test Coordinator::jobsage_wroom 700,{
+ mes "[Skill Test Coordinator]";
+ mes "Welcome to the Sage skill test.";
+ mes "Please go to the waiting area if you want to take the test.";
+ next;
+ mes "[Skill Test Coordinator]";
+ mes "Others are being tested at the moment.";
+ mes "When it's time for you to be tested, we'll call your name.";
+ next;
+ mes "[Skill Test Coordinator]";
+ mes "It takes around 5-10 minutes to test one person.";
+ close;
+OnInit:
+ waitingroom "Test Waiting Area",10,"jobsage_wroom::OnStart",1;
+ end;
+OnStart:
+ disablewaitingroomevent;
+ warpwaitingpc "job_sage.gat",118,99;
+ set $@jobsage_pid,$@warpwaitingpc[0];
+ if( attachrid($@jobsage_pid)==0 ) goto L_Error;
+ set $@jobsage_pname$,strcharinfo(0);
+ donpcevent "jobsage_1st::OnStart";
+ end;
+L_Error:
+ enablewaitingroomevent;
+ end;
+OnEnable:
+ enablewaitingroomevent;
+ end;
+}
+
+//======== Test Step 1
+job_sage.gat,1,1,1 script jobsage_1st -1,{
+ end;
+OnStart:
+ set $@jobsage_m,16;
+ monster "job_sage.gat",115,106,"Unit",1183,1,"jobsage_1st::OnKilled";
+ monster "job_sage.gat",120,102,"Unit",1183,1,"jobsage_1st::OnKilled";
+ monster "job_sage.gat",124,98,"Unit",1183,1,"jobsage_1st::OnKilled";
+ monster "job_sage.gat",120,93,"Unit",1183,1,"jobsage_1st::OnKilled";
+ monster "job_sage.gat",115,90,"Unit",1183,1,"jobsage_1st::OnKilled";
+ monster "job_sage.gat",111,93,"Unit",1183,1,"jobsage_1st::OnKilled";
+ monster "job_sage.gat",107,98,"Unit",1183,1,"jobsage_1st::OnKilled";
+ monster "job_sage.gat",111,102,"Unit",1183,1,"jobsage_1st::OnKilled";
+ monster "job_sage.gat",128,110,"Unit",1184,1,"jobsage_1st::OnKilled";
+ monster "job_sage.gat",124,106,"Unit",1184,1,"jobsage_1st::OnKilled";
+ monster "job_sage.gat",124,89,"Unit",1184,1,"jobsage_1st::OnKilled";
+ monster "job_sage.gat",128,85,"Unit",1184,1,"jobsage_1st::OnKilled";
+ monster "job_sage.gat",107,89,"Unit",1184,1,"jobsage_1st::OnKilled";
+ monster "job_sage.gat",103,85,"Unit",1184,1,"jobsage_1st::OnKilled";
+ monster "job_sage.gat",107,106,"Unit",1184,1,"jobsage_1st::OnKilled";
+ monster "job_sage.gat",103,110,"Unit",1184,1,"jobsage_1st::OnKilled";
+ initnpctimer;
+ end;
+OnReset:
+ killmonster "job_sage.gat","All";
+ end;
+OnKilled:
+ set $@jobsage_m,$@jobsage_m-1;
+ if( $@jobsage_m > 0 )goto L_NotWin;
+ if(getnpctimer(1,"jobsage_1st") < 60000 ) set sagecheck,sagecheck+1;
+ if((getnpctimer(1,"jobsage_1st") >= 120000 ) && (getnpctimer(1,"jobsage_1st") <= 170000 )) set sagecheck,sagecheck-1;
+ if(getnpctimer(1,"jobsage_1st") > 170000 ) set sagecheck,sagecheck-2;
+ stopnpctimer;
+ mapannounce "job_sage.gat","Examiner: " + $@jobsage_pname$ + " killed all the monsters!",8;
+ donpcevent "jobsage_2nd::OnStart";
+ L_NotWin:
+ end;
+OnTimer1000:
+ mapannounce "job_sage.gat","Examiner: The skill test begins now.",8;
+ end;
+OnTimer2500:
+ mapannounce "job_sage.gat","Examiner: The time limit for this portion of the test is 3 minutes.",8;
+ end;
+OnTimer4000:
+ mapannounce "job_sage.gat","Examiner: You must kill all the monsters within that time period.",8;
+ end;
+OnTimer30000:
+ mapannounce "job_sage.gat","Examiner: 2 minutes, 30 seconds remaining.",8;
+ end;
+OnTimer60000:
+ mapannounce "job_sage.gat","Examiner: 2 minutes remaining.",8;
+ end;
+OnTimer90000:
+ mapannounce "job_sage.gat","Examiner: 1 minute, 30 seconds remaining.",8;
+ end;
+OnTimer120000:
+ mapannounce "job_sage.gat","Examiner: 1 minute remaining.",8;
+ end;
+OnTimer150000:
+ mapannounce "job_sage.gat","Examiner: 30 seconds remaining.",8;
+ end;
+OnTimer170000:
+ mapannounce "job_sage.gat","Examiner: 10 seconds remaining.",8;
+ end;
+OnTimer180000:
+ donpcevent "jobsage_1st::OnReset";
+ mapannounce "job_sage.gat","Examiner: Time has expired.",8;
+ end;
+OnTimer181500:
+ mapannounce "job_sage.gat","Examiner:" + $@jobsage_pname$ + "failed the test.",8;
+ areawarp "job_sage.gat",100,82,131,113,"yuno.gat",324,258;
+ end;
+OnTimer183000:
+ mapannounce "job_sage.gat","Next candidate, please step forward.",8;
+ end;
+OnTimer184000:
+ donpcevent "jobsage_wroom::OnEnable";
+ stopnpctimer;
+ end;
+}
+
+//======== Test Step 2
+job_sage.gat,1,1,1 script jobsage_2nd -1,{
+ end;
+OnStart:
+ donpcevent "jobsage_2nd::OnReset";
+ set $@jobsage_m,24;
+ monster "job_sage.gat",120,102,"GeographyInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",120,102,"StatisticsInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",120,102,"MeteorologyInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",120,102,"AstronomyInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",120,102,"LinguisticsInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",120,102,"CityLifeInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",124,98,"ForestryInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",124,98,"HealthInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",124,98,"PsychologyInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",120,93,"AnthropologyInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",120,93,"BiologyInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",120,93,"EthicsInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",111,93,"ArchitectureInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",111,93,"PlasticsInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",111,93,"NutritionInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",111,93,"FoodInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",111,93,"ManagementInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",111,93,"SociologyInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",107,98,"EconomicsInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",107,98,"MagicInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",107,98,"PoliSciInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",111,102,"MathInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",111,102,"HistoryInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",111,102,"PhysicsInfo",1063,1,"jobsage_2nd::OnKilled";
+ initnpctimer;
+ end;
+OnReset:
+ killmonster "job_sage.gat","All";
+ end;
+OnKilled:
+ set $@jobsage_m,$@jobsage_m-1;
+ if( $@jobsage_m > 0 )goto L_NotWin;
+ stopnpctimer;
+ if(getnpctimer(1,"jobsage_2nd") < 60000 ) set sagecheck,sagecheck+1;
+ if((getnpctimer(1,"jobsage_2nd") >= 120000 ) && (getnpctimer(1,"jobsage_2nd") <= 170000 )) set sagecheck,sagecheck-1;
+ if(getnpctimer(1,"jobsage_2nd") > 170000 ) set sagecheck,sagecheck-2;
+ mapannounce "job_sage.gat","Examiner: " + $@jobsage_pname$ + " killed all the monsters!",8;
+ donpcevent "jobsage_3rd::OnStart";
+ L_NotWin:
+ end;
+OnTimer1500:
+ mapannounce "job_sage.gat","Examiner: The time limit for this portion of the test is 3 minutes.",8;
+ end;
+OnTimer3000:
+ mapannounce "job_sage.gat","Examiner: You must kill all the monsters within that time period.",8;
+ end;
+OnTimer30000:
+ mapannounce "job_sage.gat","Examiner: 2 minutes, 30 seconds remaining.",8;
+ end;
+OnTimer60000:
+ mapannounce "job_sage.gat","Examiner: 2 minutes remaining.",8;
+ end;
+OnTimer90000:
+ mapannounce "job_sage.gat","Examiner: 1 minute, 30 seconds remaining.",8;
+ end;
+OnTimer120000:
+ mapannounce "job_sage.gat","Examiner: 1 minute remaining.",8;
+ end;
+OnTimer150000:
+ mapannounce "job_sage.gat","Examiner: 30 seconds remaining.",8;
+ end;
+OnTimer170000:
+ mapannounce "job_sage.gat","Examiner: 10 seconds remaining.",8;
+ end;
+OnTimer180000:
+ donpcevent "jobsage_2nd::OnReset";
+ mapannounce "job_sage.gat","Examiner: Time has expired.",8;
+ end;
+OnTimer181500:
+ mapannounce "job_sage.gat","Examiner: " + $@jobsage_pname$ + "has failed the test.",8;
+ areawarp "job_sage.gat",100,82,131,113,"yuno.gat",324,258;
+ end;
+OnTimer183000:
+ mapannounce "job_sage.gat","Next candidate, please step forward.",8;
+ end;
+OnTimer184000:
+ donpcevent "jobsage_wroom::OnEnable";
+ stopnpctimer;
+ end;
+}
+
+
+//======== Test Step 3
+job_sage.gat,1,1,1 script jobsage_3rd -1,{
+ end;
+OnStart:
+ donpcevent "jobsage_3rd::OnReset";
+ set $@jobsage_m,1;
+ monster "job_sage.gat",116,98,"Bachelor",1179,1,"jobsage_3rd::OnKilled";
+ monster "job_sage.gat",124,106,"Tardy",1185,1;
+ monster "job_sage.gat",124,89,"Loaner",1185,1;
+ monster "job_sage.gat",107,89,"Cheater",1185,1;
+ monster "job_sage.gat",107,106,"Absentee",1185,1;
+ initnpctimer;
+ end;
+OnReset:
+ end;
+OnKilled:
+ set $@jobsage_m,$@jobsage_m-1;
+ if( $@jobsage_m > 0 )goto L_NotWin;
+ stopnpctimer;
+ killmonster "job_sage.gat","All";
+ set SAGE_Q,7;
+ if(getnpctimer(1,"jobsage_3rd") < 20000 ) set sagecheck,sagecheck+1;
+ if((getnpctimer(1,"jobsage_3rd") >= 30000 ) && (getnpctimer(1,"jobsage_2nd") <= 50000 )) set sagecheck,sagecheck-1;
+ if(getnpctimer(1,"jobsage_3rd") > 50000 ) set sagecheck,sagecheck-2;
+ mapannounce "job_sage.gat","Examiner: Congratulations. " + $@jobsage_pname$ + "passed the test!",8;
+ donpcevent "jobsage_success::OnSuccess";
+ L_NotWin:
+ end;
+OnTimer1500:
+ mapannounce "job_sage.gat","Examiner: 1 minute remaining.",8;
+ end;
+OnTimer30000:
+ mapannounce "job_sage.gat","Examiner: 30 seconds remaining.",8;
+ end;
+OnTimer50000:
+ mapannounce "job_sage.gat","Examiner: 10 seconds remaining.",8;
+ end;
+OnTimer60000:
+ donpcevent "jobsage_3rd::OnReset";
+ mapannounce "job_sage.gat","Examiner: Time has expired.",8;
+ end;
+OnTimer61500:
+ mapannounce "job_sage.gat","Examiner: " + $@jobsage_pname$ + "failed the test.",8;
+ areawarp "job_sage.gat",100,82,131,113,"yuno.gat",324,258;
+ end;
+OnTimer63000:
+ mapannounce "job_sage.gat","Examiner: This concludes the test. Next candidate, please step forward.",8;
+ end;
+OnTimer64000:
+ donpcevent "jobsage_wroom::OnEnable";
+ stopnpctimer;
+ end;
+}
+
+//======== Successful
+job_sage.gat,1,7,1 script jobsage_success 66,{
+OnSuccess:
+ killmonster "job_sage.gat","All";
+ initnpctimer;
+ end;
+OnTimer3000:
+ mapannounce "job_sage.gat","Examiner: Please allow me to guide you out.",8;
+ end;
+OnTimer6000:
+ mapannounce "job_sage.gat","Next candidate, please step forward.",8;
+ areawarp "job_sage.gat",100,82,131,113,"yuno_in03.gat",163,180;
+ end;
+OnTimer7000:
+ donpcevent "jobsage_wroom::OnEnable";
+ stopnpctimer;
+ end;
+}
+
+//==============================================================================
+// mapflag
+//==============================================================================
+job_sage.gat mapflag nomemo
+job_sage.gat mapflag noteleport
+job_sage.gat mapflag nosave SavePoint
+job_sage.gat mapflag nopenalty
+job_sage.gat mapflag nobranch
+job_sage.gat mapflag noexp
+job_sage.gat mapflag noloot
diff --git a/npc/jobs/2-2a/Champion.txt b/npc/jobs/2-2a/Champion.txt new file mode 100644 index 000000000..68e5cda11 --- /dev/null +++ b/npc/jobs/2-2a/Champion.txt @@ -0,0 +1,19 @@ +//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
+
+// -== Champion ==-
+valkyrie.gat,53,42,4 script Champion 52,{
+ callfunc "F_Rebirth",28,"Acolyte High",39,"Champion",156,0,0,0;
+}
diff --git a/npc/jobs/2-2a/Clown.txt b/npc/jobs/2-2a/Clown.txt new file mode 100644 index 000000000..6cdbb3a4b --- /dev/null +++ b/npc/jobs/2-2a/Clown.txt @@ -0,0 +1,19 @@ +//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
+
+// -== Clown ==-
+valkyrie.gat,53,54,4z script Clown 741,{
+ callfunc "F_Rebirth",27,"High Archer",43,"Clown",147,148,0,0;
+}
diff --git a/npc/jobs/2-2a/Creator.txt b/npc/jobs/2-2a/Creator.txt new file mode 100644 index 000000000..d8c208d43 --- /dev/null +++ b/npc/jobs/2-2a/Creator.txt @@ -0,0 +1,19 @@ +//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
+
+// -== Creator ==-
+valkyrie.gat,53,50,6 script Creator 122,{
+ callfunc "F_Rebirth",29,"Merchant High",42,"Creator",153,154,155,0;
+}
diff --git a/npc/jobs/2-2a/Gypsy.txt b/npc/jobs/2-2a/Gypsy.txt new file mode 100644 index 000000000..64cbc7202 --- /dev/null +++ b/npc/jobs/2-2a/Gypsy.txt @@ -0,0 +1,19 @@ +//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
+
+// -== Gypsy ==-
+valkyrie.gat,53,56,4 script Gypsy 101,{
+ callfunc "F_Rebirth",27,"High Archer",44,"Gypsy",147,148,0,0;
+}
diff --git a/npc/jobs/2-2a/Paladin.txt b/npc/jobs/2-2a/Paladin.txt new file mode 100644 index 000000000..d796f904f --- /dev/null +++ b/npc/jobs/2-2a/Paladin.txt @@ -0,0 +1,19 @@ +//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
+
+// -== Paladin ==-
+valkyrie.gat,53,39,4 script Paladin 752,{
+ callfunc "F_Rebirth",25,"Swordman High",38,"Paladin",144,145,146,0;
+}
diff --git a/npc/jobs/2-2a/Professor.txt b/npc/jobs/2-2a/Professor.txt new file mode 100644 index 000000000..e68ca3672 --- /dev/null +++ b/npc/jobs/2-2a/Professor.txt @@ -0,0 +1,19 @@ +//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
+
+// -== Professor ==-
+valkyrie.gat,53,47,4 script Professor 743,{
+ callfunc "F_Rebirth",26,"High Mage",40,"Professor",157,0,0,0;
+}
diff --git a/npc/jobs/2-2a/Stalker.txt b/npc/jobs/2-2a/Stalker.txt new file mode 100644 index 000000000..490495561 --- /dev/null +++ b/npc/jobs/2-2a/Stalker.txt @@ -0,0 +1,19 @@ +//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
+
+// -== Stalker ==-
+valkyrie.gat,53,58,4 script Stalker 747,{
+ callfunc "F_Rebirth",30,"Thief High",41,"Stalker",149,150,151,152;
+}
diff --git a/npc/jobs/2-2e/SoulLinker.txt b/npc/jobs/2-2e/SoulLinker.txt new file mode 100644 index 000000000..7de7d4256 --- /dev/null +++ b/npc/jobs/2-2e/SoulLinker.txt @@ -0,0 +1,56 @@ +//===== eAthena Script =======================================
+//= Soul Linker Job Quest
+//===== By: ==================================================
+//= Lupus
+//===== Current Version: =====================================
+//= 0.1a
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= 0.1 Now it's just a temp job quest NPC [Lupus]
+//= 0.1a Small fix in warp [Komurka]
+//============================================================
+
+
+job_star.gat,99,13,0 warp soultopay 1,1,payon.gat,151,85
+
+job_star.gat,99,33,2 script Soul Linker 764,{
+ mes "[Soul Linker]";
+ if(Class==Job_Taekwon) goto L_Check;
+ if(Class==Job_Soul_Linker){
+ mes "Go forth and help people...";
+ close;
+ }
+ mes "I speak to Taekwons only...";
+ emotion 1;
+ close;
+
+L_Check:
+ mes "Hello!";
+ mes "Are you ready to help your brothers and sisters? Do you want to be a Soul Linker?";
+ next;
+ menu "I want to be a Soul Linker",-,"Not yet.",M_NOTHING;
+
+ mes "[Soul Linker]";
+ if(JobLevel<40 || SkillPoint) {
+ mes "I'm sorry, my friend. You need 40 Job Level and no skill points left.";
+ close;
+ }
+ if(Weight) {
+ mes "Bring me the most valuable thing you have. The only thing!";
+ emotion e_sry;
+ close;
+ }
+
+ jobchange Job_Soul_Linker;
+ callfunc "F_ClearJobVar";
+ mes "Congratulations!";
+ close;
+
+M_NOTHING:
+ mes "[Soul Linker]";
+ mes "I'll wait here. We need more Soul Linkers to protect our brothers and sisters.";
+ close;
+}
diff --git a/npc/jobs/Jfunc/Jfunc1-1.txt b/npc/jobs/Jfunc/Jfunc1-1.txt new file mode 100644 index 000000000..4628aedd2 --- /dev/null +++ b/npc/jobs/Jfunc/Jfunc1-1.txt @@ -0,0 +1,248 @@ +//===== eAthena Script =======================================
+//= Global Job Function
+//===== By: ==================================================
+//= massdriller
+//===== Current Version: =====================================
+//= 0.2
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Optimised scripts by moving all their checkers here.
+//===== Additional Comments: =================================
+//= For 1-1 Jobs
+//= Simplified Job Checks [Silentdragon]
+//============================================================
+
+//Acolyte Check
+
+function script Aco_check {
+ if(BaseJob == Job_Acolyte) goto JobAco;
+ if(BaseJob != Job_Novice) goto NotNov;
+ if(JobLevel < 10) goto JobLess10;
+ return;
+
+ JobAco:
+ mes "Are you feeling okay?....";
+ emotion 20;
+ next;
+ mes "[Father Mareusis]";
+ mes "...your attire...";
+ next;
+ mes "[Father Mareusis]";
+ mes "You're already are an Acolyte.....";
+ next;
+ mes "[Father Mareusis]";
+ mes "You are not joking with me, are you? Hoho!!..kids these days.";
+ emotion 18;
+ close;
+
+
+ NotNov:
+ mes "I am sorry child. You have already devoted your life to another profession. I am afraid that you will no longer be able to devote it to God.";
+ close;
+
+
+ JobLess10:
+ mes "My child you do not yet possess the necessary skills to serve the lord.";
+ mes "Please come back when your faith in God has become stronger";
+ next;
+ mes "[Father Mareusis]";
+ mes "May God bless you.";
+ close;
+
+}
+
+//Archer Check
+
+function script Arc_check {
+
+ if(BaseJob == Job_Archer) goto sL_Archer;
+ if(BaseJob != Job_Novice) goto sL_Other;
+ mes "You have made an execellent job choice.";
+ mes "Please submit your resume so that I can check your qualifications.";
+ next;
+ mes "(You hand over your resume)";
+ next;
+ mes "[Archer Guildsman]";
+ if(JobLevel < 10) goto sL_LowLvl;
+ set job_archer_q,1;
+ return;
+
+ sL_Archer:
+ mes "Your free spirited nature tells me that you're already an archer....that and the bow and arrow in your hands...Haha";
+ emotion 18;
+ close;
+
+
+ sL_Other:
+ mes "I'm sorry but you cannot leave your current job to become an Archer...though I can understand why you would want to do so.";
+ close;
+
+
+ sL_LowLvl:
+ mes "It seems that you are not qualified to become an Archer yet. Please take a look at the job requirments once more.";
+ close;
+
+
+}
+
+//mage Check
+function script Mag_check {
+
+ if(BaseJob == 2) goto L_JobMage;
+ if(BaseJob != 0) goto L_JobOther;
+ mes "Okays, just fill out this application form pleeassse.";
+ next;
+ mes "(you fill out the form and hand it back to her)";
+ next;
+ mes "[Expert Mage]";
+ if(JobLevel < 10) goto L_JobLvl;
+ mes "Oooh~ You have very nice hand writing ^0000dd"+ strcharinfo(0) +"^000000, and more importantly you have met the necessary prerequisites to become a mage.";
+ next;
+ mes "[Expert Mage]";
+ return;
+
+ L_JobMage:
+ mes "You should really get yourself a mirror. Then you could see that you are ^ff0000already a Mage^000000.";
+ mes "It may even help you fix up your hair do.";
+ emotion 4;
+ close;
+
+
+ L_JobOther:
+ mes "Oh...I'm sorry. I know they say 2 is always better than 1, but when it comes to Jobs, it's a No No.";
+ mes "Try to stay positive. Your current job can't be that bad.";
+ emotion 22;
+ close;
+
+
+ L_JobLvl:
+ mes "Oh...I'm sorry. You need ^ff0000Job level 9^000000 and all of the ^0000ffBasic Skills^000000 before you can become a Mage.";
+ mes "Go out and kill some more Fabres okays.";
+ emotion 22;
+ close;
+
+
+}
+
+//Merchant Check
+function script Mer_check {
+
+ if(BaseJob==5) goto L_JobMer;
+ if(BaseJob !=0) goto L_JobOther;
+ if(JobLevel < 10) goto L_JobLvl;
+ mes "[Chief Mahnsoo]";
+ mes "A Merchant you say? Well...";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "Alright. First fill out an application form and submit 1000 Zeny for the Memebership Fee.";
+ mes "If you don't have enough money right now, you can pay 500 Zeny first and then pay the rest later after you've passed the Merchant License Test.";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "How does that sound? Are you still interested?";
+ return;
+
+ L_JobMer:
+ mes "[Chief Mahnsoo]";
+ mes "Huh? What did you say? You noodle head! Take a good look at yourself. Your ALREADY A MERCHANT! Good lord!";
+ emotion 1;
+ emotion 0;
+ close;
+
+
+ L_JobOther:
+ mes "[Chief Mahnsoo]";
+ mes "We Merchants really don't like people who work during the day, and then go out to crazy bars at night. When it comes to money, for them it's 'easy come easy go.";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "Well.. I talked a little too long, I guess... but since you already have an occupation, we don't need you.";
+ close;
+
+
+ L_JobLvl:
+ mes "[Chief Mahnsoo]";
+ mes "I'm sorry but you have to have a Novice Job level of 9 with all 9 of the basic Skills.";
+ close;
+
+}
+
+//Swordsman Check
+function script Swo_check {
+
+ if(BaseJob == Job_Swordman) goto O_1b;
+ if(BaseJob != Job_Novice) goto O_1c;
+ mes "So you wish to become a Swordsman aye? A very good choice!! Fill out this application form first.";
+ next;
+ mes "..(you fill out the form and hand it to him)..";
+ next;
+ mes "[Master Swordsman]";
+ if(JobLevel < 10) goto O_1d;
+ return;
+
+ O_1b:
+ mes "Muhahaha! You must be kidding me! You're already a swordsman.";
+ emotion 18;
+ close;
+
+ O_1c:
+ mes "Im sorry but you can not hold more than one job at a time and therefore I must refuse your request.";
+ next;
+ mes "[Master Swordsman]";
+ mes "Try picking up a hobby to make use of your spare time. Muhahahahah!!";
+ emotion 18;
+ close;
+
+ O_1d:
+ mes "A hem...., you have yet to learn all of the 'Basic Skills' needed to become a Swordsman. Please check the requirements again.";
+ close;
+
+}
+//Thief Check
+function script Thi_check {
+
+ if(BaseJob == Job_Novice) return;
+ if(BaseJob == Job_Thief) goto L_JobThief;
+ mes "[Thief Guide]";
+ if(BaseClass == Job_Swordman) goto L_Swordman;
+ if(BaseClass == Job_Mage) goto L_Mage;
+ if(BaseClass == Job_Archer) goto L_Archer;
+ if(BaseClass == Job_Acolyte) goto L_Acolyte;
+ if(BaseClass == Job_Merchant) goto L_Merchant;
+
+ mes "You already have a job. Stop bothering me and go help out some newbies or something.";
+ emotion 21;
+ close;
+
+ L_Acolyte:
+ mes "What the heck...? Ohhhhhh~GOD... PORING's worshipper, Acolyte...";
+ mes "So why aren't you in church praying, instead of wandering about here, huh?";
+ close;
+
+ L_Archer:
+ mes "What the heck...? Hahahaha~are you a 'Kill Stealing' Archer...?";
+ emotion 18;
+ close;
+
+ L_Mage:
+ mes "What the heck...? Ehhh??? A Circus Sideshow? Make a fire without a Matchstick, will ya?";
+ emotion 19;
+ close;
+
+ L_Merchant:
+ mes "What the heck...? Eeeeeek~Merchant Scammer here...!!!! I am gonna report you to the GM!!!";
+ emotion 0;
+ close;
+
+ L_Swordman:
+ mes "What the heck...? Meh!~Here's another 'Bash' head. Do me a favor... why don't you go 'BASH', yourself in the head. Ha!";
+ emotion 29;
+ close;
+
+L_JobThief:
+ mes "[Thief Guide]";
+ mes "You're already a thief..... What do you want from me... go away!";
+ emotion 4;
+ close;
+
+}
+
diff --git a/npc/jobs/Jfunc/Jfunc2-1.txt b/npc/jobs/Jfunc/Jfunc2-1.txt new file mode 100644 index 000000000..1b62d6494 --- /dev/null +++ b/npc/jobs/Jfunc/Jfunc2-1.txt @@ -0,0 +1,385 @@ +//===== eAthena Script =======================================
+//= Global Job Function
+//===== By: ==================================================
+//= massdriller
+//===== Current Version: =====================================
+//= 0.2
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Optimised scripts by moving all their checkers here.
+//===== Additional Comments: =================================
+//= For 2-1 Jobs
+//= 0.2 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon]
+//============================================================
+
+//Assasin Check
+function script Ass_check {
+
+ if(BaseJob==Job_Assassin) goto L_JobSin;
+ mes "[Angry looking man]";
+ if(baseClass == Job_Swordman) goto L_JobSwo;
+ if(baseClass == Job_Mage) goto L_JobMag;
+ if(baseClass == Job_Archer) goto L_JobArch;
+ if(baseClass == Job_Acolyte) goto L_JobAco;
+ if(baseClass == Job_Merchant) goto L_JobMerc;
+ if(baseClass == Job_Thief) goto L_JobOther;
+
+L_JobNov:
+ mes "....HEY Novice!!! GET out of here now!! I won't be held responsible if anything bad happens to you.......";
+ emotion 0;
+ close;
+L_JobSwo:
+ mes "....What are you doing here???";
+ emotion 1;
+ next;
+ mes "[Angry looking man]";
+ mes "Doing what you're ordered to do eh?........ You guys are nothing more than dogs that listen to their owners.............";
+ emotion 32;
+ close;
+L_JobMag:
+ mes "...What's a mage like you doing here? You should be paying more attention to your training.....";
+ emotion 20;
+ close;
+L_JobArch:
+ mes "Uh.... you're one of those people with bows right? Sorry but there are no cute pets here for u to kill..........";
+ emotion 4;
+ next;
+ mes "[Angry looking man]";
+ mes "Wait...... You're not here to create trouble eh!!? ....LEAVE AT ONCE!!";
+ emotion 0;
+ close;
+L_JobAco:
+ mes "...Oh God's little helper..... What are you doing down in a dreadful place like this?";
+ mes "Trust me, you're not going to find any salvation here........ why don't you just run along ok?........";
+ emotion 20;
+ close;
+L_JobMerc:
+ mes ".... What the??? Do you have any idea where you are??...... GREEDY SCAMMERS like you are not welcome here!!";
+ emotion 29;
+ close;
+L_JobOther:
+ mes ".... Hmm.... although you're not an Assassin or Thief... I have to say I like your sense of style.";
+ close;
+L_JobSin:
+ mes "[Assassin Huey]";
+ mes "Oohh, its you. You're...." + strcharinfo(0) + " right?";
+ next;
+ mes "[Assassin Huey]";
+ mes "Too bad there's nothing to do right now. You should go train more. Bye.";
+ close;
+
+}
+
+//Blacksmith Check
+function script Bla_check {
+
+ if (BaseJob == 0) goto L_Nov;
+ if (baseClass == Job_Swordman) goto L_Sword;
+ if (baseClass == Job_Acolyte) goto L_Aco;
+ if (baseClass == Job_Thief) goto L_Thief;
+ if (baseClass == Job_Mage) goto L_Wiz;
+ if (baseClass == Job_Archer) goto L_Arc;
+ if (BaseJob == 10) goto L_Black;
+ mes "Only Merchants can become Blacksmiths.";
+ close;
+
+L_Nov:
+ if(sex==0) mes "...Hello little lady! If you wish to be a blacksmith, you have to be a merchant first!";
+ if(sex==1) mes "Hmmm, you look like you wish to be a blacksmith! Sorry, but only merchants can be blacksmiths!.";
+ close;
+L_Sword:
+ mes "Hello! Come here to order a sword? Sorry, but I have some paperwork to do, so I can't forge anything now.";
+ close;
+L_Arc:
+ mes "Hmmm, sorry, but we're not hiring anyone that isn't a merchent.";
+ close;
+L_Wiz:
+ mes "Interested in training? Our guild cannot assist magic users is such matters.";
+ close;
+L_Aco:
+ mes "Oh! A Holy one...! Do me a favor and bless the sword I'm crafting!";
+ close;
+L_Thief:
+ mes "Sorry, but this is more of a office, so there's nothing worth money. We CAN do knife forges though.";
+ close;
+L_Black:
+ mes "Hey! Been a while, running a errand for Christopher? I feel like my hammer is getting rusty after all this office work.";
+ close;
+
+}
+
+//Hunter Check
+function script Hun_check {
+
+ if(BaseJob==Job_Hunter) goto L_Hunt;
+ if(baseClass == Job_Archer) goto L_Other;
+ if(baseClass == Job_Swordman) goto L_Swo;
+ if(baseClass == Job_Mage) goto L_Mage;
+ if(baseClass == Job_Thief) goto L_Thf;
+ if(baseClass == Job_Acolyte) goto L_Aco;
+ if(baseClass == Job_Merchant) goto L_Merc;
+
+L_Nov:
+ mes "[Hunter Sharon]";
+ mes "What's a novice like you doing here? Leave, we have nothing for you.";
+ emotion 1;
+ close;
+L_Swo:
+ mes "[Hunter Sharon]";
+ mes "A follower of the way of the blade! We have nothing for you here so please leave.";
+ close;
+L_Mage:
+ mes "[Hunter Sharon]";
+ mes "Hello mage type person. If you have no business here, please leave,";
+ close;
+L_Aco:
+ mes "[Hunter Sharon]";
+ mes "Good day, religious zealot! It's nice to meet you and all, but you have no buisiness here.";
+ close;
+L_Merc:
+ mes "[Hunter Sharon]";
+ mes "Hey, how's buisiness? Perhaps if you want to sell something, go back to town.";
+ close;
+L_Thf:
+ mes "[Hunter Sharon]";
+ mes "Eeep! There's nothing to steal here!! Leave us alone..... go rob an old lady or something......";
+ emotion 23;
+ close;
+L_Hunt:
+ mes "[Hunter Sharon]";
+ mes "What up! "+strcharinfo(0)+" Why did you come back? Falcon run away or something? Te hehe.";
+ emotion 18;
+ next;
+ mes "[Hunter Sharon]";
+ mes "I hope you didn't think you could get free stuff from us just because your part of our guild now......";
+ close;
+L_Other:
+ mes "[Hunter Sharon]";
+ mes "What are YOU doing here? Did you come to do a little song and dance... ke.. keke....kekekeHahahahhaha!!!";
+ emotion 18;
+ close;
+
+}
+
+//Knight Check
+
+function script Kni_check {
+
+ if(BaseJob != Job_Swordman) goto L_NotSwo;
+ mes "Well then, first fill out this application form....";
+ next;
+ mes "...(you fill out the form and hand it back)...";
+ next;
+ mes "[Chivalry Captain Herman]";
+ if(JobLevel < 40) goto L_NotLvl;
+ mes "Impressive. You have the job qualifications to become a knight..., however you will need much more than that to actually become one.";
+ next;
+ return;
+
+ L_NotLvl:
+ mes "Hmm...it looks like you have not reached Job Level 40 yet. Please come back when you do. I shall be waiting here.";
+ close;
+ L_NotSwo:
+ if(BaseJob == Job_Knight) goto sL_JobKni;
+ if(BaseJob == Job_Novice) goto sL_JobNov;
+
+ sL_JobOther:
+ mes "I'm sorry but only Swordsmen can become Knights.";
+ close;
+
+ sL_JobKni:
+ mes "...(sighs)...what are you doing here WASTING my time?? GO FORTH!!, and continue protecting Rune Midgard my young Knight.";
+ emotion 32;
+ close;
+
+ sL_JobNov:
+ mes "Hahahaha!! You have no job experience what so ever and yet you stumble in here asking to be a knight. Hahahaha!!";
+ emotion 18;
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "You must first become a Swordsman before even thinking about becoming a Knight. Now scurry along little novice. Hahahahaha!!!";
+ close;
+
+
+}
+
+//Priest Check
+
+function script Pri_check {
+
+ if (BaseJob == Job_Novice) goto L_Novice;
+ if (BaseJob == Job_Priest) goto L_Priest;
+ mes "May God bless you my child.";
+ next;
+ mes "[Father Thomas]";
+ mes "Please feel free to rest, the church is the safest place in this world.";
+ next;
+ mes "[Father Thomas]";
+ mes "I hope God will bless you.";
+ return;
+
+L_Novice:
+ mes "May God bless you, child. This is the Prontera Church. What are you here for?";
+ next;
+ menu "I want to become an Acolyte.",M_0a, "I want to become a ^5533FFPriest^000000.",M_0b, "I'm just walking around.",M_0End;
+
+ M_0a:
+ mes "[Father Thomas]";
+ mes "Haha.. so you want to become an Acolyte eh? To apply to become an Acolyte, please go to the room opposite of here.";
+ close;
+ M_0b:
+ mes "[Father Thomas]";
+ mes "Haha...in order to become a priest you must first become an Acolyte. To become an Acolyte, go to the room opposite of here.";
+ close;
+ M_0End:
+ mes "[Father Thomas]";
+ mes "Please feel free to rest here. The church is a sanctuary for all those, who seek to escape the outside world.";
+ next;
+ mes "[Father Thomas]";
+ mes "May God be with you in your thoughts and prayers.";
+ close;
+
+L_Priest:
+ mes "God bless you, child. You are here again because you listened to God's orders.";
+ next;
+ mes "[Father Thomas]";
+ mes "I don't know if God's sons and daughters are going on the path of light or the path of darkness... I can only pray for the best.";
+ next;
+ mes "[Father Thomas]";
+ mes "So why are you here today?";
+ next;
+ menu "I just wanted to see how you were.",M_1a, "I'm here to help the Acolytes.",M_1b, "Life is really hard... I was wondering if you could help.",M_1End;
+
+ M_1a:
+ mes "[Father Thomas]";
+ mes "Oh, well I'm fine thank you. Please send my regards to all of the other Priests, and Priestess.";
+ next;
+ mes "[Father Thomas]";
+ mes "We, the ones who follow the devine path, are here for one reason.... to obey Gods orders.";
+ mes "If you come across anyone who needs help, please remember to assist them in any way you can...";
+ close;
+
+ M_1b:
+ mes "[Father Thomas]";
+ mes "Oh...thats a great idea! Since you're a priest, you can't forget that you have to help the Acolytes when they need it.";
+ emotion 5;
+ next;
+ mes "[Father Thomas]";
+ mes "Even so, you must be carefull not to do everyting for them. It is important that they gain their own experiences through training ";
+ next;
+ mes "[Father Thomas]";
+ mes "In order to go in and help you'll need a ^5533FFROSARY^000000.";
+ mes "There will be 3 trials for the Acolyte to face, but in only 2 of them will your assistance be needed.";
+ next;
+ mes "[Father Thomas]";
+ mes "Are you prepared to help?";
+ next;
+ menu "Yes, i will help them with all my might.",sM_1a, "I will come back later.",sM_1End;
+
+ sM_1a:
+ if (countitem(2608) < 1) goto sL_NoRosary;
+ mes "[Father Thomas]";
+ mes "Very well then. I will send you to an Acolyte in just a moment.";
+ next;
+ mes "[Father Thomas]";
+ mes "I hope you will also take this opportunity to teach them what it means to be a good Priest.";
+ next;
+ if((getareausers("job_prist.gat", 8, 34, 39,109)) == 1) warp "job_prist.gat", 24, 44;
+ if((getareausers("job_prist.gat", 160, 14, 175, 178)) == 1) warp "job_prist.gat", 98, 40;
+ if((getareausers("job_prist.gat", 90, 34, 105,105)) == 1) warp "job_prist.gat", 168, 17;
+ mes "[Father Thomas]";
+ mes "Hmm........ wait a minute..... let me check my list.... Either no one is taking the test right now, or another Priest is already helping out.";
+ mes "In any case please check with me again later.";
+ close;
+
+ sL_NoRosary:
+ mes "[Father Thomas]";
+ mes "Hmm... it doesn't look like you have a ^5533FFROSARY^000000 with you.";
+ next;
+ mes "[Father Thomas]";
+ mes "If you want to help the Acolytes, you must first get a ^5533FFROSARY^000000.";
+ mes "Please come back when you have one.";
+ close;
+ sM_1End:
+ mes "[Father Thomas]";
+ mes "Oh, alright. Just remember to bring a ^5533FFFROSARY^000000 when you come back.";
+ close;
+
+ M_1End:
+ mes "[Father Thomas]";
+ mes "Keep up the good work. I will ask God to ease your pain.";
+ next;
+ mes "[Father Thomas]";
+ mes "God, one of your children is suffering. Please use your powers, to heal the wounds on this battered body.....";
+ next;
+ mes "[Father Thomas]";
+ mes "Please look after us, so that under any condition we will be able to think clearly and maintain our faith";
+ percentheal 100,100;
+ next;
+ mes "[Father Thomas]";
+ mes "You should be feeling better now. Please stay on the path to rightousness and may God bless you.";
+ close;
+
+}
+
+//Wizard Checker 1
+
+function script Wiz1_check {
+
+ if(baseClass == Job_Mage) goto L_Magic;
+ if(baseClass == Job_Acolyte) goto L_Holy;
+L_Other:
+ mes "[Dog]";
+ mes "Sheesh....... Why would someone who can't even cast a single spell come all the way up here???";
+ next;
+ mes "[Dog]";
+ mes "If you're that bored, do the world a favor and climb to the top of this building from the outside, then do some acrobatics....";
+ emotion 32;
+ next;
+ mes "[Dog]";
+ mes "~WOOF~ Get lost! I don't have time for people like you!!";
+ emotion 27;
+ close;
+L_Holy:
+ mes "[Dog]";
+ mes "Eeek! What's a holy type person doing up here? I thought you people didn't like magic....";
+ mes "You religious types are always calling it the 'dark arts'......... ooooh scary!!!...... ~grrr!~WOOF!~";
+ close;
+L_Magic:
+ mes "[Dog]";
+ mes "Ah! High level magic users, welcome. It's always nice to see experienced magic users around here.";
+ mes "Actually it's nice to see them anywhere! ~Woof!~";
+ close;
+
+}
+
+function script Wiz2_check {
+
+ if(BaseJob == Job_Wizard) goto L_Wizard;
+ if(BaseJob == Job_Novice) goto L_Novice;
+
+L_Other:
+ mes "Hmm? What brings you all the way up here? If you have nothing to do here, please leave.";
+ mes "This place is for wizards only. =P";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Try not to fall as you go back down....";
+ close;
+L_Novice:
+ mes "Awwww, a little novice! How cute! This place is for Wizards only though.";
+ emotion 14;
+ next;
+ mes "[Catherine Medichi]";
+ mes "If you're interested in magic, the ^0000FFMagician's Guild^000000 is the place for you.";
+ close;
+L_Wizard:
+ mes "What do you need fellow Wizard? If it's nothing, please leave...";
+ next;
+ mes "[Catherine Medichi]";
+ if(sex==1) mes "... Of course, if your here to ask me out... (*giggles*)....";
+ if(sex==0) mes "If you get yourself a boyfriend, feel free to drop by and show him off. XD";
+ emotion 3;
+ close;
+
+}
diff --git a/npc/jobs/Jfunc/Jfunc2-2.txt b/npc/jobs/Jfunc/Jfunc2-2.txt new file mode 100644 index 000000000..64a2483be --- /dev/null +++ b/npc/jobs/Jfunc/Jfunc2-2.txt @@ -0,0 +1,236 @@ +//===== eAthena Script =======================================
+//= Global Job Function
+//===== By: ==================================================
+//= massdriller
+//===== Current Version: =====================================
+//= 0.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Optimised scripts by moving all their checkers here.
+//===== Additional Comments: =================================
+//= For 2-2 Job Quests
+//============================================================
+
+//Alchemist Check
+function script Alc_check {
+
+ if(BaseJob == Job_Alchem) goto L_Alch;
+ if(BaseJob == Job_Alchem || BaseJob == Job_Alchem) goto L_Other;
+ return;
+
+L_Other:
+ mes "Welcome to the Alchemist Union. Ah, I apologize but I'm busy right now.";
+ close;
+L_Alch:
+ mes "Hey there fellow Alchemist. How's the business going? Good I hope, well good luck to you.";
+ close;
+}
+
+//Rogue Questions
+function script RogQ_check {
+ savepoint "in_rogue.gat",366,114;
+ set @score, 0;
+ set ROGUE_Q, 1;
+ set @temp, rand(2);
+ if(@temp == 1) goto L_QSet2;
+
+ L_QSet1:
+ mes "[Markie]";
+ mes "1) What is the added flee rate that a Thief recieves when the ^5533FFImprove Dodge^000000 skill is ^5533FFmastered^000000?";
+ next;
+ menu "20",sM1_1, "30",-, "40",sM1_1, "160",sM1_1;
+
+ set @score, @score + 10;
+
+ sM1_1:
+
+ mes "[Markie]";
+ mes "2) Choose a monster that cannot detect a hidden or cloaked character?";
+ next;
+ menu "Mummy",sM1_2, "Worm Tail",-, "Argos",sM1_2, "Soldier Skeleton",sM1_2;
+
+ set @score, @score + 10;
+
+ sM1_2:
+
+ mes "[Markie]";
+ mes "3) Where is the Rogue guild located?";
+ next;
+ menu "Comodo",sM1_3, "Kokomo Beach",sM1_3, "Pharos Lightouse",-, "Morroc",sM1_3;
+
+ set @score, @score + 10;
+
+ sM1_3:
+
+ mes "[Markie]";
+ mes "4) In which of the following towns, can you become a Thief?";
+ next;
+ menu "Comodo",sM1_4, "Lutie",sM1_4, "Alberta",sM1_4, "Morroc",-;
+
+ set @score, @score + 10;
+
+ sM1_4:
+
+ mes "[Markie]";
+ mes "5) Choose the card that does ^FF3355not^000000 have an effect on a players ^5533FFDEX stat^000000...";
+ next;
+ menu "Rocker Card",sM1_5, "Mummy Card",-, "Zerom Card",sM1_5, "Drops",sM1_5;
+
+ set @score, @score + 10;
+
+ sM1_5:
+
+ mes "[Markie]";
+ mes "6) What do you think is cool about being a Rogue?";
+ next;
+ menu "Being a bad ass",sM1_6, "Being a hypocrite",sM1_6, "Being shameless",sM1_6, "Having excellent attack strength",-;
+
+ set @score, @score + 10;
+
+ sM1_6:
+
+ mes "[Markie]";
+ mes "7) At what job level can you change from a Thief to a Rogue?";
+ next;
+ menu "At job lvl 30",sM1_7, "At job lvl 35",sM1_7, "At job lvl 40",-, "At job lvl 50",-;
+
+ set @score, @score + 10;
+
+ sM1_7:
+
+ mes "[Markie]";
+ mes "8) If you wanted to dye your hair a different color, where would you have to go to do that?";
+ next;
+ menu "Building in SouthWestern part of Morroc",sM1_8, "Building in SouthWestern part of Prontera",-,
+ "Building in SouthEastern part of Morroc",sM1_8, "Building in NorthEastern part of Prontera",sM1_8;
+
+ set @score, @score + 10;
+
+ sM1_8:
+
+ mes "[Markie]";
+ mes "9) What mushrooms do you need to steal in order to become a Thief?";
+ next;
+ menu "Orange Gooey Mushrooms",-, "Red Hairy Mushrooms",sM1_9, "Orange Net Mushrooms",-, "Orange Sticky Mushrooms",sM1_9;
+
+ set @score, @score + 10;
+
+ sM1_9:
+
+ mes "[Markie]";
+ mes "10) Which of these cards is ^FF3355useless^000000 to a Rogue?";
+ next;
+ menu "Whisper Card",sM1_10, "Elder Willow Card",-, "Zerom Card",sM1_10, "Matyr Card",sM1_10;
+
+ set @score, @score + 10;
+
+ sM1_10:
+ goto L_Score;
+
+
+ L_QSet2:
+ mes "[Markie]";
+ mes "1) What skill do you need to learn before you can learn ^5533FFTunnel Drive^000000?";
+ next;
+ menu "Hiding",-, "Steal",sM2_1, "Improve Dodge",sM2_1, "Bash",sM2_1;
+
+ set @score, @score + 10;
+
+ sM2_1:
+
+ mes "[Markie]";
+ mes "2) How much more of a discount can a Rogue get with the ^5533FFHaggel^000000 skill than a merchant can with the ^5533FFDiscount^000000 skill?";
+ next;
+ menu "3%",sM2_2, "2%",sM2_2, "1%",-, "0%",sM2_2;
+
+ set @score, @score + 10;
+
+ sM2_2:
+
+ mes "[Markie]";
+ mes "3) What is the correct description for the skill ^5533FFMug^000000?";
+ next;
+ menu "Steal Items from players",sM2_3, "Steal Items from monsters",sM2_3, "Steal Zeny from monsters",-, "Steal Zeny from players",sM2_3;
+
+ set @score, @score + 10;
+
+ sM2_3:
+
+ mes "[Markie]";
+ mes "4) How many Rogues are required to activate the skill ^5533FFGangster's Paradise^000000?";
+ next;
+ menu "1 Rogue + 2 Assassins",sM2_4, "2 Rogues + 1 Thief",sM2_4, "4 Thieves",sM2_4, "2 or more Rogues",-;
+
+ set @score, @score + 10;
+
+ sM2_4:
+
+ mes "[Markie]";
+ mes "5) After increasing ^5533FFDivest Helm^000000 to level 5, what other skill becomes available for you learn?";
+ next;
+ menu "Envenom",sM2_5, "Strip Tease",sM2_5, "Venom Splasher",sM2_5, "Divest Shield",-;
+
+ set @score, @score + 10;
+
+ sM2_5:
+
+ mes "[Markie]";
+ mes "6) Choose a skill that allows its user to move while being hidden?";
+ next;
+ menu "Hiding",sM2_6, "Back Slide",sM2_6, "Tunnel Drive",-, "Sand Attack",sM2_6;
+
+ set @score, @score + 10;
+
+ sM2_6:
+
+ mes "[Markie]";
+ mes "7) Choose the card that increases the ^5533FFaccuracy rate^000000 of its owner?";
+ next;
+ menu "Andre",sM2_7, "Familiar",sM2_7, "Mummy",-, "Marina",sM2_7;
+
+ set @score, @score + 10;
+
+ sM2_7:
+
+ mes "[Markie]";
+ mes "8) Choose the monster that receives more damage when attacked by a weapon with a Vadon card attached to it?";
+ mes "(Vadon card inflicts 20% more damage to fire property monsters)";
+ next;
+ menu "Vadon",sM2_8, "Deviruchi",sM2_8, "Elder Willow",-, "Baphomet",sM2_8;
+
+ set @score, @score + 10;
+
+ sM2_8:
+
+ mes "[Markie]";
+ mes "9) How much SP does the ^5533FFDouble Attack^000000 skill require when used with a dagger?";
+ next;
+ menu "15 SP",sM2_9, "No SP needed",-, "10 SP",sM2_9, "54 SP",sM2_9;
+
+ set @score, @score + 10;
+
+ sM2_9:
+
+ mes "[Markie]";
+ mes "10) Choose an effective dagger to use in the Byalan Dungeon?";
+ next;
+ menu "Wind Main-Gauche",-, "Ice Main-Gauche",sM2_10, "Earth Main-Gauche",sM2_10, "Fire Main-Gauche",sM2_10;
+
+ set @score, @score + 10;
+
+ sM2_10:
+
+
+ L_Score:
+ mes "[Markie]";
+ mes "Okay, those are all of the questions I have. Now that wasn't so bad was it sweetie?";
+ mes "I hope you don't mind, but I've been grading your answers.";
+ next;
+ mes "[Markie]";
+ mes "I like to give people scores on their interviews so that they can know how well they did.";
+ mes "It looks like you got a ^FF3355" + @score +"^000000/100............";
+ next;
+ mes "[Markie]";
+ return;
+}
diff --git a/npc/jobs/novice/NEWnovice.txt b/npc/jobs/novice/NEWnovice.txt new file mode 100644 index 000000000..0d089b5a5 --- /dev/null +++ b/npc/jobs/novice/NEWnovice.txt @@ -0,0 +1,1621 @@ +//===== eAthena Script =======================================
+//= New Official Novice Training Grounds
+//===== By: ==================================================
+//= eAthena Dev Team
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena SVN 1695+
+//===== Description: =========================================
+//= Incomplete
+//===== Additional Comments: =================================
+//= Taken From MRO. Took Parts from IRO Script, thanks to
+//= DracoRPG & Riotblade
+//============================================================
+
+////////////////////////////////////////////////////////////////
+// Maps These NPCs Are duplicated
+////////////////////////////////////////////////////////////////
+// new_1-1.gat || new_1-2.gat || new_1-3.gat || new_1-4.gat
+// new_2-1.gat || new_2-2.gat || new_2-3.gat || new_2-4.gat
+// new_3-1.gat || new_3-2.gat || new_3-3.gat || new_3-4.gat
+// new_4-1.gat || new_4-2.gat || new_4-3.gat || new_4-4.gat
+// new_5-1.gat || new_5-2.gat || new_5-3.gat || new_5-4.gat
+//
+////////////////////////////////////////////////////////////////
+// Main Variables Involved //
+////////////////////////////////////////////////////////////////
+// //
+// novarea,<Var> = Area Warp Check // Area Warp Check //
+// xien_F = Xi En // Quest Complete Variable //
+// chris_F = Interface Instructor // Quest Complete Variable //
+// saixi_F = Skill instructor // Quest Complete Variable //
+// Npc_chris = Chris // NPC Check Variable //
+// Npc_alice = Alice // NPC Check Variable //
+// Npc_saixi = saixi // NPC Check Variable //
+// //
+////////////////////////////////////////////////////////////////
+
+//Area 1,2,3,4 or 5
+new_1-1.gat,0,0,0 script PCLoginEvent -1,{
+
+//check layer1
+ if(novicegro == 1)end;
+ if((getmapusers("new_1-1.gat") + getmapusers("new_1-2.gat") + getmapusers("new_1-3.at") + getmapusers("new_1-4.gat") + getmapusers("new_1-5.gat")) < 1) goto check1;
+ if((getmapusers("new_2-1.gat") + getmapusers("new_2-2.gat") + getmapusers("new_2-3.at") + getmapusers("new_2-4.gat") + getmapusers("new_2-5.gat")) < 1) goto check2;
+ if((getmapusers("new_3-1.gat") + getmapusers("new_3-2.gat") + getmapusers("new_3-3.at") + getmapusers("new_3-4.gat") + getmapusers("new_3-5.gat")) < 1) goto check3;
+ if((getmapusers("new_4-1.gat") + getmapusers("new_4-2.gat") + getmapusers("new_4-3.at") + getmapusers("new_4-4.gat") + getmapusers("new_4-5.gat")) < 1) goto check4;
+ if((getmapusers("new_5-1.gat") + getmapusers("new_5-2.gat") + getmapusers("new_5-3.at") + getmapusers("new_5-4.gat") + getmapusers("new_5-5.gat")) < 1) goto check5;
+//check layer2
+ if((getmapusers("new_1-1.gat") + getmapusers("new_1-2.gat") + getmapusers("new_1-3.at") + getmapusers("new_1-4.gat") + getmapusers("new_1-5.gat")) < 2) goto check1;
+ if((getmapusers("new_2-1.gat") + getmapusers("new_2-2.gat") + getmapusers("new_2-3.at") + getmapusers("new_2-4.gat") + getmapusers("new_2-5.gat")) < 2) goto check2;
+ if((getmapusers("new_3-1.gat") + getmapusers("new_3-2.gat") + getmapusers("new_3-3.at") + getmapusers("new_3-4.gat") + getmapusers("new_3-5.gat")) < 2) goto check3;
+ if((getmapusers("new_4-1.gat") + getmapusers("new_4-2.gat") + getmapusers("new_4-3.at") + getmapusers("new_4-4.gat") + getmapusers("new_4-5.gat")) < 2) goto check4;
+ if((getmapusers("new_5-1.gat") + getmapusers("new_5-2.gat") + getmapusers("new_5-3.at") + getmapusers("new_5-4.gat") + getmapusers("new_5-5.gat")) < 2) goto check5;
+//check layer3
+ if((getmapusers("new_1-1.gat") + getmapusers("new_1-2.gat") + getmapusers("new_1-3.at") + getmapusers("new_1-4.gat") + getmapusers("new_1-5.gat")) < 3) goto check1;
+ if((getmapusers("new_2-1.gat") + getmapusers("new_2-2.gat") + getmapusers("new_2-3.at") + getmapusers("new_2-4.gat") + getmapusers("new_2-5.gat")) < 3) goto check2;
+ if((getmapusers("new_3-1.gat") + getmapusers("new_3-2.gat") + getmapusers("new_3-3.at") + getmapusers("new_3-4.gat") + getmapusers("new_3-5.gat")) < 3) goto check3;
+ if((getmapusers("new_4-1.gat") + getmapusers("new_4-2.gat") + getmapusers("new_4-3.at") + getmapusers("new_4-4.gat") + getmapusers("new_4-5.gat")) < 3) goto check4;
+ if((getmapusers("new_5-1.gat") + getmapusers("new_5-2.gat") + getmapusers("new_5-3.at") + getmapusers("new_5-4.gat") + getmapusers("new_5-5.gat")) < 3) goto check5;
+//check layer4
+ if((getmapusers("new_1-1.gat") + getmapusers("new_1-2.gat") + getmapusers("new_1-3.at") + getmapusers("new_1-4.gat") + getmapusers("new_1-5.gat")) < 4) goto check1;
+ if((getmapusers("new_2-1.gat") + getmapusers("new_2-2.gat") + getmapusers("new_2-3.at") + getmapusers("new_2-4.gat") + getmapusers("new_2-5.gat")) < 4) goto check2;
+ if((getmapusers("new_3-1.gat") + getmapusers("new_3-2.gat") + getmapusers("new_3-3.at") + getmapusers("new_3-4.gat") + getmapusers("new_3-5.gat")) < 4) goto check3;
+ if((getmapusers("new_4-1.gat") + getmapusers("new_4-2.gat") + getmapusers("new_4-3.at") + getmapusers("new_4-4.gat") + getmapusers("new_4-5.gat")) < 4) goto check4;
+ if((getmapusers("new_5-1.gat") + getmapusers("new_5-2.gat") + getmapusers("new_5-3.at") + getmapusers("new_5-4.gat") + getmapusers("new_5-5.gat")) < 4) goto check5;
+//check layet5
+ if((getmapusers("new_1-1.gat") + getmapusers("new_1-2.gat") + getmapusers("new_1-3.at") + getmapusers("new_1-4.gat") + getmapusers("new_1-5.gat")) < 5) goto check1;
+ if((getmapusers("new_2-1.gat") + getmapusers("new_2-2.gat") + getmapusers("new_2-3.at") + getmapusers("new_2-4.gat") + getmapusers("new_2-5.gat")) < 5) goto check2;
+ if((getmapusers("new_3-1.gat") + getmapusers("new_3-2.gat") + getmapusers("new_3-3.at") + getmapusers("new_3-4.gat") + getmapusers("new_3-5.gat")) < 5) goto check3;
+ if((getmapusers("new_4-1.gat") + getmapusers("new_4-2.gat") + getmapusers("new_4-3.at") + getmapusers("new_4-4.gat") + getmapusers("new_4-5.gat")) < 5) goto check4;
+ if((getmapusers("new_5-1.gat") + getmapusers("new_5-2.gat") + getmapusers("new_5-3.at") + getmapusers("new_5-4.gat") + getmapusers("new_5-5.gat")) < 5) goto check5;
+ return;
+
+
+check1:
+ savepoint "new_1-1.gat",53,111;
+ warp "new_1-1.gat",53,111;
+ set novicegro,1;
+ set novarea,1;
+ end;
+
+check2:
+ savepoint "new_2-1.gat",53,111;
+ warp "new_2-1.gat",53,111;
+ set novicegro,1;
+ set novarea,2;
+ end;
+
+check3:
+ savepoint "new_3-1.gat",53,111;
+ warp "new_3-1.gat",53,111;
+ set novicegro,1;
+ set novarea,3;
+ end;
+
+check4:
+ savepoint "new_4-1.gat",53,111;
+ warp "new_4-1.gat",53,111;
+ set novicegro,1;
+ set novarea,4;
+ end;
+
+check5:
+ savepoint "new_5-1.gat",53,111;
+ warp "new_5-1.gat",53,111;
+ set novicegro,1;
+ set novarea,5;
+ end;
+
+}
+
+//Xi En, the greeter in the Novice Training Grounds
+new_1-1.gat,54,113,5 script Xi En#npc1-1::XiEn 727,{
+
+
+ mes "[Xi En]";
+ if( xien_F >= 1 )goto Int_talked;
+ if( Int_1 >= 2 )goto Int_talked2;
+ if( xi_01 == 1 )goto N_happy;
+ mes "Uh? Oh! A newbie?";
+ mes "Wow! Welcome to this world";
+ mes "Let's see, your name is..";
+ mes ""+ strcharinfo(0) +" .....";
+ mes "Nice to meet you,";
+ mes "Novice.";
+ next;
+ mes "[Xi En]";
+ mes "It's faith that let us meet each other.";
+ mes "So, what can i do to help you?";
+ mes "For example, hot to move?";
+ mes "Or where should you go?";
+ mes "Do you have anything to ask me?";
+ next;
+ menu "Where should I go?", Q_go,"Please teach me the basic operation",T_oper,"Who are you?",Q_who;
+
+Q_go:
+ mes "[Xi En]";
+ mes "Go to the right and you will come";
+ mes "to a river.";
+ mes "Do you see the bridge on the river?";
+ mes "It's a wooden bridge,";
+ mes "and it's very old.";
+ mes "After you have crossed the bridge,";
+ mes "you will come to a castle. Enter it.";
+ next;
+ mes "[Xi En]";
+ mes "The entrance of the building is a";
+ mes "small";
+ mes "^3300CCSwirling pool of bright light.^000000";
+ mes "It is a teleporter that links two different space.";
+ mes "You will need it to go to other places";
+ next;
+ mes "[Xi En]";
+ mes "Oh, do you know how to move around?";
+ mes "It's just like trying to talk to me";
+ mes "you just need to left click the mouse";
+ mes "on the location that you wish to move, isn't that easy?";
+ next;
+ mes "[Xi En]";
+ mes "Hmm, so";
+ mes "the castle of the right is training ground";
+ mes "specially made for Novice like you.";
+ mes "So you better go to that place.";
+ next;
+ mes "[Xi En]";
+ mes "There will be a guide soldier at";
+ mes "the entrance.";
+ mes "So, you won't need to worry that you'll get lost.";
+ mes "Hehe...";
+ set Int_1,2;
+ close;
+
+N_happy:
+ mes "Hey, that boastful one over there,";
+ mes "do you have anything else to do?";
+ mes "Hah, don't be too angry.";
+ mes "You will forget what to do if you get too angry.";
+ mes "What can i do to help you?";
+ next;
+ mes "[Xi En]";
+ mes "I am not asking you to leave. I";
+ mes "just want you to go to the Training";
+ mes "Ground";
+ mes "and take a look. How about that?";
+ mes "You just need to cross the bridge at your right,";
+ mes "and enter that big castle over there.";
+ mes "There'll be someone explaining the";
+ mes "situation to you after you've entered the castle";
+ next;
+ mes "[Xi En]";
+ mes "Oh, if you can't see the entrance,";
+ mes "right click the mouse";
+ mes "and drag it to the left or right.";
+ mes "Then, you will be able to see the part covered by it.";
+ next;
+ mes "[Xi En]";
+ mes "Well then, farewell!!";
+ mes "";
+ mes "And you should also learn";
+ mes "how to treat a beautiful lady like me, lad";
+ mes "This is a present for you.";
+ atcommand strcharinfo(0) + "@baselvlup 1";
+ set xien_F,1;
+ close;
+
+Q_who:
+ mes "[Xi En]";
+ mes "Huh? Me? I'm Xi En!";
+ mes "How rude of you.";
+ mes "I just work as volunteer here....";
+ mes "How can you talk like that?";
+ set xi_01,1;
+ close;
+
+Int_talked:
+ mes "The Training Ground for Novice";
+ mes "can be seen after you have cross";
+ mes "the bridge at the right.";
+ mes "Go for your training now!";
+ mes "Although it might be a little bit";
+ mes "boring,";
+ mes "you won't regret that you have";
+ mes "participated it.";
+ close;
+
+Int_talked2:
+ mes "Huh? Why are you still standing there?";
+ mes "Haha...";
+ mes "If you go to the Training Ground,";
+ mes "you'll be able to learn a lot of";
+ mes "things,";
+ mes "and on top of that,";
+ mes "you will be able to obtain a lot of money and items.";
+ next;
+ mes "[Xi En]";
+ mes "Your experience level will also increase as well";
+ atcommand strcharinfo(0) + "@baselvlup 1";
+ next;
+ mes "[Xi En]";
+ mes "Although it might be boring,";
+ mes "it's foundation for you to be";
+ mes "strong in the future.";
+ mes "So, learn it now!";
+ mes "And learn to interact with other people well!";
+ set xien_F,1;
+ set int_talked,0;
+ close;
+
+Warped:
+ mes "[Xi En]";
+ mes "Hm...?";
+ mes "What are you";
+ mes "still doing here?";
+ mes "Oh, you used a ^000077Butterfly Wing,^000000";
+ mes "didn't you?";
+ next;
+ mes "[Xi En]";
+ mes "No, no, no~";
+ mes "You're supposed to use the Butterfly Wing when you want to go back to a town ^777777after^000000 completing your training here, all right?";
+ next;
+ mes "[Xi En]";
+ mes "Now, let me send";
+ mes "you back to the";
+ mes "Training Grounds.";
+ next;
+ callfunc "warpcheck1";
+ end;
+
+T_oper:
+ mes "[Xi En]";
+ mes "User Interface...";
+ mes "Do you know the concept of clickm double click and drag?";
+ mes "Click meaning";
+ mes "click on the mouse for one time.";
+ mes "If you click continuously twice, it's known as double click.";
+ close;
+
+}
+
+//Guards at the start of the grounds
+new_1-1.gat,144,116,5 script Guard#npc2-1::Guard 105,{
+
+ mes "[Training Grounds Guard]";
+ mes "Good day! Please come in~ Welcome to the Novice Training Grounds!";
+ mes "When you enter the castle, you will first come to the Novice Training Grounds.";
+ close;
+
+}
+
+new_1-1.gat,144,110,5 script Guard#npc3-1::Guard 105,{
+
+ mes "[Training Grounds Guard]";
+ mes "Go! Newbie! Go! I encourage you to take the challenge for a bright future!";
+ close;
+
+}
+
+//Usher Part Of script
+new_1-2.gat,100,29,5 script Registration Staff#npc4-1::regnpc 56,{
+
+ mes "[Novice Training Ground Registration Staff]";
+ mes "Welcome!";
+ mes "You are at the entrance of the ^000077Training Grounds.^000000";
+ mes "If you're new in this Ragnarok World, please choose the";
+ mes "^000077Training Grounds Introduction^000000 menu for more information.";
+ next;
+ menu "Apply for training",C_train, "Direct Access to Ragnarok Online", C_direct, "^000077Training Grounds Introduction^000000",C_intro, "Need a moment to think", C_later;
+
+MM_2:
+ menu "Apply for training",C_train, "Direct Access to Ragnarok Online", C_direct, "^000077Training Grounds Introduction^000000",C_intro, "Need a moment to think", C_later;
+
+C_train:
+ mes "[Novice Training Ground Staff]";
+ mes "Your application has been successfully approved.";
+ mes "For detailed information of each";
+ mes "training course, please inquire at the guide on the course";
+ next;
+ mes "[Novice Training Ground Registration Staff]";
+ mes "We will be providing you with 50 Zeny as support. When you have some";
+ set Zeny,Zeny+50;
+ mes "questions about the process of training course, feel free to ask the guide at the center of the hall";
+ mes "Now, you will be transferred to the training grounds";
+ next;
+ callfunc "warpcheck1";
+ close;
+
+C_direct:
+ mes "[Novice Training Ground Registration Staff]";
+ mes "I understand.";
+ mes "Please do your";
+ mes "best, and I wish you";
+ mes "the best of luck!";
+ next;
+ set @TEMP,rand(6);
+ if (@TEMP == 0) callsub M2_S1;
+ if (@TEMP == 0) callsub M2_S2;
+ if (@TEMP == 0) callsub M2_S3;
+ if (@TEMP == 0) callsub M2_S4;
+ if (@TEMP == 0) callsub M2_S5;
+ if (@TEMP == 0) callsub M2_S6;
+ end;
+
+ M2_S1:
+ savepoint "prontera.gat",273,354;
+ warp "prontera.gat",273,354;
+ return;
+
+ M2_S2:
+ savepoint "morocc.gat",160,94;
+ warp "morocc.gat",160,94;
+ return;
+
+ M2_S3:
+ savepoint "geffen.gat",120,100;
+ warp "geffen.gat",120,100;
+ return;
+
+ M2_S4:
+ savepoint "payon.gat",87,117;
+ warp "payon.gat",87,117;
+ return;
+
+ M2_S5:
+ savepoint "alberta.gat",116,57;
+ warp "alberta.gat",116,57;
+ return;
+
+ M2_S6:
+ savepoint "izlude.gat",94,103;
+ warp "izlude.gat",94,103;
+ return;
+
+C_intro:
+ mes "[Novice Training Ground Registration Staff]";
+ mes "This training grounds was established in order to provide useful information to new players in Ragnarok Online by the Rune-Midgarts Kingdom's Board of Education.";
+ next;
+ mes "[Novice Training Ground Registration Staff]";
+ mes "The training course is organized into two parts: the Basic Knowledge classes, and Field Combat training.";
+ next;
+ mes "[Novice Training Ground Registration Staff]";
+ mes "Through the first course, players will learn the necessary knowledge for a smoother gaming experience.";
+ next;
+ mes "[Novice Training Ground Registration Staff]";
+ mes "In Field Combat Training, players will engage in actual battle with weak monsters so they can learn the basics of fighting.";
+ next;
+ mes "[Novice Training Ground Registration Staff]";
+ mes "With this battle practice,";
+ mes "players will be able to gain more experience before they enter the real world.";
+ next;
+ mes "[Novice Training Ground Registration Staff]";
+ mes "At the end of the training, we will provide an introduction to the 1st Job Classes. This will help players decide which job class is best for them.";
+ next;
+ mes "[Novice Training Ground Registration Staff]";
+ mes "If you wish to participate in the training grounds, please choose '^000077Apply for training^000000' in the";
+ mes "menu.";
+ next;
+ mes "[Novice Training Ground Registration Staff]";
+ mes "Otherwise, if you want to skip the basic training and immediately enter the world of Ragnarok Online, please choose '^000077Direct access to Ragnarok Online.'^000000";
+ next;
+ goto MM_2;
+
+C_later:
+ mes "[Training Ground Receptionist]";
+ mes "I understand.";
+ mes "Please, take your time.";
+ close;
+}
+
+//Inside The Grounds (Area 4)
+
+new_1-2.gat,100,104,5 script Interface Instructor#npc5-1::internpc 751,{
+
+ mes "[Instructor Chris]";
+ if (Chris_1 == 1)goto T_1;
+ mes "Nice to meet you. Can i see you";
+ mes "study pass?";
+ next;
+ mes "[Instructor Chris]";
+ mes "Ok, confirmation completed.";
+ mes "I will introduce you to the basic concepts of";
+ mes "interface and ways of operating it";
+ mes "However, this is not an mandatory course. Therefore,";
+ mes "you can choose to skip this course if you think it is not necessary";
+ next;
+ menu "Learn explanation to interface operation",L_interface,"Hate Theory, I want a real battle",G_battle,"Cancel",L_end;
+
+L_interface:
+ mes "[Instructor Chris]";
+ mes "Although the location of the window";
+ mes "can be changed by dragging it,";
+ mes "we will use the initial location of the window";
+ mes "for the convenience of explanation.";
+ next;
+ mes "[Instructor Chris]";
+ mes "So, look at the upper part of your screen.";
+ mes "You'll find your name and level displayed in that window.";
+ mes "you can also know the amount of your experience.";
+ mes "This window is known as the basic information window of the character";
+ next;
+ mes "[Instructor Chris]";
+ mes "We are going to increase your experience points now.";
+ mes "Please pay attention to the changes of experience bar in the";
+ mes "basic information window.";
+ mes "Do you see that.?";
+ atcommand strcharinfo(0) + "@baselvlup 1";
+ mes "Besides that....";
+ next;
+ mes "[Instructor Chris]";
+ mes "You can use the option of the basic information window";
+ mes "or form party.";
+ mes "The second experience bar refers to the job experience.";
+ mes "000077In order to use a skill, you need to obtain skill points through leveling up your job level.^000000";
+ next;
+ mes "[Instructor Chris]";
+ mes "The window on the lower left is the Chat window.";
+ mes "Your chat content will be replaced by the new content from time to time.";
+ mes "You can also use the button at the right to change the chat mode";
+ mes "to public channel, party channel or guild channel...";
+ mes "The chat window is always in the";
+ mes "active mode in order to make chat with other players";
+ mes "more convenient";
+ next;
+ mes "There is a mini map window shown at the upper right";
+ mes "The mini map window will indicate";
+ mes "your current location and the location of";
+ mes "your party member and guild member";
+ mes "Besides that, when you're in a city or field,";
+ mes "000077the red point will be the entrance/exit^000000 of the map.";
+ mes "Please make use of it.";
+ next;
+ mes "[Instructor Chris]";
+ mes "Besides that, please turn on every";
+ mes "option in the basic information window.";
+ mes "You will be able to open the item window, Equipment Window and skill window";
+ next;
+ atcommand strcharinfo(0) + "@joblvlup 1";
+ mes "[Instructor Chris]";
+ mes "I hope that I have made a bried yet clear explanation to you.";
+ mes "I hope you won't feel bored of it";
+ mes "Here are some experience for you.";
+ mes "We will be giving the job experience this time.";
+ mes "Please open your skill window,";
+ mes "and try to upgrade your basic skill";
+ next;
+ mes "[Instructor Chris]";
+ mes "The support lecturer Edwin";
+ mes "will make a more advanced explaination to you.";
+ mes "If you want to know about the details, talk to him.";
+ mes "Besides that, this is a gift for you";
+ getitem 2352,1;
+ set Chris_1,1;
+ set chris_F,1;
+ close;
+
+T_1:
+ mes "[Instructor Chris]";
+ mes "Is there anything that i can help you?";
+ mes "Let us see your study pass.";
+if (Npc_saixi < 1) goto C_saixi;
+if (Npc_alice < 1) goto C_alice;
+ mes "Looks like you have finished everything.";
+ mes "We're sending you to the battleground now.";
+ mes "If you have anything that you don't understand,";
+ mes "please come back again.";
+ next;
+ callfunc "warpcheck2";
+ close;
+
+C_saixi:
+ mes "Hmm?";
+ mes "You still haven't taken the skill course.";
+ mes "Please go this way up to find the skill instructor";
+ next;
+ menu "Thank You",W_saixi,"I hate Theory Classes",G_battle,"Cancel",C_end;
+
+C_alice:
+ mes "Hmm?";
+ mes "You still haven't taken the item course.";
+ mes "Please go this way up to find the item instructor";
+ next;
+ menu "Thank You",W_alice,"I hate Theory Classes",G_battle,"Cancel",C_end;
+
+W_saixi:
+ mes "[Instructor Chris]";
+ mes "If you study the use of skill carefully,";
+ mes "You will be able to learn some useful skills.";
+ mes "Therefore, it's advised that you take it.";
+ mes "Ok? Now, find the Skill Instructor.";
+ mes "I'll send you there with the service";
+ next;
+ callfunc "warpcheck5";
+ close;
+
+W_alice:
+ mes "[Instructor Chris]";
+ mes "If you study the use of items carefully,";
+ mes "You will be able to get some useful items";
+ mes "Therefore, it's advised that you take it.";
+ mes "Ok? Now, find the Item Instructor.";
+ mes "I'll send you there with the service";
+ next;
+ callfunc "warpcheck3";
+ close;
+
+G_battle:
+ mes "[Instructor Chris]";
+ mes "We're sending you to the battleground now.";
+ mes "If you have anything that you don't understand,";
+ mes "please come back again.";
+ callfunc "warpcheck4";
+ close;
+
+}
+
+// Item Instructor
+new_1-2.gat,116,110,5 script Item Instructor#npc6-1::itemnpc 726,{
+
+ mes "[Instructor Alice]";
+ if(Alice_F == 1) goto T_2;
+ mes "Huh? So boring!";
+ mes "Hmm? Ah? Are you a new comer?";
+ mes "Do you want to take the item Course?";
+ next;
+ menu "Ah, yes, yes. Item Test!",T_1,"No, I want direct access", D_access, "Where is the village?", W_village;
+
+T_1:
+ mes "[Instructor Alice]";
+ mes "I will make it quick so you won't be bored.";
+ mes "Firstly, open the Basic Information Window.";
+ mes "Choose the item button in the basic information window";
+ mes "to open the item window.";
+ mes "There are 3 categories in the window, including item, Equipment and Misc. Items";
+ next;
+ getitem 569,1;
+ mes "[Instructor Alice]";
+ mes "Try and choose the item category now.";
+ mes "I have given you a Novice Potion.";
+ mes "Try abd double click the potion";
+ mes "with your mouse in order to use it";
+ next;
+ mes "[Instructor Alice]";
+ mes "Try and double click it with your mouse.";
+ mes "Now, the equipment.";
+ next;
+ getitem 5055,1;
+ getitem 2415,1;
+ mes "[Instructor Alice]";
+ mes "Now, change the tab to the Equipment category.";
+ mes "This category will display";
+ mes "all the equipment that you can equip";
+ mes "I'll give you an equipment. Try it out.";
+ mes "Firstly, let's start from the Novice Boots.";
+ next;
+ mes "[Instructor Alice]";
+ mes "Double click the item and try it out";
+ mes "This can be implemented on other items too.";
+ next;
+ mes "[Instructor Alice]";
+ mes "Now do you want to try out the F12 button?";
+ mes "There will be a small window of 9 columns.";
+ mes "This window is known as the shortcut bar.";
+ mes "You can drag items such as item, skill and equipment to the shortcut bar.";
+ next;
+ mes "[Instructor Alice]";
+ atcommand strcharinfo(0) + "@joblvlup 1";
+ mes "Every column has a relevant shortcut key ranging from F1 to F9.";
+ mes "Use these shortcut bar wisely.";
+ mes "When you take the skill course,";
+ mes "you must have learned the First Aid skill, right?";
+ mes "Put it in the shortcut bar and have a try.";
+ next;
+ mes "[Instructor Alice]";
+ mes "Do you understand?";
+ mes "You need to possess skill point if";
+ mes "you wanted to use a skill.";
+ mes "However, basic skills are passive";
+ mes "skill and cannot be placed in the";
+ mes "shortcut bar";
+ next;
+ mes "[Instructor Alice]";
+ mes "A course that is easy and filled with content.";
+ mes "The class of Items shall end here.";
+ mes "Finally, let me give you two useful items.";
+ mes "However, please do not use Wing of Fly and";
+ mes "Wing of Butterfly here.";
+ mes "I won't take the responsibility if you get lost here";
+ next;
+ mes "[Instructor Alice]";
+ mes "Finally, this is ...";
+ mes "some job experience so that you can";
+ mes "perform job upgrade soon!";
+ mes "Thank you for taking my class";
+ set alice_F,1;
+ next;
+ menu "What should i do now?",G_check,"Let's Start the battle! The real Battle!",G_battle,"Cancel",G_cancel;
+
+G_cancel:
+ mes "[Instructor Alice]";
+ mes "Oh. Ok. If you want anything just ask.";
+ close;
+
+G_check:
+ mes "[Instructor Alice]";
+ mes "If there's anyone that you haven't talk to,";
+ mes "go and find them. Although they are not as";
+ mes "good as I am, they still provide some help.";
+ mes "If you felt bored, you can go around for some exploring.";
+ next;
+ mes "[Instructor Alice]";
+ mes "Maybe, you will come and meet some";
+ mes "support instructors,";
+ mes "or find some some hidden items.";
+ mes "Well then,farewell.";
+ mes "If you wanted to go to anywhere else,";
+ mes "find out from the people nearby";
+
+G_battle:
+ mes "[Instructor Alice]";
+ mes "We're sending you to the battleground now.";
+ mes "If you have anything that you don't understand,";
+ mes "please come back again.";
+ next;
+ callfunc "warpcheck2";
+ close;
+
+T_2:
+ mes "[Instructor Alice]";
+ mes "Is there anything that i can help?";
+ mes "It looks like you haven't taken the";
+ mes "course of interface.";
+ mes "Chris must be very sad";
+ mes "Don't you want to meet instructor Chris?";
+ next;
+ mes "[Instructor Alice]";
+ mes "If you want to go to the village,";
+ mes "talk to the Kapra Staff over there.";
+ mes "No matter it's Prontera, Morroc or payon...";
+ mes "she will send you to wherever you want";
+ close;
+
+}
+
+//Kafra Service Staff
+
+new_1-2.gat,118,108,5 script Kafra Service Staff#npc7-1::kafnpc 115,{
+
+ mes "[Kafra Service Staff]";
+ mes "Good day!";
+ mes "I am Kafra Staff who is sent";
+ mes "by the Kafra Corp. to serve the Novice.";
+ mes "We, the Kafra Corp. is responsible for the flow of";
+ mes "items on this continent.";
+ mes "Therefore, we hope that you will always";
+ mes "use the the service of Kafra Corp.";
+ next;
+ mes "[Kafra Service Staff]";
+ mes "No matter what time or what place,";
+ mes "Kapra will always be at your service.";
+ mes "What can i do fot you?";
+ next;
+ mes "[Kapra Service Staff]";
+ mes "Let me remind you if you want to use the service of Teleport.";
+ mes "If you want to move to the village, you will not be able to ";
+ mes "return to the Novice Training Ground.";
+ mes "Please consider it carefully";
+ next;
+ menu "Teleport Service",S_teleport,"Ask about Kafra Service",Q_service;
+
+Q_service:
+ mes "I will explain to you the services provided by the Kafra Corp.";
+ mes "Please choose the service that you wish to know about.";
+ next;
+ menu "Save",Q_save,"Storage Service",Q_storage, "Teleport Service",Q_teleport, "Cart Service",Q_cart, "Cancel",Q_cancel;
+
+Q_menu2:
+ menu "Save",Q_save,"Storage Service",Q_storage, "Teleport Service",Q_teleport, "Cart Service",Q_cart, "Cancel",Q_cancel;
+
+Q_save:
+ mes "[Kapra Service Staff]";
+ mes "Save is a function that will let you";
+ mes "return to a location after you are Ko'ed in your adventure.";
+ mes "If you perform a Save action with the Kafra in the village,";
+ mes "you will return near the Kafra in the city that you have saved.";
+ mes "After you have been resurrected, you will be able to return to your Kafra.";
+ next;
+ callsub K_lvlcheck;
+ mes "[Kafra Service Staff]";
+ mes "The Save Point will be assigned";
+ mes "according to the final save location";
+ mes "You can return to the Save Point";
+ mes "using the Wing of Butterfly.";
+ mes "This service is free of charge.";
+ mes "Please make use of it frequently";
+ goto Q_menu2;
+
+Q_storage:
+ mes "[Kafra Service Staff]";
+ mes "We are the Kafra Corp. who is well known";
+ mes "as the oldest and biggest material control company";
+ mes "on this continent which provide the service to keep";
+ mes "the items of adventurers.";
+ mes "So, as long as there's a Kafra service center in a city";
+ mes "you will be able to use the storage service we provided.";
+ next;
+ mes "[Kafra Service Staff]";
+ mes "If you found any important items during your journey or from a battle";
+ mes "and you're not going to use it immediately,";
+ mes "you can always seek the service of a Kafra and keep it.";
+ next;
+ mes "[Kafra Service Staff]";
+ mes "This storage service is provided to every adventurer,";
+ mes "and every Kapra Service center will ask for a certain";
+ mes "a certain amount of zeny for service fee.";
+ next;
+ mes "[Kapra Service Staff]";
+ mes "The store is similar to the item window and it is divided";
+ mes "to the 3 major categories: Items, Equipment and Misc.";
+ mes "You can keep at most 300 items in the storage.";
+ mes "And for every item, you can keep 3000 of it in maximum";
+ next;
+ callsub K_lvlcheck;
+ mes "[Kapra Service Staff]";
+ mes "A different character of the same account";
+ mes "will share the same storage.";
+ mes "The fee for the Kafra Storage Service";
+ mes "will differ according to the location.";
+ mes "Please take note of this";
+ next;
+ goto Q_menu2;
+
+Q_cart:
+ mes "[Kafra Service Staff]";
+ mes "The Kafra Corp. provides Cart rental services to customers engaged in commercial business.";
+ mes "Original the cart rental service was only provided by the merchant guild in alberta";
+ mes "However, since we took over this service";
+ next;
+ mes "[Kafra Service Staff]";
+ mes "Our merchant customers has been able to rent";
+ mes "a cart at ease, everywhere.";
+ mes "This cart rental service is limited only for";
+ mes "job classes engaged in commercial business such as";
+ mes "Merchant,Blacksmith,Alchemist & Super Novice";
+ callsub K_lvlcheck;
+ next;
+ mes "[Kafra Service Staff]";
+ mes "Of course you should learn the Pushcart skill beforehand.";
+ mes "Otherwise, you will not be able to rent a cart from us.";
+ mes "The rental fee varies by town, so please refer to tge information";
+ next;
+ goto Q_menu2;
+
+Q_teleport:
+ mes "[Kafra Service Staff]";
+ mes "The Kafra Corp. has used our experience to";
+ mes "provide a service to shorten the distance";
+ mes "required to travel from place to place.";
+ mes "This is the teleport service.";
+ next;
+ mes "[Kafra Service Staff]";
+ mes "Through the power of Space magicians,";
+ mes "we will provide a more convinient and more time saving way of travelling.";
+ mes "However, the places available for teleport can be varied by towns.";
+ mes "Please take note of that.";
+ next;
+ mes "[Kafra Service Staff]";
+ callsub K_lvlcheck;
+ mes "Every service provided by us is a fruit of the hard work through the centuries";
+ mes "in order to satisfy our customers.";
+ next;
+ goto Q_menu2;
+
+Q_cancel:
+ mes "[Kafra Service Staff]";
+ mes "Are you satisfied with my explaination";
+ mes "about the Kafra Corp.?";
+ close;
+
+//Teleport
+
+S_teleport:
+ menu "Second stage of battle training ground", tele_01,"Prontera",tele_02,"Morocc",tele_03,"Payon",tele_04,"Alberta",tele_05,"Geffen",tele_06;
+
+tele_01:
+ mes "[Kapra Service Staff]";
+ mes "Moving to the 2nd stage of Battle Training Grounds.";
+ next;
+ callfunc "warpcheck2";
+ close;
+
+tele_02:
+ mes "[Kapra Service Staff]";
+ mes "Moving to Prontera City.";
+ next;
+ savepoint "prontera.gat",273,354;
+ warp "prontera.gat",273,354;
+ close;
+
+tele_03:
+ mes "[Kapra Service Staff]";
+ mes "Moving to the Morocc City.";
+ next;
+ savepoint "morocc.gat",160,94;
+ warp "morocc.gat",160,94;
+ close;
+
+tele_04:
+ mes "[Kapra Service Staff]";
+ mes "Moving to Payon City.";
+ next;
+ savepoint "payon.gat",87,117;
+ warp "payon.gat",87,117;
+ close;
+
+tele_05:
+ mes "[Kapra Service Staff]";
+ mes "Moving to the Alberta City.";
+ next;
+ savepoint "alberta.gat",116,57;
+ warp "alberta.gat",116,57;
+ close;
+
+tele_06:
+ mes "[Kapra Service Staff]";
+ mes "Moving to the Geffen City.";
+ next;
+ savepoint "geffen.gat",120,100;
+ warp "geffen.gat",120,100;
+ close;
+
+//Functions
+
+K_lvlcheck:
+ if(K_lvlup < 1)goto changelvl;
+ if(K_lvlup >= 1)return;
+
+changelvl:
+ atcommand strcharinfo(0) + "@joblvlup 1";
+ set K_lvlup, 1;
+ return;
+}
+
+//Skill Npc
+
+new_1-2.gat,84,110,5 script Skill Instructor#npc8-1::skillnpc 753,{
+
+ mes "[Instructor Sai Xi]";
+ if(saixi_F == 1)goto E_check;
+ mes ""+ strcharinfo(0) +"!";
+ mes "What a good name!";
+ mes "Do you want to start the course now?";
+ next;
+ menu "What Course?!",S_course,"Please send me to the battle class!",G_battle,"Cancel",S_end;
+
+S_course:
+ mes "[Instructor Sai Xi]";
+ mes "I live by the fist and die by it!";
+ mes "You have the responsible for preserving the world peace!";
+ mes "I will teach you the ultimare killing skill!!!!!!!";
+ mes "Oh,no. It's just the method to use the skill.";
+ mes "Ok, can you please open the skill window?";
+ next;
+ mes "[Instructor Sai Xi]";
+ mes "Click the skill button in the basic information window,";
+ mes "and you will be able to open the skill window.";
+ mes "The shortcut key to open it is Alt + s.";
+ mes "You can always use alt+s to open the window";
+ next;
+ atcommand strcharinfo(0) + "@joblvlup 1";
+ mes "Have you opened the Skill Window?";
+ mes "Do you see the category of Basic Skill?";
+ mes "There is stated the writing of skill:";
+ mes "Skill Point: 1 below it?";
+ mes "Click the LvUp button";
+ mes "beside the Basic Skill and see what happened";
+ next;
+ mes "[Instructor Sai Xi]";
+ mes "How about that? Have your skill been upgraded?";
+ mes "If you still want to know more detailed information about it,";
+ mes "go and find Piggy Judas.";
+ mes "He is a support lecturer.";
+ mes "Hmmmm, is there any usable skill anymore...";
+ next;
+ mes "[Instructor Sai Xi]";
+ mes "That's it! That's it!";
+ mes "I'll teach you the First Aid skill.";
+ mes "This skill is really useful during critical condition";
+ next;
+ mes "FF0000You have learned First Aid Skill,^000000";
+ skill 142,1,0;
+ next;
+ mes "FF0000You have Obtained minor Job Skill^000000";
+ atcommand strcharinfo(0) + "@joblvlup 1";
+ next;
+ mes "[Instructor Sai Xi]";
+ mes "Now, when you open the skill window,";
+ mes "you will see that the First Aid skill is added.";
+ mes "Double klick the mouse, and try it out!";
+ next;
+ mes "[Instructor Sai Xi]";
+ mes "Well, a certain amount of SP will be consumed when you use a skill.";
+ mes "Although you will consume SP when using the First Aid skill,";
+ mes "it helps to recover the HP and serve as a good skill at the";
+ mes "beginning stage.";
+ next;
+ atcommand strcharinfo(0) + "@baselvlup 1";
+ mes "[Instructor Sai Xi]";
+ mes "Thank to me, you understand now!";
+ mes "Haha, this is my duty.";
+ mes "Here are some experience points for you!";
+ mes "I am a great man!";
+ next;
+ mes "[Instructor Sai Xi]";
+ mes "My class ends here.";
+ mes "Although it is short, i believe you";
+ mes "have learned a lot in return.";
+ mes "Isn't that enough? Then, you should";
+ mes "go and ask other players.";
+ mes "If you think this is too";
+ mes "troublesome, you can find the";
+ mes "support instructors.";
+ mes "They will explain it you in detail";
+ set saixi_F,1;
+ set Npc_saixi,1;
+ close;
+
+E_check:
+ mes "Is there anything I can help you?";
+ if (Npc_saixi < 1) goto C_saixi;
+ if (Npc_alice < 1) goto C_alice;
+ if (Npc_chris < 1) goto C_chris;
+ mes "Looks like you have finished everything.";
+ mes "We're sending you to the battleground now.";
+ mes "If you have anything that you don't understand,";
+ mes "please come back again.";
+ next;
+ warp "new_1-2.gat",28,178;
+ close;
+
+C_saixi:
+ mes "Oh?Hoho?";
+ mes "You still haven't taken the skill course.";
+ mes "Please go this way up to find the skill instructor";
+ next;
+ menu "Thank You",W_end,"Skill is boring, send me to battle!",G_battle,"Cancel",C_end;
+
+C_alice:
+ mes "Oh?Hoho?";
+ mes "You still haven't taken the item course.";
+ mes "Please go this way up to find the item instructor";
+ next;
+ menu "Thank You",W_end,"items is boring, send me to battle!",G_battle,"Cancel",C_end;
+
+C_chris:
+ mes "Oh?Hoho?";
+ mes "You still haven't taken the interface course.";
+ mes "Please go this way up to find the interface instructor";
+ next;
+ menu "Thank You",W_end,"items is boring, send me to battle!",G_battle,"Cancel",C_end;
+
+W_end:
+ mes "[Instructor Sai Xi]";
+ mes "Ok, see you around";
+ close;
+
+}
+
+//Tour guide
+
+new_1-2.gat,122,100,5 script Tour Guide#npc9-1::tournpc 105,{
+
+ mes "[Tour Guide]";
+ mes "I am the Tour Guide at the entrance of the village";
+ mes "who will give you the explaination about the location.";
+ mes "If you visited any village that you havn't been to before,";
+ mes "please find us at the entrance of the village,";
+ mes "and we will help you to find the location of the particular building";
+ next;
+ mes "[Tour Guide]";
+ mes "However, the custume of tour guide differs";
+ mes "according to the villages.";
+ mes "Please take note o this when you are finding our tour guide";
+ mes "Please find out more about the tour guide from them.";
+ mes "We will give you the most detailed explaination";
+ next;
+ mes "[Tour Guide]";
+ mes "If you want to go to the village,";
+ mes "please make use of the Kafra Service Staff";
+ mes "who will provide the service of teleportation.";
+ close;
+}
+
+///////////////////////////////////////////////
+// PART II //
+///////////////////////////////////////////////
+// Npc_exc = Elmeen //
+//
+//
+//
+//
+//
+//
+///////////////////////////////////////////////
+
+//Entrance Guard
+
+new_1-2.gat,37,183,5 script Entrance Guard#npc10-1::entguardnpc 92,{
+
+ mes "[Muriel]";
+ if(Npc_exc == 1)goto T_1;
+ mes "So, you decided to battle although you don't know how to do it?";
+ mes "Please proceed to the left and listen to the basic theory of battle before you come again";
+ close;
+
+T_1:
+ mes "The second stage of trial is to test whether you are able to use";
+ mes "the theory that you have learned wisely";
+ next;
+ mes "[Muriel]";
+ mes "We have released the monsters for the 2nd test. We hope that you will be able to defeat all the monsters.";
+ next;
+ mes "[Muriel]";
+ mes "There is no main objective or limitation in this test but it only provide you with the experience of real battle.";
+ mes "So, please don't worry.";
+ next;
+ mes "[Muriel]";
+ mes "If you wish to leave the 2nd stage of battle, please talk to the staff at the north entrance so that you will be sent to the next trial.";
+ mes "So, shall we start the test now?";
+ next;
+ menu "Yes",B_yes,"I need some time to prepare",B_no;
+
+B_no:
+ mes "[Muriel]";
+ mes "If you are not sure whether you can pass the test, listen to the";
+ mes "left and come again.";
+ mes "And please come back when you're ready.";
+ close;
+
+B_yes:
+ mes "[Muriel]";
+ getitem 569,300;
+ getitem 1243,1;
+ getitem 2112,1;
+ getitem 2340,1;
+ getitem 2203,1;
+ mes "This is a test worth to be taken.";
+ mes "Here's something for you and we hope that it might help you when you're in trouble.";
+ mes "Of course, we will provide you with weapons and equipments too.";
+ next;
+ callfunc "warpcheck6";
+ close;
+
+}
+//excution staff
+new_1-2.gat,16,183,5 script Excution Staff#npc11-1::Exc 84,{
+
+ mes "[Elmeen]";
+ if(Npc_exc == 1)goto T_2;
+ mes "How is the progress of your first stage course?";
+ mes "Have you learnt the the basic understanding to the world of Ragnarok?";
+ next;
+ mes "[Elmeen]";
+ mes "Well then, let's learn about the basic of battle in the game.";
+ mes "Since you have taken the class of theory, you must have obtained the basic equipment too.";
+ next;
+ mes "[Elmeen]";
+ mes "Please check your equipment before you start to engage in battle.";
+ mes "Have you eqquipped all of your equipments?";
+ next;
+ menu "Yes",equip_Y,"Not Yet",equip_N;
+
+equip_N:
+ mes "[Elmeen]";
+ mes "Please take care of your equipments you've received through training courses.";
+ mes "Once you loe the equipments, you can never get them back.";
+ close;
+
+equip_Y:
+ mes "[Elmeen]";
+ mes "First, you bring your cursor of your mouse on a monster.";
+ mes "And when you left click, it will hit the monster one time.";
+ next;
+ mes "[Elmeen]";
+ mes "If you are too lazy to keek left clicking, left click one time on the monster while holding the CTRL key.";
+ mes "That will allow you to hit the monster untill it's dead";
+ next;
+ mes "[Elmeen]";
+ mes "If you think that it's too troublesome to click CTRL button everytime, please key in the /ns command in the chat window.";
+ mes "Then you will be able to do the same thing as rightclick + CTRL";
+ mes "Key Function";
+ next;
+ mes "[Elmeen]";
+ mes "If the property of a monster is undead, you can use heal skill to attack.";
+ mes "When you use heal skill while holding shift key, it will damage the monster.";
+ next;
+ mes "[Elmeen]";
+ mes "We do have a very convenient option for lazy people,too. Type a command /ns on your chat window.";
+ mes "It will allow you to attack monsters by using the heal skill without holding shift key.";
+ next;
+ mes "[Elmeen]";
+ mes "Do you understand about battle commands now?";
+ mes "From now on, I will be teaching you about the characteristic and the property of monsters, experience points gained through battle and items you can earn from dead monsters.";
+ next;
+ mes "[Elmeen]";
+ mes "Real battle is very dangerous and it suprises me that someone like you wants to win in a battle too....";
+ mes "In order to help you win, I shall call upon some power for you.";
+ next;
+ atcommand strcharinfo(0) + "@baselvlup 1";
+ mes "[Elmeen]";
+ mes "Ah Ah---Hehehehehehehehehe!!!";
+ next;
+ mes "[Elmeen]";
+ mes "Hooo...That's really tiring...";
+ mes "I hope it will do you some help.";
+ mes "What do you want to know now?";
+ set Npc_exc,1;
+ next;
+ menu "Characteristic and property of monsters",C_1,"Experience points",C_2,"Item",C_3,"Cancel",C_4;
+
+Menu2:
+ menu "Characteristic and property of monsters",C_1,"Experience points",C_2,"Item",C_3,"Cancel",C_4;
+
+C_1:
+ mes "[Elmeen]";
+ mes "There are many aggressive ones among monsters. They'll attack you first before you're even close to them.";
+ mes "Also there are few monsters who are very cooperative to their tribe. If you attack one of them, other will come after you for revenge.";
+ next;
+ mes "[Elmeen]";
+ mes "Every monster are specified with their types, sizes and properties.";
+ mes "For instance, monster types are such as demi-human, brute, immortal or devil.";
+ mes "Once you acknowledge which type a monster it, you will be able to lead a easy battle.";
+ next;
+ mes "[Elmeen]";
+ mes "Also, if you can have some cards slotted in your weapons which increases the damage upon certain monster types or cards for your armours which reduces the damage taken,";
+ mes "It will be more easier for you to battle against monsters.";
+ next;
+ mes "[Elmeen]";
+ mes "Monsters are separated by their sizes such as small, medium and large. There are few cards that allows you to do more damage followed by the monster size.";
+ next;
+ mes "[Elmeen]";
+ mes "Every weapon also has it's own strength and weaknesses. Size of the weapon affects on the damage of the weapon dealt with monsters.";
+ mes "For instance, dagger class weapons do 100% more damage of the weapon damage on the small sized monster but they only do 50% on the large monster.";
+ next;
+ mes "[Elmeen]";
+ mes "For the monster property, there are water, wind, earth, fire, shadow, ghost and holy.";
+ mes "If you attack a monster with the opposite property og it, you can do more damages than the damage you normally do.";
+ next;
+ mes "[Elmeen]";
+ mes "On the contrary, if you attack a monster with the same property of it, not only you cannot deal and damage, there is a possibility that you can heal the monster.";
+ mes "For instance, in case of a ghost, property monster, normal weaponry cannot do any damage on the monster, but weapons with elements can.";
+ next;
+ goto Menu2;
+
+C_2:
+ mes "[Elmeen]";
+ mes "Basically, a character who deals the most damage on a monster receives the most experience points from the monster.";
+ mes "Therefore you receive a certain % of experience points in proportion to the damage you've done on the HP amount of a monster";
+ goto Menu2;
+
+C_3:
+ mes "[Elmeen]";
+ mes "When you kill monsters, you can obtain items by chance.";
+ mes "Besides, certain characters can use 'Steal' skill in order to steal items from monsters.";
+ next;
+ mes "[Elmeen]";
+ mes "Don't you worry about the steal skill that might cause you not to find any items after you kill them.";
+ mes "In case you kill a monster with other people, person who did the most damage has prior rights to obtain items";
+ next;
+ goto Menu2;
+
+T_2:
+ mes "[Elmeen]";
+ mes "Do you want to hear it again?";
+ mes "How about listening it again?";
+ next;
+ menu "Characteristic and property of monsters",C_1_2,"Experience points",C_2_2,"Item",C_3_3,"Basic Knowledge of battle",C_4,"Cancel",C_5;
+
+C_4:
+ mes "[Elmeen]";
+ mes "Oh, ok. Come back again if you need to revise anything";
+ close;
+
+C_5:
+ mes "[Elmeen]";
+ mes "First, you bring your cursor of your mouse on a monster.";
+ mes "And when you left click, it will hit the monster one time.";
+ next;
+ mes "[Elmeen]";
+ mes "If you are too lazy to keek left clicking, left click one time on the monster while holding the CTRL key.";
+ mes "That will allow you to hit the monster untill it's dead";
+ next;
+ mes "[Elmeen]";
+ mes "If you think that it's too troublesome to click CTRL button everytime, please key in the /ns command in the chat window.";
+ mes "Then you will be able to do the same thing as rightclick + CTRL";
+ mes "Key Function";
+ next;
+ mes "[Elmeen]";
+ mes "If the property of a monster is undead, you can use heal skill to attack.";
+ mes "When you use heal skill while holding shift key, it will damage the monster.";
+ next;
+ mes "[Elmeen]";
+ mes "We do have a very convenient option for lazy people,too. Type a command /ns on your chat window.";
+ mes "It will allow you to attack monsters by using the heal skill without holding shift key.";
+ close;
+
+C_1_2:
+ mes "[Elmeen]";
+ mes "There are many aggressive ones among monsters. They'll attack you first before you're even close to them.";
+ mes "Also there are few monsters who are very cooperative to their tribe. If you attack one of them, other will come after you for revenge.";
+ next;
+ mes "[Elmeen]";
+ mes "Every monster are specified with their types, sizes and properties.";
+ mes "For instance, monster types are such as demi-human, brute, immortal or devil.";
+ mes "Once you acknowledge which type a monster it, you will be able to lead a easy battle.";
+ next;
+ mes "[Elmeen]";
+ mes "Also, if you can have some cards slotted in your weapons which increases the damage upon certain monster types or cards for your armours which reduces the damage taken,";
+ mes "It will be more easier for you to battle against monsters.";
+ next;
+ mes "[Elmeen]";
+ mes "Monsters are separated by their sizes such as small, medium and large. There are few cards that allows you to do more damage followed by the monster size.";
+ next;
+ mes "[Elmeen]";
+ mes "Every weapon also has it's own strength and weaknesses. Size of the weapon affects on the damage of the weapon dealt with monsters.";
+ mes "For instance, dagger class weapons do 100% more damage of the weapon damage on the small sized monster but they only do 50% on the large monster.";
+ next;
+ mes "[Elmeen]";
+ mes "For the monster property, there are water, wind, earth, fire, shadow, ghost and holy.";
+ mes "If you attack a monster with the opposite property og it, you can do more damages than the damage you normally do.";
+ next;
+ mes "[Elmeen]";
+ mes "On the contrary, if you attack a monster with the same property of it, not only you cannot deal and damage, there is a possibility that you can heal the monster.";
+ mes "For instance, in case of a ghost, property monster, normal weaponry cannot do any damage on the monster, but weapons with elements can.";
+ next;
+ goto Menu2;
+
+C_2_2:
+ mes "[Elmeen]";
+ mes "Basically, a character who deals the most damage on a monster receives the most experience points from the monster.";
+ mes "Therefore you receive a certain % of experience points in proportion to the damage you've done on the HP amount of a monster";
+ goto Menu2;
+
+C_3_2:
+ mes "[Elmeen]";
+ mes "When you kill monsters, you can obtain items by chance.";
+ mes "Besides, certain characters can use 'Steal' skill in order to steal items from monsters.";
+ next;
+ mes "[Elmeen]";
+ mes "Don't you worry about the steal skill that might cause you not to find any items after you kill them.";
+ mes "In case you kill a monster with other people, person who did the most damage has prior rights to obtain items";
+ next;
+ goto Menu2;
+
+}
+
+// Potato Merchant
+
+ new_1-2.gat,29,284,7 shop Potato Merchant 49,516:15
+
+//////////////////////////////////////////////////////
+// Area 3
+//////////////////////////////////////////////////////
+//
+//
+//
+//
+//////////////////////////////////////////////////////
+
+//new_1-3.gat,96,29,5 script test#npc12-1::Test Examiner 727,{
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+//==============================================================================
+//Novice
+//==============================================================================
+//Outer Courtyard <=> Castle Entrance Hall - OK for new Training Grounds
+new_1-1.gat,148,112,0 warp new01 2,3,new_1-2.gat,100,9
+new_1-2.gat,100,6,0 warp new02 2,3,new_1-1.gat,144,112
+//Main Room <=> Left Room - OK for new Training Grounds
+new_1-2.gat,73,106,0 warp new05 2,4,new_1-2.gat,41,172
+new_1-2.gat,46,172,0 warp new06 2,4,new_1-2.gat,78,106
+//Battle Field <=> Last Room - not checked yet on new Training Grounds
+new_1-3.gat,96,175,0 warp new07 3,2,new_1-4.gat,100,14
+
+//Outer Courtyard <=> Castle Entrance Hall - OK for new Training Grounds
+new_2-1.gat,148,112,0 warp new01 2,3,new_2-2.gat,100,9
+new_2-2.gat,100,6,0 warp new02 2,3,new_2-1.gat,144,112
+//Main Room <=> Left Room - OK for new Training Grounds
+new_2-2.gat,73,106,0 warp new05 2,4,new_2-2.gat,41,172
+new_2-2.gat,46,172,0 warp new06 2,4,new_2-2.gat,78,106
+//Battle Field <=> Last Room - not checked yet on new Training Grounds
+new_2-3.gat,96,175,0 warp new07 3,2,new_2-4.gat,100,14
+
+//Outer Courtyard <=> Castle Entrance Hall - OK for new Training Grounds
+new_3-1.gat,148,112,0 warp new01 2,3,new_3-2.gat,100,9
+new_3-2.gat,100,6,0 warp new02 2,3,new_3-1.gat,144,112
+//Main Room <=> Left Room - OK for new Training Grounds
+new_3-2.gat,73,106,0 warp new05 2,4,new_3-2.gat,41,172
+new_3-2.gat,46,172,0 warp new06 2,4,new_3-2.gat,78,106
+//Battle Field <=> Last Room - not checked yet on new Training Grounds
+new_3-3.gat,96,175,0 warp new07 3,2,new_3-4.gat,100,14
+
+//Outer Courtyard <=> Castle Entrance Hall - OK for new Training Grounds
+new_4-1.gat,148,112,0 warp new01 2,3,new_4-2.gat,100,9
+new_4-2.gat,100,6,0 warp new02 2,3,new_4-1.gat,144,112
+//Main Room <=> Left Room - OK for new Training Grounds
+new_4-2.gat,73,106,0 warp new05 2,4,new_4-2.gat,41,172
+new_4-2.gat,46,172,0 warp new06 2,4,new_4-2.gat,78,106
+//Battle Field <=> Last Room - not checked yet on new Training Grounds
+new_4-3.gat,96,175,0 warp new07 3,2,new_4-4.gat,100,14
+
+//Outer Courtyard <=> Castle Entrance Hall - OK for new Training Grounds
+new_5-1.gat,148,112,0 warp new01 2,3,new_5-2.gat,100,9
+new_5-2.gat,100,6,0 warp new02 2,3,new_5-1.gat,144,112
+//Main Room <=> Left Room - OK for new Training Grounds
+new_5-2.gat,73,106,0 warp new05 2,4,new_5-2.gat,41,172
+new_5-2.gat,46,172,0 warp new06 2,4,new_5-2.gat,78,106
+//Battle Field <=> Last Room - not checked yet on new Training Grounds
+new_5-3.gat,96,175,0 warp new07 3,2,new_5-4.gat,100,14
+
+
+//////////////////////////////////////////////////////////////////////////////
+/// Area Warp Call Function Check
+//////////////////////////////////////////////////////////////////////////////
+
+//callfunc "warpcheck1";
+function script warpcheck1 {
+
+ if(novarea == 1)warp "new_1-2.gat",100,70;
+ if(novarea == 2)warp "new_2-2.gat",100,70;
+ if(novarea == 3)warp "new_3-2.gat",100,70;
+ if(novarea == 4)warp "new_4-2.gat",100,70;
+ if(novarea == 5)warp "new_5-2.gat",100,70;
+ return;
+}
+
+//callfunc "warpcheck2";
+function script warpcheck2 {
+
+ if(novarea == 1)warp "new_1-2.gat",28,178;
+ if(novarea == 2)warp "new_2-2.gat",28,178;
+ if(novarea == 3)warp "new_3-2.gat",28,178;
+ if(novarea == 4)warp "new_4-2.gat",28,178;
+ if(novarea == 5)warp "new_5-2.gat",28,178;
+ return;
+}
+
+//callfunc "warpcheck3";
+function script warpcheck3 {
+
+ if(novarea == 1)warp "new_1-2.gat",115,110;
+ if(novarea == 2)warp "new_2-2.gat",115,110;
+ if(novarea == 3)warp "new_3-2.gat",115,110;
+ if(novarea == 4)warp "new_4-2.gat",115,110;
+ if(novarea == 5)warp "new_5-2.gat",115,110;
+ return;
+}
+
+//callfunc "warpcheck4";
+function script warpcheck4 {
+
+ if(novarea == 1)warp "new_1-2.gat",28,178;
+ if(novarea == 2)warp "new_2-2.gat",28,178;
+ if(novarea == 3)warp "new_3-2.gat",28,178;
+ if(novarea == 4)warp "new_4-2.gat",28,178;
+ if(novarea == 5)warp "new_5-2.gat",28,178;
+ return;
+}
+
+//callfunc "warpcheck5";
+function script warpcheck5 {
+
+ if(novarea == 1)warp "new_1-2.gat",83,110;
+ if(novarea == 2)warp "new_2-2.gat",83,110;
+ if(novarea == 3)warp "new_3-2.gat",83,110;
+ if(novarea == 4)warp "new_4-2.gat",83,110;
+ if(novarea == 5)warp "new_5-2.gat",83,110;
+ return;
+}
+
+
+//callfunc "warpcheck6";
+function script warpcheck6 {
+
+ if(novarea == 1)goto A1;
+ if(novarea == 2)goto A2;
+ if(novarea == 3)goto A3;
+ if(novarea == 4)goto A4;
+ if(novarea == 5)goto A5;
+ return;
+
+A1:
+ warp "new_1-3.gat",96,21;
+ savepoint "new_1-3.gat",96,21;
+ return;
+A2:
+ warp "new_2-3.gat",96,21;
+ savepoint "new_1-3.gat",96,21;
+ return;
+A3:
+ warp "new_3-3.gat",96,21;
+ savepoint "new_1-3.gat",96,21;
+ return;
+A4:
+ warp "new_4-3.gat",96,21;
+ savepoint "new_1-3.gat",96,21;
+ return;
+A5:
+ warp "new_5-3.gat",96,21;
+ savepoint "new_1-3.gat",96,21;
+ return;
+}
+
+
+
+
+///////////////////////////////////////////////////////////
+// Duplication
+///////////////////////////////////////////////////////////
+
+//Xi En
+new_2-1.gat,54,113,5 duplicate(XiEn) Xi En#npc1-2 727
+new_3-1.gat,54,113,5 duplicate(XiEn) Xi En#npc1-3 727
+new_4-1.gat,54,113,5 duplicate(XiEn) Xi En#npc1-4 727
+new_5-1.gat,54,113,5 duplicate(XiEn) Xi En#npc1-5 727
+
+//Guard 1
+new_2-1.gat,144,116,5 duplicate(Guard) Guard#npc2-2 105
+new_3-1.gat,144,116,5 duplicate(Guard) Guard#npc2-3 105
+new_4-1.gat,144,116,5 duplicate(Guard) Guard#npc2-4 105
+new_5-1.gat,144,116,5 duplicate(Guard) Guard#npc2-5 105
+
+//Guard 2
+new_2-1.gat,144,110,5 duplicate(Guard) Guard#npc3-2 105
+new_3-1.gat,144,110,5 duplicate(Guard) Guard#npc3-3 105
+new_4-1.gat,144,110,5 duplicate(Guard) Guard#npc3-4 105
+new_5-1.gat,144,110,5 duplicate(Guard) Guard#npc3-5 105
+
+//Register NPC
+new_2-2.gat,100,29,5 duplicate(regnpc) Registration Staff#npc4-2 56
+new_3-2.gat,100,29,5 duplicate(regnpc) Registration Staff#npc4-3 56
+new_4-2.gat,100,29,5 duplicate(regnpc) Registration Staff#npc4-4 56
+new_5-2.gat,100,29,5 duplicate(regnpc) Registration Staff#npc4-5 56
+
+//Interface Instructor
+new_2-2.gat,100,104,5 duplicate(internpc) Interface Instructor#npc5-2 751
+new_3-2.gat,100,104,5 duplicate(internpc) Interface Instructor#npc5-3 751
+new_4-2.gat,100,104,5 duplicate(internpc) Interface Instructor#npc5-4 751
+new_5-2.gat,100,104,5 duplicate(internpc) Interface Instructor#npc5-5 751
+
+//Item Instructor
+new_2-2.gat,116,110,5 duplicate(itemnpc) Item Instructor#npc6-2 726
+new_3-2.gat,116,110,5 duplicate(itemnpc) Item Instructor#npc6-3 726
+new_4-2.gat,116,110,5 duplicate(itemnpc) Item Instructor#npc6-4 726
+new_5-2.gat,116,110,5 duplicate(itemnpc) Item Instructor#npc6-5 726
+
+//Kafra Service Staff
+new_2-2.gat,118,108,5 duplicate(kafnpc) Kafra Service Staff#npc7-2 115
+new_3-2.gat,118,108,5 duplicate(kafnpc) Kafra Service Staff#npc7-3 115
+new_4-2.gat,118,108,5 duplicate(kafnpc) Kafra Service Staff#npc7-4 115
+new_5-2.gat,118,108,5 duplicate(kafnpc) Kafra Service Staff#npc7-5 115
+
+//Skill NPC
+new_2-2.gat,84,110,5 duplicate(skillnpc) Skill Instructor#npc8-2 753
+new_3-2.gat,84,110,5 duplicate(skillnpc) Skill Instructor#npc8-3 753
+new_4-2.gat,84,110,5 duplicate(skillnpc) Skill Instructor#npc8-4 753
+new_5-2.gat,84,110,5 duplicate(skillnpc) Skill Instructor#npc8-5 753
+
+//Tour NPC
+new_2-2.gat,122,100,5 duplicate(tournpc) Tour Guide#npc9-2 105
+new_3-2.gat,122,100,5 duplicate(tournpc) Tour Guide#npc9-3 105
+new_4-2.gat,122,100,5 duplicate(tournpc) Tour Guide#npc9-4 105
+new_5-2.gat,122,100,5 duplicate(tournpc) Tour Guide#npc9-5 105
+
+//Entrance Guard
+new_2-2.gat,37,183,5 duplicate(entguardnpc) Entrance Guard#npc10-2 92
+new_3-2.gat,37,183,5 duplicate(entguardnpc) Entrance Guard#npc10-3 92
+new_4-2.gat,37,183,5 duplicate(entguardnpc) Entrance Guard#npc10-4 92
+new_5-2.gat,37,183,5 duplicate(entguardnpc) Entrance Guard#npc10-5 92
+
+//Excution NPC
+new_2-2.gat,16,183,5 duplicate(Exc) Execution Staff#npc11-2 84
+new_3-2.gat,16,183,5 duplicate(Exc) Execution Staff#npc11-3 84
+new_4-2.gat,16,183,5 duplicate(Exc) Execution Staff#npc11-4 84
+new_5-2.gat,16,183,5 duplicate(Exc) Execution Staff#npc11-5 84
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/npc/jobs/novice/OLDnovice.txt b/npc/jobs/novice/OLDnovice.txt new file mode 100644 index 000000000..f738ed4ba --- /dev/null +++ b/npc/jobs/novice/OLDnovice.txt @@ -0,0 +1,2339 @@ +//===== eAthena Script =======================================
+//= Novice Training Grounds
+//===== By: ==================================================
+//= eAthena Dev Team (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//= <Description>
+//===== Additional Comments: =================================
+//= Fully working
+//============================================================
+
+//--------------------------------------------------------------
+//------------------ EXPLANATION OF VARIABLES ------------------
+// Permanent variables:
+// before first course:
+// - nov_get_item01: flag to know if Usher had given 150 z
+// in first course:
+// - nov_1_2_cos_c: to know first course advancement
+// - nov_1st_cos: to know number of right/correct answers with Leo Von Frisch
+// - Done_milk: to know if milk has been given by the Newbie Instructor
+// in third course:
+// - set nov_1_4_cos_c: to know third course advancement (to avoid to repeat question)
+// - nov_3_merchant: count the number of answers to become merchant
+// - nov_3_swordman: count the number of answers to become swordman
+// - nov_3_archer: count the number of answers to become archer
+// - nov_3_thief: count the number of answers to become thief
+// - nov_3_magician: count the number of answers to become magician
+// - nov_3_acolyte: count the number of answers to become acolyte
+
+
+// == MONSTERS ==
+//Spawn is included in this file so make shure its not elsewhere to!
+new_1-3.gat,0,0,0,0 monster FABRE 1184,50,0,0,0
+
+
+// == NPCs ==
+// -- Board --
+new_1-1.gat,66,114,1 script Bulletin Board 111,{
+ mes "^FF0000=================================^000000";
+ mes "^FF0000 == ^E40CAA[Welcome] ^CC0000to^FF9000Training ^0000FFGround ^FF0000==^000000";
+ mes "^FF0000=================================^000000";
+ close;
+}
+
+// -- Guards --
+new_1-1.gat,117,107,2 script Guard 105,{
+ set @TEMP,rand(2);
+ if (@TEMP !=0) goto L0;
+ mes "[Guard]";
+ mes "Go! Newbie! Go! You will see a new strength lies in the holy see-er of truth tomorrow!";
+ close;
+
+ L0:
+ mes "[Guard]";
+ mes "Come in! Welcome to the Real world!";
+ mes "We are trying to do our best to support newbies like you!";
+ close;
+}
+
+new_1-1.gat,117,116,2 script Guard 105,{
+ mes "[Guard]";
+ mes "Welcome~ Now, you're in Training Ground~";
+ mes "Please go inside the Castle.";
+ close;
+}
+
+// -- Chief --
+new_1-1.gat,157,124,3 script Training Ground Chief 56,{
+ mes "[Training Ground Chief]";
+ mes "Umm...? Aren't you a Freshman? You have a lot of guts to dare to come up.";
+ mes "Didn't that Guide stop you?";
+ next;
+ menu "He did, but I didn't listen to him.",Lyes,"Nope, he didn't.",Lno;
+
+ Lyes:
+ mes "[Training Ground Chief]";
+ mes "He did? And you came up without any timidity!?";
+ mes "Giggle... giggle...";
+ mes "Muhahahahaha!";
+ next;
+ mes "[Training Ground Chief]";
+ mes "Wow man! You are really something, huh?";
+ mes "Well... Rune-Midgard wants brave man like you. I expect you will be the most efficient man for Ragnarok. Do your best.";
+ close;
+ Lno:
+ mes "[Training Ground Chief]";
+ mes "What...? He didn't? Hmm... I need to improve the moral fiber. Even though the World is in Great fear...";
+ next;
+ mes "[Training Ground Chief]";
+ mes "Go downstairs. Don't disturb me. I need time to think of.";
+ close;
+}
+
+// -- Usher --
+// nov_get_item01: flag to know if Usher had given 150 z.
+// 0: not given
+// 1: given
+new_1-2.gat,100,29,4 script Usher 86,{
+ mes "[Usher]";
+ mes "Welcome to the ^FF0000Training Ground^000000 .";
+ mes "Please choose ^0099FFIntroduction^000000 first if you need to check detailed information about Training Ground.";
+ next;
+ menu "Sign Up on the Training Ground.",Lsign,"Direct Access to Ragnarok.",Ldirect,"^0099FFIntroduction.^000000",Lintro,"Cancel.",Lcancel;
+
+ Lsign:
+ mes "[Usher]";
+ mes "Registration has been confirmed.";
+ mes "Please inquire at each Guide on the course when you need.";
+ next;
+ if (nov_get_item01 == 1) goto Lsign1;
+
+ set nov_get_item01,1;
+ set Zeny,Zeny+150;
+ mes "[Usher]";
+ mes "Training Subsidy 150 Zeny supplied. Please inquire at a Guide on the Center when you need to know your Current Progress.";
+ mes "I will lead you into the Hall.";
+ next;
+
+ Lsign1:
+ set nov_get_item01,0;
+ warp "new_1-2",100,70;
+ close;
+
+ Ldirect:
+ mes "[Usher]";
+ mes "I see.";
+ mes "Hopefully you will contribute to public wellfare in near future, good luck.";
+ next;
+ set nov_1st_cos,0;
+ set nov_get_item01,0;
+ set nov_1_2_cos_c,0;
+ set Done_milk,0;
+ set nov_1_4_cos_c,0;
+ set nov_3_merchant,0;
+ set nov_3_swordman,0;
+ set nov_3_archer,0;
+ set nov_3_thief,0;
+ set nov_3_magician,0;
+ set nov_3_acolyte,0;
+ set @TEMP,rand(6);
+
+ if (@TEMP !=0) goto Ldirect0;
+ savepoint "prontera.gat",273,354;
+ warp "prontera.gat",273,354;
+ close;
+ Ldirect0:
+ if (@TEMP !=1) goto Ldirect1;
+ savepoint "morocc.gat",160,94;
+ warp "morocc.gat",160,94;
+ close;
+ Ldirect1:
+ if (@TEMP !=2) goto Ldirect2;
+ savepoint "geffen.gat",120,100;
+ warp "geffen.gat",120,100;
+ close;
+ Ldirect2:
+ if (@TEMP !=3) goto Ldirect3;
+ savepoint "payon.gat",87,117;
+ warp "payon.gat",87,117;
+ close;
+ Ldirect3:
+ if (@TEMP !=4) goto Ldirect4;
+ savepoint "alberta.gat",116,57;
+ warp "alberta.gat",116,57;
+ close;
+ Ldirect4:
+ savepoint "izlude.gat",94,103;
+ warp "izlude.gat",94,103;
+ close;
+
+ Lintro:
+ mes "[Usher]";
+ mes "The Training Grounds were founded to support New Players of Ragnarok Online,";
+ mes "under the Auspices of the Ministry of Education in Rune Midgard Kingdom.";
+ next;
+ mes "[Usher]";
+ mes "We guide you on to adapt the Mechanics of Ragnarok at ease, also we recommend the Best profession for your personality through the Typology Test.";
+ next;
+ mes "[Usher]";
+ mes "You can train yourself with 3 courses in here.";
+ next;
+ mes "[Usher]";
+ mes "You can learn entire theoretical information in the First Course.";
+ next;
+ mes "[Usher]";
+ mes "You will practice on the Actual spot in Fabres Field, the Second Course. Please do everything as you can do before jumping into the Real Ragnarok World.";
+ next;
+ mes "[Usher]";
+ mes "The Third course is the Typology Test. You will figure out the best job for you with this test.";
+ mes "You just answer the most suited answer when the course master asks you.";
+ next;
+ mes "[Usher]";
+ mes "When you finish whole courses, we'll inform you the result and recommend the Job for you.";
+ mes "Also if you accept our recommendation, we will tender you with small subsidy and let you begin in the specfic town for that Job.";
+ mes "For example, when the result comes 'Archer', you will start in 'Payon'.";
+ next;
+ mes "[Usher]";
+ mes "If you want to apply on the Training Ground, Please choose 'Sign Up on the Training Ground'.";
+ mes "if you not, choose 'Direct Access to Ragnarok'.";
+ next;
+ menu "Sign Up on the Training Ground.",Lsign,"Direct Access to Ragnarok.",Ldirect,"^0099FFIntroduction.^000000",Lintro,"Cancel.",Lcancel;
+ close;
+
+ Lcancel:
+ mes "[Usher]";
+ mes "Take your time.";
+ close;
+}
+
+
+// == FIRST COURSE ==
+// nov_1_2_cos_c: to know first course advancement
+// 0: newbie. Have not begin to speak (must speak to Leo Von Frish).
+// 1: Question 1 Leo Von Frisch done
+// 2: Question 2 Leo Von Frisch done
+// 3: Question 3 Leo Von Frisch done
+// 4: Question 4 Leo Von Frisch done
+// 5: Question 5 Leo Von Frisch done
+// 6: Question 6 Leo Von Frisch done
+// 7: Question 7 Leo Von Frisch done
+// 8: 'NPC Guide' Master done.
+// 9: 'Manner Master' done. Must register for Fabres forest.
+// 10: Register for Fabres forest. Must begin 2nd Course 1th test
+// 11: have been at least once in the Fabres forest.
+// nov_1st_cos: to know number of right/correct answers with Leo Von Frisch
+
+// Done_milk: to know if milk has been given by the Newbie Instructor
+// 0: not speak to Newbie Instructor (or at Fabres forest or more)
+// 1: speak to Newbie Instructor
+
+// -- Instructor --
+new_1-2.gat,81,110,4 script Newbie Instructor 84,{
+ if (Done_milk==0) goto Lyes;
+
+ mes "[Newbie Instructor]";
+ mes "Do you want listen me again?";
+ next;
+ menu "Yes!",Lyes,"No, not again.",Lno;
+
+ Lno:
+ mes "[Newbie Instructor]";
+ mes "Move along to the next course!";
+ close;
+
+ Lyes:
+ mes "[Newbie Instructor]";
+ mes "Ho? A Rookie? So, are you gonna get some education from Sir Leo Von Frisch?";
+ mes "Well ~ I must say he is sort of restless person, so that he tends to skip important issues while training.";
+ mes "I am afraid to say you need aditional education besides his lecture... Alright! I will give you a favour, buddy!";
+ next;
+ mes "[Newbie Instructor]";
+ mes "First off all you need to realise yourself. Your Chracter, the avatar of yourself inside the game has various distictive quality.";
+ mes "Level, EXPerience points, Status et cetera et cetera... many facts gather and construct your character.";
+ mes "Now let's take a look on character Status.";
+ next;
+ mes "[Newbie Instructor]";
+ mes "^FF0000STR (Strength)^000000";
+ mes "- Increase hit point and maximum weight.";
+ mes "^FF0000AGI (Agility)^000000";
+ mes "- Increase flee rate and attack speed.";
+ mes "^FF0000VIT (Vitality)^000000";
+ mes "- Increase defence, maximum health point and HP recovering amount.";
+ next;
+ mes "[Newbie Instructor]";
+ mes "^FF0000INT (intelligence)^000000";
+ mes "- Increase magic attack and magic defence.";
+ mes "^FF0000DEX (Dexterity)^000000";
+ mes "- Increase hitting accuracy and weapon damage.";
+ mes "^FF0000LUK (Luck)^000000";
+ mes "- Affect on various parts.";
+ next;
+ mes "[Newbie Instructor]";
+ mes "You must keep Status abilities in mind before everything.";
+ next;
+ mes "[Newbie Instructor]";
+ mes "When right-clicking on the 'status' button, you will see 'Status window' which shows current condition of a character. Shortcut is 'Alt + A'.";
+ mes "When you bring a cursor on each status, you can see the real meaning of it.";
+ mes "You will gain some points everytime Base Level is up, you can freely distribute them into ^FF00006 status^000000.";
+ next;
+ mes "[Newbie Instructor]";
+ mes "The boxes next to each stat show the ^FF0000base value of the stat plus any bonuses from equipment. The left box shows the point cost to upgrade the stat by 1^000000.";
+ mes "When the character levels up, Blue button appears on the bottom of right side of the monitor screen. Click it to open the status window.";
+ mes "Click the blue Arrow to spend the points you get, ^FF0000You can upgrade stats as you want ^000000.";
+ next;
+ mes "[Newbie Instructor]";
+ mes "Oh well, 'Tendency' hasn't been implemented yet, let's talk later then.";
+ next;
+ mes "[Newbie Instructor]";
+ mes "Shall we move onto the next issue?";
+ next;
+ mes "[Newbie Instructor]";
+ mes "Right-clicking on a character leads you to see individual menu including Trade command.";
+ mes "When left-clicking on Trade menu, ^FF0000'Trade window'^000000 pops up. That's the way you can exchange ^FF0000items or zeny, Ragnarok currency^000000 with another character.";
+ mes "There are 2 different buttons on the bottom of trade window, one is OK, the other is Cancel.";
+ mes "Press OK if you are ready or Cancel if you want to cancel the deal.";
+ next;
+ mes "[Newbie Instructor]";
+ mes "Let's check the ^FF0000'Chat Window'^000000 on the bottom of game screen, which allows you to chat with others. It is devided into 2 parts, you can enter a ^FF0000character name you want to whisper^000000 at the left part.";
+ mes "If you click the button beside the left part, you can check all character names who you have already whispered to or you got whispered so far. So you can whisper to the characters without typing their names again.";
+ mes "At the right part of chat window, you can type the message you want to send. And with the first button beside this part, you can choose chat type as public or private among party members.";
+ mes "With the last button on the chat window, you can arrange chat window size.";
+ next;
+ mes "[Newbie Instructor]";
+ mes "The following text tells you more about the 'Character View'.";
+ mes "When you drag mouse from right to left with the right mouse button held down, the character view rotates (360?.";
+ mes "Holding down the 'Ctrl' key and the right mouse button while dragging the mouse up and down, makes the view ^FF0000Zooming in and out toward the character^000000.";
+ mes "Holding down the 'Shift' key and the right mouse button while dragging the mouse up and down, controls the angle of the view ^FF0000for fixed range^000000.";
+ next;
+ mes "[Newbie Instructor]";
+ mes "This is the last thing I have to teach you about shorcuts. You will realize how important Shorcuts are if you want to play with efficiency.";
+ next;
+ mes "[Newbie Instructor]";
+ mes "^FF0000The 'ESC' ^000000key is the function key, it ^0087FFcalls 'Exit to window' command or 'Return to game' command^000000.";
+ mes "^FF0000 Keys From 'F1' to 'F9'^000000 are shortcut keys for ^0087FFeach item registered on Hot key window^000000.";
+ mes "^FF0000The Key 'F10'^000000 adjusts ^0087FFthe size of chat window^000000.";
+ next;
+ mes "[Newbie Instructor]";
+ mes "^FF0000The key 'F11'^000000 clears ^0087FFall windows except basic information window and chatting box^000000.";
+ mes "^FF0000The key 'F12'^000000 calls ^0087FFHot key window^000000.";
+ mes "^FF0000The key 'insert' on the keyboard^000000 is the hot key for character's to ^0087FFsit or stand^000000. Also you can type ^0087FF'/sit or /stand'^000000 in the chatting Box.";
+ next;
+ mes "[Newbie Instructor]";
+ mes "^FF0000The key 'alt+home'^000000 is ^0087FFShorcut for Ground cursor on / off^000000.";
+ mes "^FF0000The key 'alt+end'^000000 is ^0087FFShorcut for character Health and SKill Point gauge on / off ^000000. You'd better turn it on all the time.";
+ mes "^FF0000The key 'page up & down'^000000 will scroll ^0087FFText in interfaces and the chatting box, Mouse whirl will also scroll^000000.";
+ next;
+ mes "[Newbie Instructor]";
+ mes "We have a system called 'Alignment System'.";
+ mes "When you meet somebody nice or somebody helps you, you can give the person a good point in recognition of services.";
+ mes "On the contrary, to someone who is ill-mannered or doing evil things on people, you can give the person 2 bad points. Meanwhile you will get 1 bad point for the penalty. This is to prevent abuse of the alignment system.";
+ next;
+ mes "[Newbie Instructor]";
+ mes "The Alignment system is only available for adult characters over Novice level 8 and can be used once a day.";
+ mes "I know you don't think this is not important right now, but be careful, it causes you the cumulative effects on your character.";
+ mes "Somehow I believe nice persons will play fair even without this kind of restriction!";
+ next;
+ if (Done_milk==1) goto AfterMilk;
+ set Done_milk,1;
+ getitem 519,1;
+ goto AfterMilk;
+
+ AfterMilk:
+ mes "[Newbie Instructor]";
+ mes "Well... This is all I can tell you, buddy. Leo Von Frisch will take care of you from now on.";
+ mes "Do your best, Ok? Ragnarok is a worthwhile game.";
+ mes "By the way... this is my present for you. I sneaked this from mess hall. Promise me you will do your best, OK?";
+ close;
+}
+
+// -- Leo, Quiz Npc --
+new_1-2.gat,84,115,4 script Leo Von Frisch 85,{
+ if (nov_1_2_cos_c<1) goto startL0;
+ if (nov_1_2_cos_c<7) goto Lcontinue;
+ if (nov_1_2_cos_c==7) goto LNPCMaster;
+ if (nov_1_2_cos_c==8) goto LMannerMaster;
+
+ mes "[Leo Von Frisch]";
+ mes "Umm? What brings you to me? My time is already over. You have finish the First course...";
+ next;
+ goto Lend;
+
+ LMannerMaster:
+ mes "[Leo Von Frisch]";
+ mes "Umm? What brings you to me? My time is already over. Probably your next course will be to speak to the 'Manner Master'...";
+ next;
+ goto Lend;
+
+ LNPCMaster:
+ mes "[Leo Von Frisch]";
+ mes "Um? What's matter? My class is over. Your next course would be 'NPC Guide'...";
+ next;
+ goto Lend;
+
+ Lend:
+ mes "Or... Are you willing to attend again?";
+ next;
+ menu "No, Sir! I apologise about my behaviour!",Lendno,"Yes, Sir! I am!",Lendyes;
+
+ Lendno:
+ mes "[Leo Von Frisch]";
+ mes "If you think not enough, come anytime. Dismissed.";
+ close;
+ Lendyes:
+ mes "[Leo Von Frisch]";
+ mes "Ok! I love your passionate answer!! Let's begin!";
+ next;
+ goto LQ2;
+
+ Lcontinue:
+ set nov_1st_cos, 0;
+ mes "[Leo Von Frisch]";
+ mes "Um... Something interrupted my class without reason.";
+ mes "Anyhow alright. Shall we begin all over again!";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "Are you ready!? Answer me!";
+ next;
+ menu "Yes sir!",LcontinueY,"No,I am not ready yet.",Lno;
+ LcontinueY:
+ if (nov_1_2_cos_c==1) goto LQ2;
+ if (nov_1_2_cos_c==2) goto LQ3;
+ if (nov_1_2_cos_c==3) goto LQ4;
+ if (nov_1_2_cos_c==4) goto LQ5;
+ if (nov_1_2_cos_c==5) goto LQ6;
+ if (nov_1_2_cos_c==6) goto LQ7;
+ close;
+ Lno:
+ mes "[Leo Von Frisch]";
+ mes "'Noooo.'?! You said 'Noooo.'! What were you thinking, you rascal! Go get ready to move! Right now!";
+ close;
+
+ startL0:
+ mes "[Leo Von Frisch]";
+ mes "Come on! Beginner!! Now You are with an Expert of Ragnarok!!";
+ mes "Me! I am God of beginners and I enlighten your pathetic souls from the Darkened World.";
+ mes "Besides I am a Tutor and an itelligence Officer in the 4th Chivarly of Prontera!";
+ mes "You can call me Sir Leo Von Frisch, got that clear?";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "Are you ready!? Answer me!";
+ next;
+ menu "Yes sir!",Lyes,"No, I am not ready yet.",Lno;
+
+ Lyes:
+ mes "[Leo Von Frisch]";
+ mes "Well Done! Ok, Let's begin!! The first chapter is 'Let's Start Ragnarok'!";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "Ah~ I almost forgot to question you something.";
+ mes "What is the best introduction for 'Ragnarok'?";
+ next;
+ menu "War among human beings",LQ1_1,"War between human beings and monsters",LQ1_2,"World that humans have taken over",LQ1_3,"World humans have coexisted with monsters",LQ1_4;
+
+ LQ1_1:
+ set nov_1_2_cos_c,1;
+ mes "[Leo Von Frisch]";
+ mes "Umm... Be cooperate with other people. The world will be end without nothing.";
+ mes "Answer is ^FF0000War between human beings and monsters^000000.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "I will keep surprising you with unexpectable questions, concentrate on my lesson.";
+ mes "I meant you, dumbhead, alright?";
+ mes "Let's carry on.";
+ next;
+ goto LQ2;
+ LQ1_2:
+ getitem 513,1;
+ set nov_1st_cos, nov_1st_cos+1;
+ set nov_1_2_cos_c,1;
+ mes "[Leo Von Frisch]";
+ mes "Yes, that's right. You know well. We are fighting with evil creatures. In most of MMORPG games, they are known as Monsters or commonly just called as Mob.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "I will keep surprising you with unexpectable questions, concentrate on my lesson.";
+ mes "I meant you, dumbhead, alright?";
+ mes "Let's carry on.";
+ next;
+ goto LQ2;
+ LQ1_3:
+ set nov_1_2_cos_c,1;
+ mes "[Leo Von Frisch]";
+ mes "...What the bloody hell are you saying? Why would humans torment creatures for?";
+ mes "Answer is ^FF0000War between human beings and monsters^000000.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "I will keep surprising you with unexpectable questions, concentrate on my lesson.";
+ mes "I meant you, dumbhead, alright?";
+ mes "Let's carry on.";
+ next;
+ goto LQ2;
+ LQ1_4:
+ set nov_1_2_cos_c,1;
+ mes "[Leo Von Frisch]";
+ mes "Oh well... I fully understand your pursue ideal world... Not now, not now.";
+ mes "Answer is ^FF0000War between human beings and monsters^000000.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "I will keep surprising you with unexpectable questions, concentrate on my lesson.";
+ mes "I meant you, dumbhead, alright?";
+ mes "Let's carry on.";
+ next;
+ goto LQ2;
+
+ LQ2:
+ mes "[Leo Von Frisch]";
+ mes "When you click the shortcut for Ragnarok, it will be automatically connected to patch server, which enables you to continually update game articles. MMORPG game keeps being developed to improve its quality.";
+ mes "In the meantime, you can check ^FF0000the Notice^000000 on the patch window.";
+ mes "Read that notice if you don't want to miss any game event or update articles.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "You can coose between one or more servers.";
+ mes "After choosing one of game servers, you can make a character.";
+ mes "3 empty slots or more for character are given to you on the first place, you can have 3 kinds of different characters.";
+ mes "For character appearance, you can choose a favourable hairstyle from a lot of kinds and from some kinds of hair colour. In near future, we will introduce more hair colour and clothings.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "Double Click an empty slot and you can make your character.";
+ mes "^FF0000You can arrange beginning Stats of your character. With that, Your character could be the best for job you wish for.^000000.";
+ mes "So You should consider beginning Stats as well fitting for the job you want your character to be in the future.";
+ next;
+ if (nov_1_2_cos_c>1) goto LQ3;
+ mes "[Leo Von Frisch]";
+ mes "I give you one easy question!";
+ mes "What is the wrong description for each Stat? You should choose WRONG one not right one!!";
+ next;
+ menu "STR - Increase hit point and maximum weight.",LQ2_1,"AGI - Increase flee rate and attack speed.",LQ2_2,"DEX - Increase accuracy and magic defence.",LQ2_3,"INT - Increase magic attack/defence.",LQ2_4;
+
+ LQ2_1:
+ set nov_1_2_cos_c,2;
+ mes "That's wrong!";
+ mes "'DEX - Increase accuracy and magic defence.' is not correct, it should be:";
+ mes "^FF0000'DEX - Increase accuracy and weapon damage.'^000000.";
+ next;
+ goto LQ3;
+ LQ2_2:
+ set nov_1_2_cos_c,2;
+ mes "That's wrong!";
+ mes "'DEX - Increase accuracy and magic defence.' is not correct, it should be:";
+ mes "^FF0000'DEX - Increase accuracy and weapon damage.'^000000.";
+ next;
+ goto LQ3;
+ LQ2_3:
+ getitem 513,1;
+ set nov_1st_cos, nov_1st_cos+1;
+ set nov_1_2_cos_c,2;
+ mes "[Leo Von Frisch]";
+ mes "Alright! You got it.";
+ mes "It is not 'DEX - Increase accuracy and magic defence.', correct description is:";
+ mes "^FF0000'DEX - Increase accuracy and weapon damage.'^000000.";
+ mes "This is reward. Take it.";
+ next;
+ goto LQ3;
+ LQ2_4:
+ set nov_1_2_cos_c,2;
+ mes "That's wrong!";
+ mes "'DEX - Increase accuracy and magic defence.' is not correct, it should be:";
+ mes "^FF0000'DEX - Increase accuracy and weapon damage.'^000000.";
+ next;
+ goto LQ3;
+
+ LQ3:
+ mes "[Leo Von Frisch]";
+ mes "Let's go on.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "Let's move on to 'Basic Interface'.";
+ mes "Alright, check 'Basic Information window' on the upper-left side of your screen. You can see full screen of it with ^FF0000Double Click^000000, when it's shown as the smallest one.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "'Basic Information Window shows ^FF0000Every Fundamental Functions^000000. Also, you can click the specific function windows with the pertinent button .";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "^FF0000'Base Lv'^000000 is the level of character. ^FF0000'Job Lv'^000000 Specializes the Character, it allows a character to learn a skill with ^FF0000Skill Point^000000 everytime at levelup.";
+ mes "Let's spare skill point part for later.";
+ mes "The Gauge bar beside each level is shown how much % of EXP Point you've gained for a next levelup. When it goes into 100% you will raise one level up, this bar will reset into 0 for a next turn.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "Weight shows 'Current Belongings/Maximum Belongings'. When a player possesses things more than a half, it will shown in ^FF0000Red Colour^000000.";
+ mes "From this moment, this player ^FF0000cannot regenerate HP, SP naturally^000000. Furthermore when its amount is over than 90%, ^FF0000a player cannot Fight.^000000";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "If you don't want to be murdered due to your stupidity, lighten your weight as you can.";
+ mes "You can use Kafra Wearhouse to store items. And it will cost you the different local fee from 35 Zeny to 50 Zeny.";
+ next;
+ if (nov_1_2_cos_c>2) goto LQ4;
+ mes "[Leo Von Frisch]";
+ mes "Let's take a break~ Phew...";
+ mes "Ah~ I have an idea~ I will give you a 'for-Fun' question.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "You... Do you remember who I am?";
+ mes "I told you about me before the lesson got started. Now remember? Or you just ignored me as 'Poof~ you are just a nothing but a NPC~'...";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "Ah Ah~ I don't want to show off myself but because I am your tutor. I am just curious. By the way this is just '^990000for fun^000000', you know.";
+ mes "Choose one thing which has nothing to do with me.";
+ next;
+ menu "Instructor.",LQ3_1,"An Intelligence Officer in the 4th Chivarly of Prontera.",LQ3_2,"Public Prosecutor.",LQ3_3,"I have no idea.",LQ3_4;
+
+ LQ3_1:
+ set nov_1_2_cos_c,3;
+ mes "[Leo Von Frisch]";
+ mes "Damn you!... Next!";
+ next;
+ goto LQ4;
+ LQ3_2:
+ set nov_1_2_cos_c,3;
+ mes "[Leo Von Frisch]";
+ mes "Damn you!... Next!";
+ next;
+ goto LQ4;
+ LQ3_3:
+ mes "[Leo Von Frisch]";
+ mes "Fine! I am not a 'Public Prosecutor' but a ^ff0000'Newbie Tutor^000000!";
+ next;
+ getitem 516,3;
+ set nov_1st_cos, nov_1st_cos+1;
+ set nov_1_2_cos_c,3;
+ mes "[Leo Von Frisch]";
+ mes "Take this. It is nothing, but I am so pleased that you remembered me in detail. Share with your pals.";
+ next;
+ goto LQ4;
+ LQ3_4:
+ set nov_1_2_cos_c,3;
+ mes "[Leo Von Frisch]";
+ mes "Damn you!... Next!";
+ next;
+ goto LQ4;
+
+ LQ4:
+ mes "[Leo Von Frisch]";
+ mes "When you click 'Item' button, it shows your inventory. Shortcut is 'Alt + E'.";
+ mes "Item windows is devided into 3 parts, the equipment you are wearing is not shown on the item window.";
+ mes "^FF0000Right Click^000000on each item, you can see its description and a picture.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "To equip items, ^FF0000it is possible to change equipment by Dragging & Dropping it onto your equipment window, Shorcut is 'ALT+Q'. You can also double click the item ^000000.";
+ mes "^FF0000You can register 9 items or skills from F1 to F9 in the hotkey window^000000.";
+ mes "You should have the hot key window open at all time. You can play easier that way.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "You can see ^FF0000Present skills^000000when you click 'Skill' button. Shorcut is 'Alt + S'.";
+ mes "^FF0000Every time the character's job levels up, you get skill points^000000. You will see blue button in the bottom left corner of your monitor screen.";
+ mes "You can check skill informations ^FF0000by right clicking on each Skill Icon^000000.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "Passive skill means ^FF0000You don't have to spend your SP to use it. It is always in effect^000000. The opposite from Active skill.";
+ mes "Also skills are ^FF0000possible to register on the Hot key window^000000, you can use your favorite skills quickly and easily this way.";
+ next;
+ if (nov_1_2_cos_c>3) goto LQ5;
+ mes "[Leo Von Frisch]";
+ mes "One Question for you!";
+ mes "How to see each item's description and the picture with the mouse?";
+ next;
+ menu "Double Click",LQ4_1,"Right Click",LQ4_2,"Drag & Drop",LQ4_3;
+
+ LQ4_1:
+ set nov_1_2_cos_c,4;
+ mes "[Leo Von Frisch]";
+ mes "That's wrong!";
+ mes "It is ^FF0000'Right Click'^000000!";
+ next;
+ goto LQ5;
+ LQ4_2:
+ getitem 512,1;
+ set nov_1st_cos, nov_1st_cos+1;
+ set nov_1_2_cos_c,4;
+ mes "[Leo Von Frisch]";
+ mes "It is ^FF0000'Right Click'^000000! Correct!";
+ mes "I will reward you for the correct answer. Take it.";
+ next;
+ goto LQ5;
+ LQ4_3:
+ set nov_1_2_cos_c,4;
+ mes "[Leo Von Frisch]";
+ mes "That's wrong!";
+ mes "It is ^FF0000'Right Click'^000000!";
+ next;
+ goto LQ5;
+
+ LQ5:
+ mes "[Leo Von Frisch]";
+ mes "Ok, Back to the Lesson.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "^FF0000At novice level 4 or above, you can make your own chat room with 'Chat' Button^000000. Shorcut is 'Alt + C'.";
+ mes "You can't move when you are in chatroom, but chatting and item trading are available.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "With 'Friend' button, a 'Party' window pops up. You can see all party members and their present location.";
+ mes "Shorcut is 'Alt + Z'.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "Party members being on the same map with you, ^FF0000are shown on the mini-map^000000, Party window is going to be updated.";
+ mes "So that it will act as messenger function like party members log-in. Also it will be upgraded like G-Freind that can connect between Ragnarok and outside.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "With 'Map' button, you can use mini-map in various ways. It can be translucent, opaque and invisible. Also with the +, - button, ^FF0000it is possible to enlarge and reduce its Size^000000. Shorcut is 'Ctrl + Tab'.";
+ mes "Red spot on the mini-map is the loading point to the next map. Player's location is shown like a white arrow. The direction of the white arrow shows which way the player facing.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "The 'Equip' button, ^FF0000opens The window showing the character's equipped items^000000. Shorcut is 'Alt + Q'.";
+ mes "Each equipped item can be ^FF0000right clicked for description and picture^000000, ^FF0000You can equip and unequip items by dragging and dropping between the equipment and inventory windows^000000.";
+ mes "Also Every equipment can be registered on the Hot Key window so you can change your weapon easily.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "The 'Option' button opens the window that allows you to controll the BGM and Sound Effect and turn on/off them. Shorcut is 'Alt + O'.";
+ mes "After Feb 2002, you can also select a window skin from self-made skins shared in fansites.";
+ next;
+ if (nov_1_2_cos_c>4) goto LQ6;
+ mes "[Leo Von Frisch]";
+ mes "Another Question!";
+ mes "Which one is the shortcut for hot key window that hleps you to play easier ?";
+ next;
+ menu "F1",LQ5_1,"F15",LQ5_2,"F16",LQ5_3,"F12",LQ5_4;
+
+ LQ5_1:
+ set nov_1_2_cos_c,5;
+ mes "[Leo Von Frisch]";
+ mes "That's wrong!";
+ mes "The right key is 'F12'";
+ next;
+ goto LQ6;
+ LQ5_2:
+ set nov_1_2_cos_c,5;
+ mes "[Leo Von Frisch]";
+ mes "That's wrong!";
+ mes "The right key is 'F12'";
+ next;
+ goto LQ6;
+ LQ5_3:
+ set nov_1_2_cos_c,5;
+ mes "[Leo Von Frisch]";
+ mes "That's wrong!";
+ mes "The right key is 'F12'";
+ next;
+ goto LQ6;
+ LQ5_4:
+ getitem 517,1;
+ set nov_1st_cos, nov_1st_cos+1;
+ set nov_1_2_cos_c,5;
+ mes "[Leo Von Frisch]";
+ mes "That's right. 'F12' is correct answer.";
+ mes "This is for you.";
+ next;
+ goto LQ6;
+
+ LQ6:
+ mes "[Leo Von Frisch]";
+ mes "OK Let's move on.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "The End.";
+ next;
+ if (nov_1_2_cos_c>5) goto LQ7;
+ mes "[Leo Von Frisch]";
+ mes "Quiz time!";
+ mes "Choose One showing the Right Shortcut for 'Sit' and the Command you type in the Chat Box.";
+ next;
+ menu "'insert' - /Sit",LQ6_1,"'page down' - /Sitting",LQ6_2,"'home' - /Sitdown",LQ6_3,"'delete' - /stand",LQ6_4;
+
+ LQ6_1:
+ getitem 519,1;
+ set nov_1st_cos, nov_1st_cos+1;
+ set nov_1_2_cos_c,6;
+ mes "[Leo Von Frisch]";
+ mes "Yeah, correct.";
+ next;
+ goto LQ7;
+ LQ6_2:
+ set nov_1_2_cos_c,6;
+ mes "[Leo Von Frisch]";
+ mes "Wrong. 'insert' - /Sit is the correct one.";
+ next;
+ goto LQ7;
+ LQ6_3:
+ set nov_1_2_cos_c,6;
+ mes "[Leo Von Frisch]";
+ mes "Wrong. 'insert' - /Sit is the correct one.";
+ next;
+ goto LQ7;
+ LQ6_4:
+ set nov_1_2_cos_c,6;
+ mes "[Leo Von Frisch]";
+ mes "Wrong. 'insert' - /Sit is the correct one.";
+ next;
+ goto LQ7;
+
+ LQ7:
+ mes "[Leo Von Frisch]";
+ mes "Guys, Thank you for standing my boring class for now. And I am not sure whether you fully understand or not.";
+ mes "If you can't get it, play by yourself. 'The proof of the pudding is in the eating.', the proverb.";
+ mes "I hope my class will be helpful to your wretched future in Ragnarok.";
+ next;
+ if (nov_1_2_cos_c > 6) goto LFinishAgain;
+ if (nov_1st_cos > 0) goto nov1stcosCont;
+ mes "[Leo Von Frisch]";
+ mes "By the way... You've missed all answer!!!";
+ mes "You are the worst trainee I've ever had. Sigh...";
+ next;
+ goto nov1stcosCont;
+
+ nov1stcosCont:
+ if (nov_1st_cos < 5) goto nov1stcosCheckL5;
+ if (nov_1st_cos == 5) goto nov1stcosCheckE5;
+ if (nov_1st_cos == 6) goto nov1stcosCheckE6;
+
+ nov1stcosCheckL5:
+ getitem 507,1;
+ goto nov1stcosContNext;
+ nov1stcosCheckE5:
+ getitem 507,2;
+ goto nov1stcosContNext;
+ nov1stcosCheckE6:
+ getitem 507,4;
+ goto nov1stcosContNext;
+
+ nov1stcosContNext:
+ set nov_1_2_cos_c,7;
+ mes "[Leo Von Frisch]";
+ mes "I will reward you for the successful lesson. Take it. They will be useful when you have a hard time to fight.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "Anyway, Let's call it a day with me, you may go to the 'NPC' master.";
+ mes "If you can't find him, inquire at the sly dog at the centre";
+ close;
+
+ LFinishAgain:
+ mes "[Leo Von Frisch]";
+ mes "Anyway, Let's call it a day with me, you may go to the 'Guide' to know what you must do now.";
+ mes "If you can't find him, search at the centre of the room.";
+ close;
+
+}
+
+// -- Guide Npc --
+new_1-2.gat,99,156,4 script Guide 105,{
+ mes "[Guide]";
+ mes "Hey Hey Where are you going? There is nothing for a Newbie like you upstairs.";
+ mes "Go and take the required trainings!";
+ close;
+}
+
+// -- Guide Npc --
+new_1-2.gat,100,113,4 script Guide 97,{
+ set @R_SEL_NUM,rand(2);
+ mes "[Guide]";
+ if (@R_SEL_NUM != 0) goto tmp1;
+ mes "Mumble~Mumble~Life is getting Sick~What a boring Job I have~~ I was stupid enough to choose this Boring and Solitary thing! Ah~";
+ goto NMes;
+ tmp1:
+ mes "I miss my good-for-nothing day~ Phew~ I should never accepted the Full time job... Eh?!";
+ goto NMes;
+
+ NMes:
+ mes "Hey Buddy~ Want some Help?";
+ next;
+ menu "Current Course State.",-, "Quit.",L0;
+
+ mes "[Guide]";
+ mes "Hmm... Let me see...";
+ if (nov_1_2_cos_c == 9) goto L00a;
+ if (nov_1_2_cos_c == 8) goto L00b;
+ if (nov_1_2_cos_c == 7) goto L00c;
+ mes "I assure you are at the first place with this empty list of yours. You must go toward the Northwest.";
+ mes "And meet 'Leo Von Frisch', the odd veteran Knight. He is a little bit boring, but that's ok. If you work out a correct answer to his question, he will give you some Snacks. So concentrate on him, Okay?";
+ close;
+
+ L00a:
+ mes "Ah...? finished the First Course?";
+ mes "Then meet the guy over there at the southwest, tell him 'I got the 1st lesson.'. He will lead you to the Second Hall.";
+ mes "Well done~ Bye Bye~ Take Care, Okay?";
+ close;
+ L00b:
+ mes "Err...? Didn't you hear the 'NPC Guide' Master's saying? Told you to go to the table right next him. Sigh~ Hurry up~";
+ close;
+ L00c:
+ mes "Did you attend to 'Sir Leo Von Frisch''s Lesson already? Umm the next is...";
+ mes "Go toward next hall at the Southeast, you will see two guys over there.";
+ mes "Ask either of them~";
+ close;
+
+ L0:
+ mes "[Guide]";
+ mes "Alright~ Bye Bye~ Don't comback unless you have no idea~";
+ close;
+}
+
+// -- Monster Explaination --
+new_1-2.gat,115,115,4 script Monster Expert 93,{
+ mes "[Monster Expert]";
+ mes "Hello My name is 'Rane' the Monster Expert in Rune-Midagrd Kingdom.";
+ mes "I'll explain things about Monsters, Briefly.";
+ next;
+ mes "[Monster Expert]";
+ mes "You can See 2 types of Monsters, Non-Aggressive One and Hostile One.";
+ mes "Luckily, there are Non-Aggressive ones around Every City or town so that you don't have to worry about getting assaulted, but in Caves, Dungeons or even the Deep Forest Hostile Monsters are ready to attack you.";
+ next;
+ mes "[Monster Expert]";
+ mes "Besides, the round and pink monster 'Poring' or 'Thief Bug' tends to swallows items rather than attack.";
+ mes "So just ignore them even if they walk up to near you. They won't harm you before you attack.";
+ next;
+ mes "[Monster Expert]";
+ mes "You can see a living statue of the famous 'Poring', a looter, behind me,";
+ mes "and another of the little 'Baphomet Jr.', one of the strongest agressiv monster.";
+ next;
+ mes "[Monster Expert]";
+ mes "And Just run away when you feel danger while fighting. If you go to the distance they won't be able to follow you.";
+ mes "Good Luck.";
+ close;
+}
+
+// -- Fake Poring --
+new_1-2.gat,112,120,5 script Statue of Poring 1002,{
+ mes "[Living statue of Poring]";
+ mes "'Don't touch please.'";
+ close;
+}
+
+// -- Fake Bapho Jr. --
+new_1-2.gat,119,120,3 script Statue of Baphomet Jr. 1101,{
+ mes "[Living statue of Baphomet Jr.]";
+ mes "'Don't touch please.'";
+ close;
+}
+
+// -- Fake Kafra --
+new_1-2.gat,158,158,8 script Kafra 117,{
+ mes "'Please leave me alone.'";
+ close;
+}
+
+// -- Fake Guide --
+new_1-2.gat,161,158,8 script Guide 105,{
+ mes "'Please leave me alone.'";
+ close;
+}
+
+// -- Npc Explanation --
+new_1-2.gat,160,183,5 script NPC Master 83,{
+ if (nov_1_2_cos_c==7) goto Lstart;
+ if (nov_1_2_cos_c>7) goto nov12coscM7;
+
+ mes "[NPC Master]";
+ mes "You are not supposed to be here yet. Attend 'Sir Leo Von Frisch''s Lesson first.";
+ mes "If you can't find him, go outside this hall, inquire at the Guide on the Centre.";
+ close;
+
+ nov12coscM7:
+ mes "[NPC Master]";
+ mes "Huh? Why are you here again? I told you everything. Do you want me to do that again?";
+ next;
+ menu "Yeah.",L0,"No not really.",L1;
+
+ L0:
+ mes "[NPC Master]";
+ mes "Alright alrighty. I will repeat for you.";
+ next;
+ goto Ltell;
+ L1:
+ if (nov_1_2_cos_c>8) goto nov12coscM8;
+ mes "[NPC Master]";
+ mes "Next Course is about 'Various examples of rude mannered players and cheaters'. Go to the right table.";
+ close;
+
+ nov12coscM8:
+ mes "[NPC Master]";
+ mes "Did you finish the Newbie Class? What am I talking about? Err... You know what I am saying~whatever...";
+ close;
+
+ Lstart:
+ mes "[NPC Master]";
+ mes "You said you finished the Newbie Class, didn't you? Then from now on I will give tips about NPCs which serve you in Ragnarok.";
+ next;
+ goto Ltell;
+
+ Ltell:
+ mes "[NPC Master]";
+ mes "First, Rune-Midgard Troops which^ff0000 have building locations of each Town^000000.";
+ next;
+ mes "[NPC Master]";
+ mes "They are standing at ^FF0000the enterance or the centre of Town^000000, if you don't know much about buildings, inquire at them. You won't ever be disappointed.";
+ next;
+ mes "[NPC Master]";
+ mes "Second, Kafra Wearhouse where you can ^ff0000'Save'^000000and ^ff0000'Store items'^000000 and ^ff0000'Rent a Cart'^000000.";
+ mes "'Save' means, ^ff0000set your respawn point preparing death while fighting or for the next time ^000000.";
+ mes "So better save than forget? Kafra Staffs are standing at the similar spots as Rune-Midgard Troops.";
+ mes "If you don't save at all, you walk a long way and bam~!you die. Then~There is no choice but to walk all the way back again. Doesn't it sound horrible?";
+ next;
+ mes "[NPC Master]";
+ mes "And you can store your extra items in 'Kafra Wearhouse'. You can access the Storage wherever Kafra Staffs are located.";
+ mes "I always think: 'Use storage' Service is the best for Infrastructure among MMORPG world!! Muhahahaha!!!";
+ if (nov_1_2_cos_c==7) goto LtellNext;
+ mes "Heh Heh~ And they are all beautiful girls~ What about their boss...? Is it a she or He? I am curious...";
+ goto LtellNext;
+
+ LtellNext:
+ next;
+ mes "[NPC Master]";
+ mes "Unlike 'Save', 'Use the Storage' requires a small fee. The fee is different in different areas.";
+ next;
+ mes "[NPC Master]";
+ mes "Last, Those Babes allow you to rent a Cart for the merchant's skill, 'Pushcart'...";
+ next;
+ mes "[NPC Master]";
+ mes "Now let's check how they look like. So You will find them easily next time.";
+ mes "We display figures of them over there. Just take a look before you go the next course.";
+ next;
+ if (nov_1_2_cos_c>7) goto LtellM7;
+ mes "[NPC Master]";
+ mes "Those figures... they were supposed to be right beside me first time... For me they felt really spooky... Imagine, Someone behind you without motion... spooky, huh?";
+ mes "That's why I moved them over there... And now I can see them in front of my eyes... They feel more spooky now...";
+ next;
+ set nov_1_2_cos_c,8;
+ goto LtellM7;
+
+ LtellM7:
+ mes "[NPC Master]";
+ mes "Let's call it a day. Next Course is about 'Various examples of rude mannered players and cheaters'. Go to the right table.";
+ close;
+}
+
+// -- Guide --
+new_1-2.gat,183,183,3 script Guide 95,{
+ if (nov_1_2_cos_c==8) goto Lstart;
+ if (nov_1_2_cos_c>=9) goto Lagain;
+ mes "[Manner Master]";
+ mes "Eh... Ah... Not here not yet... Well... What I mean is... Well... uh...";
+ mes "What I mean is... You should attend to ^FF0000Leo Von Frisch's class on beginner help^000000 first...";
+ mes "Eh... And after... Speak to 'NPC Master'... uh...";
+ close;
+
+ Lstart:
+ mes "[Manner Master]";
+ mes "Greetings~ I am just simple man who will inform you of 'Various examples of Ill-mannered players and cheaters'.";
+ mes "Shall we begin?";
+ next;
+ goto Ltell;
+
+ Ltell:
+ mes "[Manner Master]";
+ mes "1st, Let's get Started with ^ff0000Examples for Ill-manners and attentions ^000000. Just sit down and take it easy.";
+ next;
+ mes "[Manner Master]";
+ mes "There are 3 kinds of Rude manners, 'Mob Stealing', 'Looting' and 'Mob Train'. First off I will tell you about 'Mob Stealing'.";
+ mes "Ah~Before get started, let me tell you about 'Experience Points System in Ragnarok' that is much helpful to your understanding of 'Mob Stealing'. This is very important, Please listen.";
+ next;
+ mes "[Manner Master]";
+ mes "The player who deals the most damage to the monster, takes the most Experience Points. It is based on the percentage of damage you do. You can get more Experience Points by doing more damages.";
+ next;
+ mes "[Manner Master]";
+ mes "For example, if the player named 'Kitten the cat' attacks a monster having 100 HP and he does 65 damage on it, 'Kitten the cat' can get 65% of Experience Points from the monster.";
+ mes "Usually this is the way you get Experience Points from Monsters. But it could be different in some situation.";
+ next;
+ mes "[Manner Master]";
+ mes "This is a different situation when someone joins in on the attack.";
+ next;
+ mes "[Manner Master]";
+ mes "First, the previous player 'Kitten the cat' attacks a monster having 100 HP and he does 50 damage, the other player 'Polar bear' attacks that monster and does the same damage.";
+ next;
+ mes "[Manner Master]";
+ mes "In this situation, 'Kitten the cat' can get double the Experience Points of 'Polar bear'. 'Kitten the cat' gets '66.6%'of the Experience Points, 'Polar bear' gets '33.3%' of the Experience Points.";
+ mes "Get it? Don't ask me about the remaining '0.1' of the Experience Points.I don't know where it goes~.I am not a director.HeHe~";
+ next;
+ mes "[Manner Master]";
+ mes "'Kitten the cat' takes damage from the monster during the fight,";
+ mes "'Polar Bear', a stranger to 'Kitten the cat' can get 1/2 of the Experience Points from 'Kitten the cat' without taking any damage.";
+ mes "That's why we called this '^ff0000Mob Stealing^000000'.";
+ next;
+ mes "[Manner Master]";
+ mes "Briefely and clearly, 'Mob Stealing' is a behaviour of a player ^970197Who doesn't care about the others^000000.";
+ mes "And ^970197Just try to take advantage of others^000000 without any self-effort.";
+ next;
+ mes "[Manner Master]";
+ mes "'Looting' is similar as Mob Stealing. While 'Mob Stealing', when a Player who Never fought picks up items belonging others, it is called '^ff0000Looting^000000'.";
+ mes "Difference Between 'Mob Stealing' and 'Looting'is 'Experience Points'and 'Item'. Very Simple.";
+ mes "But, after the Anti-Loot Patch came, The Sistuation has been getting better. And Anti-Loot wll be patched continuously.";
+ next;
+ mes "[Manner Master]";
+ mes "Let's talk about 'Mob Train'.";
+ mes "One player starts to attack a bunch of monsters. Those monsters start to follow that player. Because Monster AI is not fully implemented yet.";
+ mes "The player then walks near other players and either exits the game or uses the thief skill hide. The monsters lose their target and immediately attack the nearlest person.";
+ next;
+ mes "[Manner Master]";
+ mes "Briefly, 'Mob Train' means attacking a bunch of monsters with a purpose of abusing other players.";
+ mes "If you want to be infamous in Ragnarokonline, I will suggest you do these things above. But if you do that, you would be the worst enemy to the public. Many players will dislike you.";
+ next;
+ mes "[Manner Master]";
+ mes "OK the Next topic is 'The Cheaters'.";
+ mes "The Cheaters are usually called 'Impersonating Server Staffs', 'Scammers', 'Beginer Scammers'.";
+ mes "Umm... Let's start with 'Server Staff Imposter'.";
+ next;
+ mes "[Manner Master]";
+ mes "Usually There are Players who pretend to be Management Crews. They ask other players let them know things like userID and Password. They then try to steal players' items and zeny.";
+ mes "But Management Crews will never ask you for your userID or password. Please remember.";
+ next;
+ mes "[Manner Master]";
+ mes "And please check out the official board frequently as you can. You can see what is going on clearly.";
+ next;
+ mes "[Manner Master]";
+ mes "'Scammer' means a merchant player who try to cheat on the price of their items to the other players.";
+ mes "For example, A Merchant opens a shop with the name 'Weapon price 20,000 zeny', but the actual weapon price in his Shop is 200,000 zeny.";
+ mes "When you trade with merchants, Please always check the price of item. Here is a tip, Zeny is separated with a comma after every three units.like this:'2,000', '20,000' or '200,000'.";
+ next;
+ mes "[Manner Master]";
+ mes "Our last one is 'Beginner Scammers'.";
+ mes "Beginners are especially easy to be cheated. The cheaters tempt you with unavailable items or weapon upgrading.";
+ next;
+ mes "[Manner Master]";
+ mes "So beginners should refer item descriptions on the website. You can check them in 'Guide' section.";
+ mes "In addition, In Ragnarokonline Unathorized item Duplication is a Violation of applicable laws. Please remember that.";
+ next;
+ mes "[Manner Master]";
+ mes "Heh~ It's a lot of informations for you right...? I didn't mean to take so long. Heh Heh...";
+ mes "Ah~ Right! I forgot one really important thing.";
+ next;
+ mes "[Manner Master]";
+ mes "About 'Swearing'... Heh Heh~~I believe you already know... Anyway... No way No swearwords~~";
+ mes "Rude behaviour plus! Swearing... Ummm This is what they mean by ^970197the audacity of the thief^000000...";
+ mes "... That would be '^FF0000The worst kind of player in Ragnarokonline^000000'...?";
+ next;
+ mes "[Manner Master]";
+ mes "Please E-mail us when you want to report these rude players showing the chat window text. You can use 'Print Screen' button when you want to take a picture of screen.";
+ mes "If you report to us with the perfect proof, The player accused of being rude mannered could be warned at first time. Then he could be banned forever.";
+ next;
+ mes "[Manner Master]";
+ mes "Especially to players with a past conviction for rude behaviour, we take strong actions~.";
+ next;
+ mes "[Manner Master]";
+ mes "Listen, Rude players~! When The day comes to PK...";
+ mes "You might be dead under the feet of outraged players who have been abused...";
+ mes "Also You would be freaked out and could not play forever.";
+ next;
+ mes "[Manner Master]";
+ mes "Ok, This is the end of my lesson. You just finished your 1st course. Congratulations.";
+ mes "When you go to the west side through the centre, See the helper who help you to go to the 2nd Course.";
+ if (nov_1_2_cos_c>8) goto LtellM8;
+ set nov_1_2_cos_c,9;
+ goto LtellM8;
+
+ LtellM8:
+ close;
+
+ Lagain:
+ mes "[Manner Master]";
+ mes "Ah... Well... Going to next is no problem... But...";
+ mes "Would you like to attend to 'Various examples of Ill-mannered players and cheaters' again...?";
+ next;
+ menu "Yes.",Ltell,"No.",Lno;
+
+ Lno:
+ mes "[Manner Master]";
+ mes "Umm Sorry. I don't know well about your next course so please inquire at the guide in the Central Hall.";
+ close;
+}
+
+// == SECOND COURSE ==
+// -- Helper --
+new_1-2.gat,78,101,6 script Helper 105,{
+ if (nov_1_2_cos_c>= 9) goto Lcourse2;
+ mes "[Helper]";
+ mes "I am a helper who will guide you to the 2nd registration office. Please attend all classes in 1st course First.";
+ close;
+
+ Lcourse2:
+ mes "[Helper]";
+ mes "You just finished 1st course... OK.";
+ mes "I will let you go to the 2nd registration office.";
+ next;
+ set Done_milk,0;
+ warp "new_1-2.gat",44,171;
+ close;
+}
+
+// -- Helper --
+new_1-2.gat,39,183,3 script Helper 92,{
+ if (nov_1_2_cos_c>=10) goto Lend;
+ mes "[Helper]";
+ mes "Your registration has confirmed. I would like to say 'Congratulations' also.";
+ mes "I will let you know about 2nd course breifly.";
+ next;
+ mes "[Helper]";
+ mes "Your mission is: You must reach at the Castle of the other side from here, through the Fabres Forest. You can do it easily.";
+ next;
+ mes "[Helper]";
+ mes "Notice - If you lose consciousness during fight, you will lose your points and come back here automatically.";
+ next;
+ mes "[Helper]";
+ mes "Ask the helper located in the left side about the entrance of 2nd Course.";
+ mes "OK, We wish you luck.";
+ set nov_1_2_cos_c,10;
+ close;
+
+ Lend:
+ mes "[Helper]";
+ mes "You can ask the helper located in the left side when you are ready for 2nd course.";
+ close;
+}
+
+// -- Helper --
+new_1-2.gat,16,183,5 script Helper 84,{
+ if (nov_1_2_cos_c==10) goto Lstep2;
+ if (nov_1_2_cos_c>=11) goto Lrespawn;
+ mes "[Helper]";
+ mes "Heh... I can't find your name on the list.";
+ mes "Could you register first at the front desk?";
+ close;
+
+ Lstep2:
+ mes "[Helper]";
+ mes "Heh... I can't find your name on the list...";
+ mes "Ah! Here you are. Ok " + strcharinfo(0) + ". Are you ready?";
+ next;
+ menu "Yes.",Lyes,"No.",Lno;
+
+ Lyes:
+ set nov_1_2_cos_c,11;
+ mes "[Helper]";
+ mes "Well... We wish you luck.";
+ savepoint "new_1-2.gat",23,183;
+ warp "new_1-3.gat",96,21;
+ close;
+ Lno:
+ mes "[Helper]";
+ mes "Take some rest before the 2nd Course.";
+ close;
+ Lrespawn:
+ mes "[Helper]";
+ mes "You've been knocked out by Fabre. Yeah you can't fight with a bunch of Fabres anyway.";
+ mes "By the way, 2nd Course 1th test. Are you going to start now?";
+ next;
+ menu "Yes.",Lspawnyes,"No.",Lno;
+
+ Lspawnyes:
+ mes "[Helper]";
+ mes "Well... We wish you luck.";
+ next;
+ warp "new_1-3.gat",96,21;
+ close;
+}
+
+
+// == THIRD COURSE ==
+// nov_3_merchant: count the number of answers to become merchant
+// nov_3_swordman: count the number of answers to become swordman
+// nov_3_archer: count the number of answers to become archer
+// nov_3_thief: count the number of answers to become thief
+// nov_3_magician: count the number of answers to become magician
+// nov_3_acolyte: count the number of answers to become acolyte
+// set nov_1_4_cos_c: to know third course advancement (to avoid to repeat question)
+
+// -- Helper --
+new_1-4.gat,100,29,4 script Helper 54,{
+ set nov_get_item01,0;
+ set nov_1_2_cos_c,0;
+ set Done_milk,0;
+ set nov_1_4_cos_c,0;
+ set nov_3_merchant,0;
+ set nov_3_swordman,0;
+ set nov_3_archer,0;
+ set nov_3_thief,0;
+ set nov_3_magician,0;
+ set nov_3_acolyte,0;
+ set @TEMP,rand(4);
+ mes "[Helper]";
+ mes "Welcome, Newbie!! I don't have much time to talk. I just tell you the basic details.";
+ mes "Your registration has been confirmed at the time you arrived here! You can go directly through to the next 3 courses...";
+ mes "Are you gonna start now?";
+ next;
+ menu "Let's Rock!",-,"Quit",L1;
+
+ mes "[Helper]";
+ mes "The guide will inform you details!";
+ mes "Bye!";
+ next;
+ if (@TEMP != 0) goto L0a;
+ warp "new_1-4.gat",94,63;
+ close;
+ L0a:
+ if (@TEMP != 1) goto L0b;
+ warp "new_1-4.gat",99,63;
+ close;
+ L0b:
+ if (@TEMP != 2) goto L0c;
+ warp "new_1-4.gat",100,58;
+ close;
+ L0c:
+ warp "new_1-4.gat",98,62;
+ close;
+
+ L1:
+ mes "[Helper]";
+ mes "Are you waiting for someone here..?";
+ close;
+}
+
+// -- Helper --
+new_1-4.gat,100,70,4 script Helper 67,{
+ if (nov_1_4_cos_c > 13) goto LQFin;
+ if (nov_1_4_cos_c > 5) goto LQ00;
+ if (nov_1_4_cos_c > 0) goto ContinueQuestions;
+ mes "[Helper]";
+ mes "Here we are. From now on we will have 1st personality test.";
+ mes "Take it easy and choose the right one for you.";
+ mes "There are no standards for good and evil, it's just a test for your personality.";
+ mes "Shall we start now?";
+ next;
+ goto ContinueQuestions;
+
+ ContinueQuestions:
+ mes "[Helper]";
+ mes "Choose one word most familiar to you.";
+ next;
+ if (nov_1_4_cos_c == 1) goto LQ1;
+ if (nov_1_4_cos_c == 2) goto LQ2;
+ if (nov_1_4_cos_c == 3) goto LQ3;
+ if (nov_1_4_cos_c == 4) goto LQ4;
+ if (nov_1_4_cos_c == 5) goto LQ5;
+
+ menu "Individual",LQ0a,"Public",LQ0b;
+
+ LQ0a:
+ set nov_1_4_cos_c,1;
+ set nov_3_archer,nov_3_archer+1;
+ goto LQ1;
+ LQ0b:
+ set nov_1_4_cos_c,1;
+ set nov_3_thief,nov_3_thief+1;
+ goto LQ1;
+
+ LQ1:
+ menu "Chances",LQ1a,"Permanence",LQ1b;
+
+ LQ1a:
+ set nov_1_4_cos_c,2;
+ set nov_3_magician,nov_3_magician+1;
+ goto LQ2;
+ LQ1b:
+ set nov_1_4_cos_c,2;
+ set nov_3_acolyte,nov_3_acolyte+1;
+ goto LQ2;
+
+ LQ2:
+ menu "Consumer",LQ2a,"Distributor",LQ2b;
+
+ LQ2a:
+ set nov_1_4_cos_c,3;
+ set nov_3_swordman,nov_3_swordman+1;
+ goto LQ3;
+ LQ2b:
+ set nov_1_4_cos_c,3;
+ set nov_3_merchant,nov_3_merchant+1;
+ goto LQ3;
+
+ LQ3:
+ menu "Swiftness",LQ3a,"Prudence",LQ3b;
+
+ LQ3a:
+ set nov_1_4_cos_c,4;
+ set nov_3_thief,nov_3_thief+1;
+ goto LQ4;
+ LQ3b:
+ set nov_1_4_cos_c,4;
+ set nov_3_archer,nov_3_archer+1;
+ goto LQ4;
+
+ LQ4:
+ menu "Theory",LQ4a,"Experience",LQ4b;
+
+ LQ4a:
+ set nov_1_4_cos_c,5;
+ set nov_3_magician,nov_3_magician+1;
+ goto LQ5;
+ LQ4b:
+ set nov_1_4_cos_c,5;
+ goto LQ5;
+
+ LQ5:
+ menu "Reality",LQ5a,"Ideal",LQ5b;
+
+ LQ5a:
+ set nov_1_4_cos_c,6;
+ set nov_3_merchant,nov_3_merchant+1;
+ goto LQ00;
+ LQ5b:
+ set nov_1_4_cos_c,6;
+ set nov_3_acolyte,nov_3_acolyte+1;
+ goto LQ00;
+
+ LQ00:
+ mes "[Helper]";
+ mes "Choose 'Yes' or 'No'.";
+ next;
+ if (nov_1_4_cos_c == 7) goto LQ01;
+ if (nov_1_4_cos_c == 8) goto LQ02;
+ if (nov_1_4_cos_c == 9) goto LQ03;
+ if (nov_1_4_cos_c == 10) goto LQ04;
+ if (nov_1_4_cos_c == 11) goto LQ05;
+ if (nov_1_4_cos_c == 12) goto LQ06;
+ if (nov_1_4_cos_c == 13) goto LQ07;
+ mes "[Helper]";
+ mes "To die with honor is better than to live with disgrace.";
+ next;
+ menu "Yes",LQ00a,"No",LQ00b;
+
+ LQ00a:
+ set nov_1_4_cos_c,7;
+ set nov_3_swordman,nov_3_swordman+1;
+ goto LQ01;
+ LQ00b:
+ set nov_1_4_cos_c,7;
+ set nov_3_thief,nov_3_thief+1;
+ goto LQ01;
+
+ LQ01:
+ mes "[Helper]";
+ mes "It gives me headache even when my cousin makes big success.";
+ next;
+ menu "Yes",LQ01a,"No",LQ01b;
+
+ LQ01a:
+ set nov_1_4_cos_c,8;
+ set nov_3_merchant,nov_3_merchant+1;
+ goto LQ02;
+ LQ01b:
+ set nov_1_4_cos_c,8;
+ set nov_3_acolyte,nov_3_acolyte+1;
+ goto LQ02;
+
+ LQ02:
+ mes "[Helper]";
+ mes "Always check the manual first before assemble something like household electric appliance.";
+ next;
+ menu "Yes",LQ02a,"No",LQ02b;
+
+ LQ02a:
+ set nov_1_4_cos_c,9;
+ set nov_3_magician,nov_3_magician+1;
+ goto LQ03;
+ LQ02b:
+ set nov_1_4_cos_c,9;
+ set nov_3_archer,nov_3_archer+1;
+ goto LQ03;
+
+ LQ03:
+ mes "[Helper]";
+ mes "I am always at the head of everything.";
+ next;
+ menu "Yes",LQ03a,"No",LQ03b;
+
+ LQ03a:
+ set nov_1_4_cos_c,10;
+ set nov_3_swordman,nov_3_swordman+1;
+ goto LQ04;
+ LQ03b:
+ set nov_1_4_cos_c,10;
+ set nov_3_archer,nov_3_archer+1;
+ goto LQ04;
+
+ LQ04:
+ mes "[Helper]";
+ mes "When I see the sign 'PULL' on the door I want to PUSH.";
+ next;
+ menu "Yes",LQ04a,"No",LQ04b;
+
+ LQ04a:
+ set nov_1_4_cos_c,11;
+ set nov_3_thief,nov_3_thief+1;
+ goto LQ05;
+ LQ04b:
+ set nov_1_4_cos_c,11;
+ set nov_3_merchant,nov_3_merchant+1;
+ goto LQ05;
+
+ LQ05:
+ mes "[Helper]";
+ mes "Sometimes I see things unreal.";
+ next;
+ menu "Yes",LQ05a,"No",LQ05b;
+
+ LQ05a:
+ set nov_1_4_cos_c,12;
+ set nov_3_acolyte,nov_3_acolyte+1;
+ goto LQ06;
+ LQ05b:
+ set nov_1_4_cos_c,12;
+ set nov_3_swordman,nov_3_swordman+1;
+ goto LQ06;
+
+ LQ06:
+ mes "[Helper]";
+ mes "I could fly if I fall off.";
+ next;
+ menu "Yes",LQ06a,"No",LQ06b;
+
+ LQ06a:
+ set nov_1_4_cos_c,13;
+ goto LQ07;
+ LQ06b:
+ set nov_1_4_cos_c,13;
+ set nov_3_magician,nov_3_magician+1;
+ goto LQ07;
+
+ LQ07:
+ mes "[Helper]";
+ mes "Money talks. I can buy even human being if I want.";
+ next;
+ menu "Yes",LQ07a,"No",LQ07b;
+
+ LQ07a:
+ set nov_1_4_cos_c,14;
+ set nov_3_merchant,nov_3_merchant+1;
+ set nov_3_magician,nov_3_magician+1;
+ set nov_3_thief,nov_3_thief+1;
+ goto LQFin;
+ LQ07b:
+ set nov_1_4_cos_c,14;
+ set nov_3_swordman,nov_3_swordman+1;
+ set nov_3_archer,nov_3_archer+1;
+ set nov_3_acolyte,nov_3_acolyte+1;
+ goto LQFin;
+
+ LQFin:
+ set @TEMP,rand(4);
+ mes "[Helper]";
+ mes "You just finished 1st test. Congratulations.";
+ mes "You can now go to the next test right away";
+ next;
+ if (@TEMP != 0) goto LQFin1;
+ warp "new_1-4.gat",13,96;
+ close;
+ LQFin1:
+ if (@TEMP != 1) goto LQFin2;
+ warp "new_1-4.gat",17,96;
+ close;
+ LQFin2:
+ if (@TEMP != 2) goto LQFin3;
+ warp "new_1-4.gat",21,96;
+ close;
+ LQFin3:
+ warp "new_1-4.gat",25,96;
+ close;
+}
+
+// -- Helper --
+// nov_1_4_cos_c (variable) starts with value 14
+new_1-4.gat,20,109,4 script Helper 48,{
+ if (nov_1_4_cos_c > 22) goto LQFin;
+ if (nov_1_4_cos_c > 14) goto ContinueQuestions;
+ mes "[Helper]";
+ mes "We start your 2nd test now!";
+ mes "Take it easy and choose the right answer for you!";
+ mes "OK Start now!";
+ next;
+ goto LQ1;
+
+ ContinueQuestions:
+ mes "[Helper]";
+ mes "We continue your 2nd test now!";
+ mes "Take it easy and choose the right answer for you!";
+ mes "OK continue now!";
+ next;
+ if (nov_1_4_cos_c == 15) goto LQ2;
+ if (nov_1_4_cos_c == 16) goto LQ3;
+ if (nov_1_4_cos_c == 17) goto LQ4;
+ if (nov_1_4_cos_c == 18) goto LQ5;
+ if (nov_1_4_cos_c == 19) goto LQ6;
+ if (nov_1_4_cos_c == 20) goto LQ7;
+ if (nov_1_4_cos_c == 21) goto LQ8;
+ if (nov_1_4_cos_c == 22) goto LQ9;
+
+ LQ1:
+ mes "[Helper]";
+ mes "For you life means...";
+ next;
+ menu "Feel irritated.",LQ1a,"I like it.",LQ1b,"Doesn't come to my mind.",LQ1c;
+
+ LQ1a:
+ set nov_1_4_cos_c,15;
+ set nov_3_swordman,nov_3_swordman+1;
+ set nov_3_thief,nov_3_thief+1;
+ goto LQ2;
+ LQ1b:
+ set nov_1_4_cos_c,15;
+ set nov_3_merchant,nov_3_merchant+1;
+ set nov_3_acolyte,nov_3_acolyte+1;
+ goto LQ2;
+ LQ1c:
+ set nov_1_4_cos_c,15;
+ set nov_3_archer,nov_3_archer+1;
+ set nov_3_magician,nov_3_magician+1;
+ goto LQ2;
+
+ LQ2:
+ mes "[Helper]";
+ mes "Before you buy something in a shop...";
+ next;
+ menu "Check first whether it's neccessary.",LQ2a,"Check the cash first.",LQ2b,"Regret after shopping.",LQ2c;
+
+ LQ2a:
+ set nov_1_4_cos_c,16;
+ set nov_3_archer,nov_3_archer+1;
+ goto LQ3;
+ LQ2b:
+ set nov_1_4_cos_c,16;
+ set nov_3_merchant,nov_3_merchant+1;
+ goto LQ3;
+ LQ2c:
+ set nov_1_4_cos_c,16;
+ set nov_3_thief,nov_3_thief+1;
+ goto LQ3;
+
+ LQ3:
+ mes "[Helper]";
+ mes "When you have to compete with others...";
+ next;
+ menu "I enjoy it.",LQ3a,"I do if I have to.",LQ3b,"I hate it.",LQ3c;
+
+ LQ3a:
+ set nov_1_4_cos_c,17;
+ set nov_3_swordman,nov_3_swordman+1;
+ goto LQ4;
+ LQ3b:
+ set nov_1_4_cos_c,17;
+ set nov_3_archer,nov_3_archer+1;
+ goto LQ4;
+ LQ3c:
+ set nov_1_4_cos_c,17;
+ set nov_3_acolyte,nov_3_acolyte+1;
+ goto LQ4;
+
+ LQ4:
+ mes "[Helper]";
+ mes "When you deal something...";
+ next;
+ menu "I prefer to deal alone.",LQ4a,"I prefer to deal together.",LQ4b;
+
+ LQ4a:
+ set nov_1_4_cos_c,18;
+ set nov_3_magician,nov_3_magician+1;
+ goto LQ5;
+ LQ4b:
+ set nov_1_4_cos_c,18;
+ set nov_3_thief,nov_3_thief+1;
+ goto LQ5;
+
+ LQ5:
+ mes "[Helper]";
+ mes "If anyone ask you a favour...";
+ next;
+ menu "Anything I can help, I will do my best.",LQ5a,"Simply I would help.",LQ5b,"Just ignore.",LQ5c;
+
+ LQ5a:
+ set nov_1_4_cos_c,19;
+ set nov_3_acolyte,nov_3_acolyte+1;
+ goto LQ6;
+ LQ5b:
+ set nov_1_4_cos_c,19;
+ set nov_3_archer,nov_3_archer+1;
+ goto LQ6;
+ LQ5c:
+ set nov_1_4_cos_c,19;
+ set nov_3_magician,nov_3_magician+1;
+ goto LQ6;
+
+ LQ6:
+ mes "[Helper]";
+ mes "If anyone offer you to be President / Vise-President / a Congressman...";
+ next;
+ menu "President.",LQ6a,"Vise-President",LQ6b,"Congressman is ok.",LQ6c,"I don't want to be a politican.",LQ6d;
+
+ LQ6a:
+ set nov_1_4_cos_c,20;
+ set nov_3_swordman,nov_3_swordman+1;
+ goto LQ7;
+ LQ6b:
+ set nov_1_4_cos_c,20;
+ set nov_3_merchant,nov_3_merchant+1;
+ goto LQ7;
+ LQ6c:
+ set nov_1_4_cos_c,20;
+ set nov_3_thief,nov_3_thief+1;
+ goto LQ7;
+ LQ6d:
+ set nov_1_4_cos_c,20;
+ goto LQ7;
+
+ LQ7:
+ mes "[Helper]";
+ mes "If you come across the keen knife on the street then you think...";
+ next;
+ menu "'Look so sharp!'",LQ7a,"'Who the hell is the owner of this?'",LQ7b,"'Could be dead harm to people. Should be careful!'",LQ7c,"'Nice Brand~!'",LQ7d;
+
+ LQ7a:
+ set nov_1_4_cos_c,21;
+ set nov_3_swordman,nov_3_swordman+1;
+ goto LQ8;
+ LQ7b:
+ set nov_1_4_cos_c,21;
+ set nov_3_acolyte,nov_3_acolyte+1;
+ goto LQ8;
+ LQ7c:
+ set nov_1_4_cos_c,21;
+ set nov_3_magician,nov_3_magician+1;
+ goto LQ8;
+ LQ7d:
+ set nov_1_4_cos_c,21;
+ set nov_3_merchant,nov_3_merchant+1;
+ goto LQ8;
+
+ LQ8:
+ mes "[Helper]";
+ mes "When you meet a difficult situation during conversation";
+ next;
+ menu "I hush up with a joke.",LQ8a,"I change subject.",LQ8b,"I try to excuse.",LQ8c,"I appoligize even though it's not my fault.",LQ8d;
+
+ LQ8a:
+ set nov_1_4_cos_c,22;
+ set nov_3_thief,nov_3_thief+1;
+ goto LQ9;
+ LQ8b:
+ set nov_1_4_cos_c,22;
+ set nov_3_swordman,nov_3_swordman+1;
+ goto LQ9;
+ LQ8c:
+ set nov_1_4_cos_c,22;
+ set nov_3_magician,nov_3_magician+1;
+ goto LQ9;
+ LQ8d:
+ set nov_1_4_cos_c,22;
+ set nov_3_acolyte,nov_3_acolyte+1;
+ goto LQ9;
+
+ LQ9:
+ mes "[Helper]";
+ if (sex==1) goto SexLQ9;
+ mes "Now your girl friend asks you to buy a useless gift like souvenir...";
+ next;
+ goto LQ9Norm;
+
+ SexLQ9:
+ mes "Now your boy friend asks you to buy a useless gift like souvenir...";
+ next;
+ goto LQ9Norm;
+
+ LQ9Norm:
+ menu "I would do anything for that person.",LQ9a,"I try to bring around not to buy it.",LQ9b;
+
+ LQ9a:
+ set nov_1_4_cos_c,23;
+ set nov_3_archer,nov_3_archer+1;
+ goto LQFin;
+ LQ9b:
+ set nov_1_4_cos_c,23;
+ set nov_3_merchant,nov_3_merchant+1;
+ goto LQFin;
+
+ LQFin:
+ mes "[Helper]";
+ mes "Now you finished 2nd test! Good job!!";
+ mes "You can go to the result room now.";
+ next;
+ set @TEMP,rand(4);
+ if (@TEMP !=0 ) goto LQFin0;
+ warp "new_1-4.gat",54,136;
+ close;
+ LQFin0:
+ if (@TEMP !=1 ) goto LQFin1;
+ warp "new_1-4.gat",58,136;
+ close;
+ LQFin1:
+ if (@TEMP !=2 ) goto LQFin2;
+ warp "new_1-4.gat",62,136;
+ close;
+ LQFin2:
+ warp "new_1-4.gat",66,136;
+ close;
+}
+
+// -- Helper --
+// @job_number: best job (0: Swordman, 1: Archer, 2: Thief, 3: Magican, 4: Acolyte, 5: Merchant)
+// @nov_2nd_cos: number of answers for the best job
+// nov_1_4_cos_c (variable) starts with value 23
+new_1-4.gat,60,149,4 script Helper 55,{
+ mes "[Helper]";
+ mes "Congratulations~! You finished whole courses by yourself!";
+ mes "You should remember what you've learned from Training Ground. It would be useful to you.";
+ next;
+ mes "[Helper]";
+ mes "Ok, here is the result of your own.";
+ next;
+
+ set @nov_2nd_cos,nov_3_swordman;
+ set @job_number,0;
+
+ if (@nov_2nd_cos >= nov_3_archer) goto L_ROOT_1;
+ set @nov_2nd_cos,nov_3_archer;
+ set @job_number,1;
+ goto L_ROOT_1;
+
+ L_ROOT_1:
+ if (@nov_2nd_cos >= nov_3_thief) goto L_ROOT_2;
+ set @nov_2nd_cos,nov_3_thief;
+ set @job_number,2;
+ goto L_ROOT_2;
+
+ L_ROOT_2:
+ if (@nov_2nd_cos >= nov_3_magician) goto L_ROOT_3;
+ set @nov_2nd_cos,nov_3_magician;
+ set @job_number,3;
+ goto L_ROOT_3;
+
+ L_ROOT_3:
+ if (@nov_2nd_cos >= nov_3_acolyte) goto L_ROOT_4;
+ set @nov_2nd_cos,nov_3_acolyte;
+ set @job_number,4;
+ goto L_ROOT_4;
+
+ L_ROOT_4:
+ if (@nov_2nd_cos >= nov_3_merchant) goto L_START;
+ set @nov_2nd_cos,nov_3_merchant;
+ set @job_number,5;
+ goto L_START;
+
+ L_START:
+ mes "[Helper]";
+ if (nov_1st_cos != 0) goto L_SCORE_1;
+ mes "1st course: 0 / 6 Points.";
+ goto L_SCORE_2;
+ L_SCORE_1:
+ mes "1st course: " + nov_1st_cos + " / 6 Points.";
+ goto L_SCORE_2;
+
+ L_SCORE_2:
+ if (@nov_2nd_cos != 0) goto L_SCORE_3;
+ mes "2nd course: 0 / 10 Points";
+ goto L_SCORE_4;
+ L_SCORE_3:
+ mes "2nd course: " + @nov_2nd_cos + " / 10 Points.";
+ goto L_SCORE_4;
+
+ L_SCORE_4:
+ mes "And the result of personally test is...";
+ next;
+
+ if (@job_number==0) goto JobSwordman;
+ if (@job_number==1) goto JobArcher;
+ if (@job_number==2) goto JobThief;
+ if (@job_number==3) goto JobMagican;
+ if (@job_number==4) goto JobAcolyte;
+ if (@job_number==5) goto JobMerchant;
+
+ JobSwordman:
+ mes "[Helper]";
+ mes "'You have simple-minded and always talk straight. And you have an unshaken faith so that you want to rule the world. Also you always stand by the weak.'";
+ mes "'So We suggest you ^696969Swordman^000000.";
+ goto SelJob;
+ JobArcher:
+ mes "[Helper]";
+ mes "'You are very emotional and sensitive person. And you have open-minded.'";
+ mes "'Also, You don't want to be ordinary, always eager for valuable life of your own.'";
+ mes "'So we suggest you ^696969Archer^000000.'";
+ goto SelJob;
+ JobThief:
+ mes "[Helper]";
+ mes "'You always try to enjoy your life. Life is like adventure for you.'";
+ mes "'So we suggest you ^696969Thief^000000.'";
+ goto SelJob;
+ JobMagican:
+ mes "[Helper]";
+ mes "'You are self-diciplined person. Sometimes you pretend to understand whole things in the world not to be silly to the other person.";
+ mes "'You are man of reason, an introvert, an analyst, a man of keen insight.'";
+ mes "'So we suggest you ^696969Mage^000000.";
+ goto SelJob;
+ JobAcolyte:
+ mes "[Helper]";
+ mes "'You are warm-hearted, easy-going person, taking care of people.'";
+ mes "'But actually you pretend not to need help from the other, people think you are an altruist*.";
+ mes "'So we suggest you ^696969Acolyte^000000.'";
+ mes " ";
+ mes "'* The person who really enjoy helping people with self-sacrifice.'";
+ goto SelJob;
+ JobMerchant:
+ mes "[Helper]";
+ mes "'You can easily catch what the public wants, and you have a talent to organize system, and you have a strong sense of responsibility.'";
+ mes "'So we suggest you ^696969Merchant^000000.'";
+ goto SelJob;
+
+ SelJob:
+ next;
+ mes "[Helper]";
+ mes "...Report says like this. It is not my intention, I don't mean to nice to you!! To me you are just a novice!!";
+ mes "Never take it seriously, it's just a game.";
+ next;
+ mes "[Helper]";
+ mes "Here are the subsides from the Training Ground. Even if they are not worthless to veteran players, not to you.";
+ next;
+ if (nov_1_4_cos_c > 23) goto BeL0;
+
+ nov12coscE0:
+ getitem 519,1;
+ set nov_1_4_cos_c,24;
+ set @temp,nov_1st_cos+@nov_2nd_cos;
+ if (@temp <= 8) goto nov1stcosPnov2ndcosL8;
+ if (@temp <= 15) goto nov1stcosPnov2ndcosL15;
+ if (@temp == 16) goto nov1stcosPnov2ndcosE16;
+ set Zeny,Zeny-500;
+ getitem 507,10;
+ goto BeL0;
+
+ nov1stcosPnov2ndcosL8:
+ set Zeny,Zeny+500;
+ getitem 507,10;
+ goto BeL0;
+ nov1stcosPnov2ndcosL15:
+ set Zeny,Zeny+100;
+ getitem 507,1;
+ goto BeL0;
+ nov1stcosPnov2ndcosE16:
+ set Zeny,Zeny+300;
+ getitem 507,3;
+ goto BeL0;
+
+ BeL0:
+ mes "[Helper]";
+ mes "Now I will let you go to the Job Agency. Before going there are a few things you have to know.";
+ next;
+ mes "[Helper]";
+ mes "Are you going to choose the job following the test? Or are you going to choose you job by your own will?";
+ next;
+ mes "[Helper]";
+ mes "If you follow the test, you can get a lot of subsidy for headstart from guild and association and get to start in the specific town for your job.";
+ mes "If you follow your will, you get to start in specific town for your job with 100 zeny before we gave you.";
+ next;
+ mes "[Helper]";
+ mes "Choose one. This is your only chance.";
+ next;
+ menu "I want to be what I wanted!",L0,"I will follow the result of the test",L1;
+
+ L0:
+ mes "[Helper]";
+ mes "Ok. I see. Choose one what you wanted to be. I will send you to the town right away.";
+ if (nov_1_4_cos_c > 24) goto JobMenu;
+ set nov_1_4_cos_c,25;
+ set Zeny,Zeny+100;
+ mes "I give you 100z to begin in the great world or ragnarok.";
+ goto JobMenu;
+
+ JobMenu:
+ next;
+ menu "Swordman.",L00,"Archer.",L01,"Thief.",L02,"Mage.",L03,"Acolyte.",L04,"Merchant",L05;
+
+ L00:
+ mes "[Helper]";
+ mes "I expect you the best.";
+ savepoint "izlude.gat",94,104;
+ next;
+ set nov_1st_cos,0;
+ set nov_get_item01,0;
+ set nov_1_2_cos_c,0;
+ set Done_milk,0;
+ set nov_1_4_cos_c,0;
+ set nov_3_merchant,0;
+ set nov_3_swordman,0;
+ set nov_3_archer,0;
+ set nov_3_thief,0;
+ set nov_3_magician,0;
+ set nov_3_acolyte,0;
+ warp "izlude_in.gat",121,165;
+ close;
+ L01:
+ mes "[Helper]";
+ mes "I expect you the best.";
+ savepoint "payon.gat",87,117;
+ next;
+ set nov_1st_cos,0;
+ set nov_get_item01,0;
+ set nov_1_2_cos_c,0;
+ set Done_milk,0;
+ set nov_1_4_cos_c,0;
+ set nov_3_merchant,0;
+ set nov_3_swordman,0;
+ set nov_3_archer,0;
+ set nov_3_thief,0;
+ set nov_3_magician,0;
+ set nov_3_acolyte,0;
+ warp "payon_in02.gat",21,71;
+ close;
+ L02:
+ mes "[Helper]";
+ mes "I expect you the best.";
+ savepoint "morocc.gat",160,94;
+ next;
+ set nov_1st_cos,0;
+ set nov_get_item01,0;
+ set nov_1_2_cos_c,0;
+ set Done_milk,0;
+ set nov_1_4_cos_c,0;
+ set nov_3_merchant,0;
+ set nov_3_swordman,0;
+ set nov_3_archer,0;
+ set nov_3_thief,0;
+ set nov_3_magician,0;
+ set nov_3_acolyte,0;
+ warp "morocc.gat",27,291;
+ close;
+ L03:
+ mes "[Helper]";
+ mes "I expect you the best.";
+ savepoint "geffen.gat",120,100;
+ next;
+ set nov_1st_cos,0;
+ set nov_get_item01,0;
+ set nov_1_2_cos_c,0;
+ set Done_milk,0;
+ set nov_1_4_cos_c,0;
+ set nov_3_merchant,0;
+ set nov_3_swordman,0;
+ set nov_3_archer,0;
+ set nov_3_thief,0;
+ set nov_3_magician,0;
+ set nov_3_acolyte,0;
+ warp "geffen.gat",66,175;
+ close;
+ L04:
+ mes "[Helper]";
+ mes "I expect you the best.";
+ savepoint "prontera.gat",273,354;
+ next;
+ set nov_1st_cos,0;
+ set nov_get_item01,0;
+ set nov_1_2_cos_c,0;
+ set Done_milk,0;
+ set nov_1_4_cos_c,0;
+ set nov_3_merchant,0;
+ set nov_3_swordman,0;
+ set nov_3_archer,0;
+ set nov_3_thief,0;
+ set nov_3_magician,0;
+ set nov_3_acolyte,0;
+ warp "prontera.gat",233,313;
+ close;
+ L05:
+ mes "[Helper]";
+ mes "I expect you the best.";
+ savepoint "alberta.gat",116,57;
+ next;
+ set nov_1st_cos,0;
+ set nov_get_item01,0;
+ set nov_1_2_cos_c,0;
+ set Done_milk,0;
+ set nov_1_4_cos_c,0;
+ set nov_3_merchant,0;
+ set nov_3_swordman,0;
+ set nov_3_archer,0;
+ set nov_3_thief,0;
+ set nov_3_magician,0;
+ set nov_3_acolyte,0;
+ warp "alberta.gat",40,42;
+ close;
+
+ L1:
+ if (@job_number==0) goto WarpJobSwordman;
+ if (@job_number==1) goto WarpJobArcher;
+ if (@job_number==2) goto WarpJobThief;
+ if (@job_number==3) goto WarpJobMagican;
+ if (@job_number==4) goto WarpJobAcolyte;
+ if (@job_number==5) goto WarpJobMerchant;
+
+ WarpJobSwordman:
+ mes "[Helper]";
+ mes "Let warp you";
+ next;
+ warp "new_1-4.gat",20,176;
+ close;
+ WarpJobArcher:
+ mes "[Helper]";
+ mes "Let warp you";
+ next;
+ warp "new_1-4.gat",60,176;
+ close;
+ WarpJobThief:
+ mes "[Helper]";
+ mes "Let warp you";
+ next;
+ warp "new_1-4.gat",100,176;
+ close;
+ WarpJobMagican:
+ mes "[Helper]";
+ mes "Let warp you";
+ next;
+ warp "new_1-4.gat",140,176;
+ close;
+ WarpJobAcolyte:
+ mes "[Helper]";
+ mes "Let warp you";
+ next;
+ warp "new_1-4.gat",180,176;
+ close;
+ WarpJobMerchant:
+ mes "[Helper]";
+ mes "Let warp you";
+ next;
+ warp "new_1-4.gat",180,136;
+ close;
+}
+
+// == JOB AGENCIES ==
+
+// -- Swordman --
+// nov_1_4_cos_c (variable) starts with value 25
+// Bonus: 1 Sword, 1 Red Potion, 3 Meats
+new_1-4.gat,19,189,4 script Swordman's Helper 105,{
+ save "izlude_in.gat",121,165;
+ mes "['Swordman' Agency Helper]";
+ mes "Welcome!";
+ mes "Here is Swordman Agency";
+ mes "We are so pleased with you doing great until now.";
+ next;
+ mes "['Swordman' Agency Helper]";
+ mes "Also we hope you will become the greatest adventurer in Ragnarok.";
+ mes "Are you ready?";
+ next;
+ mes "['Swordman' Agency Helper]";
+ mes "Ok.";
+ mes "I will give you a few subsidy and let you get there.";
+ mes "Here are 1 Sword, 1 Red Potion and 3 Meats for you.";
+ if (nov_1_4_cos_c > 25) goto nov_get_item05cont;
+ set nov_1_4_cos_c,26;
+ getitem 1103,1;
+ getitem 501,1;
+ getitem 517,3;
+ goto nov_get_item05cont;
+
+ nov_get_item05cont:
+ next;
+ set nov_1st_cos,0;
+ set nov_get_item01,0;
+ set nov_1_2_cos_c,0;
+ set Done_milk,0;
+ set nov_1_4_cos_c,0;
+ set nov_3_merchant,0;
+ set nov_3_swordman,0;
+ set nov_3_archer,0;
+ set nov_3_thief,0;
+ set nov_3_magician,0;
+ set nov_3_acolyte,0;
+ warp "izlude_in.gat",121,165;
+ close;
+}
+
+// -- Archer --
+// nov_1_4_cos_c (variable) starts with value 25
+// Bonus: 3 Red Potions, 50 zenys
+new_1-4.gat,59,186,4 script Archer's Helper 105,{
+ savepoint "payon.gat",87,117;
+ mes "['Archer' Agency Helper]";
+ mes "Wecome!";
+ mes "Here is Archer Agency.";
+ mes "We are so pleased with you doing great until now.";
+ next;
+ mes "['Archer' Agency Helper]";
+ mes "Also we hope you will become the greatest adventurer in Ragnarok.";
+ mes "Are you ready?";
+ next;
+ mes "['Archer' Agency Helper]";
+ mes "Ok.";
+ mes "I will give you a few subsidy and let you get there.";
+ mes "Here are 3 Red potions and 50 zeny for you.";
+ if (nov_1_4_cos_c > 25) goto nov_get_item05cont;
+ set nov_1_4_cos_c,26;
+ getitem 501,3;
+ set Zeny,Zeny+50;
+ goto nov_get_item05cont;
+
+ nov_get_item05cont:
+ next;
+ set nov_1st_cos,0;
+ set nov_get_item01,0;
+ set nov_1_2_cos_c,0;
+ set Done_milk,0;
+ set nov_1_4_cos_c,0;
+ set nov_3_merchant,0;
+ set nov_3_swordman,0;
+ set nov_3_archer,0;
+ set nov_3_thief,0;
+ set nov_3_magician,0;
+ set nov_3_acolyte,0;
+ warp "payon_in02.gat",21,71;
+ close;
+}
+
+// -- Thief --
+// nov_1_4_cos_c (variable) starts with value 25
+// Bonus: 1 Jacket, 6 Sweet Patatos
+new_1-4.gat,99,186,4 script Thief's Helper 105,{
+ savepoint "morocc.gat",160,94;
+ mes "['Thief' Agency Helper]";
+ mes "Welcome!";
+ mes "Here is the thief agency.";
+ mes "We are so pleased with you doing great until now.";
+ next;
+ mes "['Thief' Agency Helper]";
+ mes "Also we hope you will become the greatest adventurer in Ragnarok.";
+ mes "Are you ready?";
+ next;
+ mes "['Thief' Agency Helper]";
+ mes "Ok.";
+ mes "I will give a few subsidy and let you get there.";
+ mes "Here are 1 Jacket and 6 Sweet Patatos for you.";
+ if (nov_1_4_cos_c > 25) goto nov_get_item05cont;
+ set nov_1_4_cos_c,26;
+ getitem 2303,1;
+ getitem 516,6;
+ goto nov_get_item05cont;
+
+ nov_get_item05cont:
+ next;
+ set nov_1st_cos,0;
+ set nov_get_item01,0;
+ set nov_1_2_cos_c,0;
+ set Done_milk,0;
+ set nov_1_4_cos_c,0;
+ set nov_3_merchant,0;
+ set nov_3_swordman,0;
+ set nov_3_archer,0;
+ set nov_3_thief,0;
+ set nov_3_magician,0;
+ set nov_3_acolyte,0;
+ warp "morocc.gat",27,291;
+ close;
+}
+
+// -- Mage --
+// nov_1_4_cos_c (variable) starts with value 25
+// Bonus: 3 Red Potions, 100 zenys
+new_1-4.gat,139,186,4 script Mage's Helper 105,{
+ savepoint "geffen.gat",120,100;
+ mes "['Mage' Agency Helper]";
+ mes "Wecome!";
+ mes "Here is Mage Agency.";
+ mes "We are so pleased with you doing great until now.";
+ next;
+ mes "['Mage' Agency Helper]";
+ mes "Also we hope you will become the greatest adventurer in Ragnarok.";
+ mes "Are you ready?";
+ next;
+ mes "['Mage'Agency Helper]";
+ mes "Ok.";
+ mes "I will give you a few subsidy and let you get there.";
+ mes "Here are 3 Red potions and 100 Zeny for you.";
+ if (nov_1_4_cos_c > 25) goto nov_get_item05cont;
+ set nov_1_4_cos_c,26;
+ getitem 501,3;
+ set Zeny,Zeny+100;
+ goto nov_get_item05cont;
+
+ nov_get_item05cont:
+ next;
+ set nov_1st_cos,0;
+ set nov_get_item01,0;
+ set nov_1_2_cos_c,0;
+ set Done_milk,0;
+ set nov_1_4_cos_c,0;
+ set nov_3_merchant,0;
+ set nov_3_swordman,0;
+ set nov_3_archer,0;
+ set nov_3_thief,0;
+ set nov_3_magician,0;
+ set nov_3_acolyte,0;
+ warp "geffen.gat",66,175;
+ close;
+}
+
+// -- Acolyte --
+// nov_1_4_cos_c (variable) starts with value 25
+// Bonus: 3 Red Potions, 1 Club
+new_1-4.gat,179,186,4 script Acolyte's Helper 105,{
+ savepoint "prontera.gat",273,354;
+ mes "['Acolyte' Agency Helper]";
+ mes "Wecome!";
+ mes "Here is Acolyte Agency.";
+ mes "We are so pleased with you doing great until now.";
+ next;
+ mes "['Acolyte' Agency Helper]";
+ mes "Also we hope you will become the greatest adventurer in Ragnarok.";
+ mes "Are you ready?";
+ next;
+ mes "['Acolyte' Agency Helper]";
+ mes "Ok.";
+ mes "I will give you a few subsidy and let you get there.";
+ mes "Here are 3 Red Potions and a Club for you.";
+ if (nov_1_4_cos_c > 25) goto nov_get_item05cont;
+ set nov_1_4_cos_c,26;
+ getitem 501,3;
+ getitem 1503,1;
+ goto nov_get_item05cont;
+
+ nov_get_item05cont:
+ next;
+ set nov_1st_cos,0;
+ set nov_get_item01,0;
+ set nov_1_2_cos_c,0;
+ set Done_milk,0;
+ set nov_1_4_cos_c,0;
+ set nov_3_merchant,0;
+ set nov_3_swordman,0;
+ set nov_3_archer,0;
+ set nov_3_thief,0;
+ set nov_3_magician,0;
+ set nov_3_acolyte,0;
+ warp "prontera.gat",233,313;
+ close;
+}
+
+// -- Merchant --
+// nov_1_4_cos_c (variable) starts with value 25
+// Bonus: 3 Red Potions, 100 zenys
+new_1-4.gat,180,146,4 script Merchant's Helper 105,{
+ savepoint "alberta.gat",116,57;
+ mes "['Merchant' Agency Helper]";
+ mes "Wecome!";
+ mes "Here is Merchant Agency.";
+ mes "We are so pleased with you doing great until now.";
+ next;
+ mes "['Merchant' Agency Helper]";
+ mes "Also we hope you will become the greatest adventurer in Ragnarok.";
+ mes "Are you ready?";
+ next;
+ mes "['Merchant' Agency Helper]";
+ mes "Ok.";
+ mes "I will give you a few subsidy and let you get there.";
+ mes "Here are 3 Red potions and 100 Zeny for you.";
+ if (nov_1_4_cos_c > 25) goto nov_get_item05cont;
+ set nov_1_4_cos_c,26;
+ getitem 501,3;
+ set Zeny,Zeny+100;
+ goto nov_get_item05cont;
+
+ nov_get_item05cont:
+ next;
+ set nov_1st_cos,0;
+ set nov_get_item01,0;
+ set nov_1_2_cos_c,0;
+ set Done_milk,0;
+ set nov_1_4_cos_c,0;
+ set nov_3_merchant,0;
+ set nov_3_swordman,0;
+ set nov_3_archer,0;
+ set nov_3_thief,0;
+ set nov_3_magician,0;
+ set nov_3_acolyte,0;
+ warp "alberta.gat",40,42;
+ close;
+}
+
diff --git a/npc/jobs/novice/novice.txt b/npc/jobs/novice/novice.txt new file mode 100644 index 000000000..21ae3279c --- /dev/null +++ b/npc/jobs/novice/novice.txt @@ -0,0 +1,3503 @@ +//===== eAthena Script =======================================
+//= Ep 8.5+ Novice Training Grounds
+//===== By: ==================================================
+//= Dr.Evil & MasterOfMuppets
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena SVN 3422+(Requires jA Script System)
+//===== Description: =========================================
+//= The New Novice Training Grounds Script, Script by yukito
+//= merged with english dialogues from Prometheus.
+//===== Additional Comments: =================================
+//= 1.0 Added the New Novice Training Grounds, a big thanks [MasterOfMuppets]
+//= to Dr.Evil who did 90% of the work =)
+//============================================================
+
+//====================================================================
+//Ragnarok Online Novice Script by yukito
+//====================================================================
+//Bulletin Board
+new_1-1.gat,66,114,4 script Bulletin Board 111,{
+ mes "^FF0000=================================^000000";
+ mes "^FF0000 ==^000000 ^E40CAA[Welcome] ^CC0000to^FF9000Training ^0000FFGrounds^E40CAA [Welcome] ^FF0000==^000000";
+ mes "^FF0000=================================^000000";
+ close;
+}
+
+new_1-1.gat,53,114,4 script Shion 727,{
+ switch (NEW_MES_FLAG0) {
+ case 0: mes "[Shion]";
+ mes "Hello there~";
+ mes "Welcome to the";
+ mes "Training Grounds!";
+ next;
+ mes "[Shion]";
+ mes "Let's see.";
+ mes "Your name is...";
+ mes "" + strcharinfo(0) + ".";
+ next;
+ mes "[Shion]";
+ mes "My name is Shion.";
+ mes "Yes, this is the first time we've";
+ mes "met, of course. Hahahah~";
+ next;
+ mes "[Shion]";
+ mes "Now that we've met, is there";
+ mes "anything I can help you with?";
+ mes "I'm here for your questions~";
+ next;
+ switch ( select("Where should I go?","About Basic Interfaces.","What the hell are you!") ) {
+ case 1: mes "[Shion]";
+ mes "Do you see the bridge to your";
+ mes "right side? Just cross the bridge";
+ mes "and you'll arrive at a castle. All";
+ mes "you have to do is walk inside!";
+ next;
+ mes "[Shion]";
+ mes "The entrance of the castle";
+ mes "is a ^0000FFspinning white light.^000000 These";
+ mes "portals are what allow you to move";
+ mes "from one zone to another.";
+ next;
+ mes "[Shion]";
+ mes "Do you know how to move?";
+ mes "Left click on a spot, and you'll";
+ mes "walk over to that spot. Piece of";
+ mes "cake, huh?";
+ next;
+ mes "[Shion]";
+ mes "So go for it!";
+ mes "Basically, you must enter the";
+ mes "castle in order to start your";
+ mes "adventures.";
+ next;
+ mes "[Shion]";
+ mes "There are soldiers";
+ mes "at the entrance, so don't";
+ mes "worry about getting lost.";
+ mes "Take care now~!";
+ set NEW_MES_FLAG0,1;
+ close;
+ case 2: mes "[Shion]";
+ mes "Interface...";
+ mes "click','double-click'";
+ mes "and 'drag'is? .";
+ mes "click just one time,";
+ mes "it is called 'click'";
+ mes "click twice straightly,";
+ mes "it is called 'double-click'.";
+ next;
+ mes "[Shion]";
+ mes "'Drag' is dragging your mouse";
+ mes "to the right, left, up and down";
+ mes "when holding 'left-click'.";
+ mes "when you block a sentence in word";
+ mes "processor program";
+ mes "you use this function";
+ mes "don't you?";
+ next;
+ mes "[Shion]";
+ mes "You need to have some basic knowledge";
+ mes "before you know the interface.";
+ mes "You will see it often in the game and...";
+ next;
+ mes "[Shion]";
+ mes "If you cross the bridge on your right side,";
+ mes "you can go learn in the castle.";
+ mes "This is The Training Grounds";
+ mes "for new novices.";
+ mes "You should go there.";
+ next;
+ mes "[Shion]";
+ mes "Ah, the building's entrance is...";
+ mes "^0000FFSmall Spiral Light.^000000";
+ mes "Click it exactly and jump in there.";
+ mes "If you get in there, you will meet other helpers.";
+ mes "Don't worry too much.";
+ set NEW_MES_FLAG0,1;
+ close;
+ case 3: mes "[Shion]";
+ mes "Who? me? I am nov_Shion!";
+ mes "Gosh, you are so rude.";
+ mes "I am doing free service, without payment.";
+ mes "I feel so bad.";
+ set NEW_MES_FLAG0,2;
+ close;
+ }
+ case 1: mes "[Shion]";
+ mes "Huh...?";
+ mes "Why are you";
+ mes "still here?";
+ mes "^6A6A6A*Sigh...*";
+ next;
+ mes "[Shion]";
+ mes "Hey, when you enter the Training";
+ mes "Grounds, you'll earn all sorts of";
+ mes "things that will help you play the";
+ mes "game. You'll even have the chance";
+ mes "to get zeny and other rewards.";
+ next;
+ mes "[Shion]";
+ mes "You can even gain";
+ mes "experience like this!";
+ set NEW_MES_FLAG0,3;
+ set BaseExp,BaseExp+NextBaseExp;
+ next;
+ mes "[Shion]";
+ mes "Everything you'll learn here in the";
+ mes "Training Grounds will benefit your";
+ mes "gameplay. So just think positive,";
+ mes "okay?";
+ close;
+ case 2: mes "[Shion]";
+ mes "Hey, man.";
+ mes "Do you still have some business with me?";
+ mes "Whoo, I don't need to be angry.";
+ mes "(Calm down, Calm down)";
+ mes "How can I help you";
+ next;
+ mes "[Shion]";
+ mes "No, no.";
+ mes "Why don't you go back to the";
+ mes "Training Grounds?";
+ mes "Can you see a bridge on your right side?";
+ mes "Cross the bridge and enter the castle.";
+ mes "There will be a helper waiting for you";
+ mes "inside the castle.";
+ next;
+ mes "[Shion]";
+ mes "Ah, if you cannot see the entrance,";
+ mes "try to drag your mouse when holding right click.";
+ mes "It will help you to see the hidden spot.";
+ next;
+ mes "[Shion]";
+ mes "Then, Good bye!";
+ mes " ";
+ mes "And when you face a lady,";
+ mes "you need to be a little more polite.";
+ mes "This is a gift for you.";
+ set NEW_MES_FLAG0,3;
+ set BaseExp,BaseExp+NextBaseExp;
+ close;
+ case 3: mes "[Shion]";
+ mes "The Training Grounds";
+ mes "are located just past";
+ mes "the bridge located";
+ mes "to the right.";
+ next;
+ mes "[Shion]";
+ mes "Although you'll";
+ mes "be sitting through";
+ mes "some classes, you";
+ mes "won't regret it.";
+ mes "Now, go for it!";
+ close;
+ }
+}
+
+new_1-1.gat,144,116,2 script Guard 105,{
+ mes "[Training Grounds Guard]";
+ mes "Welcome to the Training Grounds.";
+ mes "You are now in the outer court yard. Please go inside the castle to begin your training.";
+ close;
+}
+
+new_1-1.gat,144,107,2 script Guard 105,{
+ mes "[Training Grounds Guard]";
+ switch ( rand(2) ) {
+ case 0: mes "Come in!";
+ mes "I would like";
+ mes "to welcome you to";
+ mes "the Training Grounds!";
+ next;
+ mes "[Training Grounds Guard]";
+ mes "In here, you can prepare";
+ mes "yourself for your future";
+ mes "adventures throughout the";
+ mes "Ragnarok world!";
+ break;
+ case 1: mes "Go, Novice, go!";
+ mes "Fight, and grow stronger! Look towards a brighter tomorrow!";
+ }
+ close;
+}
+
+//Receptionist
+new_1-2.gat,100,29,4 script Receptionist 86,{
+ mes "[Training Grounds Receptionist]";
+ mes "Welcome!";
+ mes "You are at the entrance";
+ mes "of the ^3355FFTraining Grounds^000000.";
+ next;
+ mes "[Training Grounds Receptionist]";
+ mes "If you're new";
+ mes "to the Ragnarok world,";
+ mes "please choose the";
+ mes "^3355FFTraining Grounds Introduction^000000";
+ mes "menu for more information.";
+L_loop:
+ next;
+ switch( select("Apply for training.","Direct access to Ragnarok Online.","^3355FFTraining Grounds Introduction.^000000","I need a moment to think.") ) {
+ case 1: mes "[Training Grounds Receptionist]";
+ mes "Thank you for applying for Novice training. For detailed information of each training course, please inquire the Guides for assistance.";
+ next;
+ set Zeny,Zeny+50;
+ mes "[Training Grounds Receptionist]";
+ mes "To get you started, we will supply you with a provision of 50 Zeny. When you have questions about the training course process, please feel free to ask any of the Instructors.";
+ next;
+ mes "[Training Grounds Receptionist]";
+ mes "You will now be transferred";
+ mes "to the Training Grounds.";
+ next;
+ warp "new_1-2.gat",100,70;
+ end;
+ case 2: mes "[Training Grounds Receptionist]";
+ mes "I understand.";
+ mes "Please do your";
+ mes "best, and I wish you";
+ mes "the best of luck!";
+ close2;
+ set NEW_MES_FLAG0,0;
+ switch( rand(6) ) {
+ case 0: savepoint "prontera.gat",273,354;
+ warp "prontera.gat",273,354;
+ break;
+ case 1: savepoint "morocc.gat",160,94;
+ warp "morocc.gat",160,94;
+ break;
+ case 2: savepoint "geffen.gat",120,100;
+ warp "geffen.gat",120,100;
+ break;
+ case 3: savepoint "payon.gat",70,100;
+ warp "payon.gat",70,100;
+ break;
+ case 4: savepoint "alberta.gat",116,57;
+ warp "alberta.gat",116,57;
+ break;
+ case 5: savepoint "izlude.gat",94,103;
+ warp "izlude.gat",94,103;
+ }
+ end;
+ case 3: mes "[Training Grounds Receptionist]";
+ mes "This training grounds was established in order to provide useful information to new players of Ragnarok Online by the Rune-Midgarts Kingdom's Board of Education.";
+ next;
+ mes "[Training Grounds Receptionist]";
+ mes "The training course is organized into two parts: the Basic Knowledge classes, and Field Combat training.";
+ next;
+ mes "[Training Grounds Receptionist]";
+ mes "Through the first course, players will learn the necessary knowledge for a smoother gaming experience.";
+ next;
+ mes "[Training Grounds Receptionist]";
+ mes "In Field Combat Training,";
+ mes "players will engage in actual battle with weak monsters so they can learn the basics of fighting.";
+ next;
+ mes "[Training Grounds Receptionist]";
+ mes "With this battle practice,";
+ mes "players will be able to gain more experience before they enter the real world.";
+ next;
+ mes "[Training Grounds Receptionist]";
+ mes "At the end of the training, we will provide an introduction to the 1st Job Classes. This will help players decide which job class is best for them.";
+ next;
+ mes "[Training Grounds Receptionist]";
+ mes "If you wish to participate in the training grounds, please choose '^3355FFApply for training^000000' in the menu.";
+ next;
+ mes "[Training Grounds Receptionist]";
+ mes "Otherwise, if you want to skip the basic training and immediately enter the world of Ragnarok Online, please choose '^3355FFDirect access to Ragnarok Online^000000.'";
+ break;
+ case 4: mes "[Training Grounds Receptionist]";
+ mes "I understand.";
+ mes "Please, take your time.";
+ close;
+ }
+ goto L_loop;
+}
+
+//Interfaces Instructor
+new_1-2.gat,99,105,4 script Interfaces Instructor 751,{
+ if (!(NEW_MES_FLAG1)) {
+ mes "[Chris]";
+ mes "Nice to meet you. could you show me your application?";
+ next;
+ mes "[Chris]";
+ mes "Yes, I checked it.";
+ mes "I will teach the real basic interface to "+strcharinfo(0)+".";
+ mes "This is not forced to you so if you don't want, you don't need to take this course.";
+ next;
+ switch( select("Listen about 'Interface'.","No lecture, I just want Practical Course.","Cancel.") ) {
+ case 1: mes "[Chris]";
+ mes "You can move any window by dragging your mouse.";
+ mes "I will explain from the basic location where you start on the screen.";
+ next;
+ mes "[Chris]";
+ mes "First of all, if you look at the top left part of the screen,";
+ mes "You can see your name and level in the window.";
+ mes "It also shows how much EXP you have.";
+ mes "This is a Character's ^0000FFBasic Information^000000.";
+ next;
+ mes "[Chris]";
+ mes "I will increase your EXP.";
+ mes "watch how the EXP will change in the basic Information window.";
+ set NEW_MES_FLAG1,1;
+ set BaseExp,BaseExp+NextBaseExp;
+ next;
+ mes "[Chris]";
+ mes "Did you see it?";
+ mes "and let's see...";
+ next;
+ mes "[Chris]";
+ mes "You can open your 'Inventory' and make a party through the Information window.";
+ mes "The secon EXP bar is your Job EXP.";
+ mes "To learn a ^0000FFSkill^000000 you need a skill point.";
+ mes "You will gain a skill point bt getting a Job EXP level.";
+ next;
+ mes "[Chris]";
+ mes "There is a chat window in the bottom left of the screen.";
+ mes "You can scroll with your mouse to see what you've said in the past and";
+ mes "you can change to 'send to party' and 'send to guildsmen' by clicking on the blue dot.";
+ mes "The conversation window is always in open state.";
+ mes "You will use it a lot.";
+ next;
+ mes "[Chris]";
+ mes "In the top right of the screen,";
+ mes "there is a minimap it indicates your current location, party members and guilsmen.";
+ mes "When you stay in a field, the ^0000FF Red Point is an Exit^000000.";
+ mes "Is it helpful?";
+ next;
+ mes "[Chris]";
+ mes "Let's see more, try to open every window by clicking in the Basic Information Window.";
+ mes "Like item window, Equipment, status, etc.";
+ next;
+ mes "[Chris]";
+ mes "You might have gotten bored event hough I tried to teach you briefly.";
+ mes "It is Job EXP this time.";
+ set JobExp,JobExp+NextJobExp;
+ next;
+ mes "[Chris]";
+ mes "Increase Basic Skill with it.";
+ next;
+ mes "[Chris]";
+ mes "Assistant Edwin will give you more details about things.";
+ mes "If you want to learn more, go meet him.";
+ mes "This is a gift for you.";
+ getitem 2352,1;
+ close;
+ case 2: mes "[Chris]";
+ mes "I will send you to the Practical Course.";
+ mes "If you think you need to take more lectures,";
+ mes "Come to see me anytime.";
+ close2;
+ warp "new_1-2.gat",28,178;
+ end;
+ case 3: emotion 19;
+ close;
+ }
+ }
+ if (!(NEW_MES_FLAG2)) {
+ mes "[Chris]";
+ mes "Do you need my help?";
+ mes "Can I see your application?";
+ mes "Hmm...";
+ mes "You didn't take the skill lectures.";
+ mes "The Skill Instructor is on your leftside.";
+ next;
+ switch( select("Thanks!","Lectures are boring.","Cancel") ) {
+ case 1: mes "[Chris]";
+ mes "If you take this course You will learn usefull skill information, so pay attention.";
+ mes "Well, find the skill instructor.";
+ mes "I will send you to him for free of charge.";
+ close2;
+ warp "new_1-2.gat",84,107;
+ end;
+ case 2: mes "[Chris]";
+ mes "I will send you to the next course,";
+ mes "the Practical Lecture course.";
+ next;
+ if ( select("What? No.","Yes, please send me!") == 1 ) {
+ mes "[Chris]";
+ mes "Then, find me later when you need me..";
+ close;
+ } else {
+ mes "[Chris]";
+ mes "I wish you good luck.";
+ close2;
+ warp "new_1-2.gat",28,178;
+ end;
+ }
+ case 3: emotion 19;
+ close;
+ }
+ }
+ if (!(NEW_MES_FLAG3)) {
+ mes "[Chris]";
+ mes "Do you need my help?";
+ mes "Can I see your application?";
+ mes "Hmm...";
+ mes "You didn't take the skill lectures.";
+ mes "The Item Instructor is on my rightside.";
+ next;
+ switch( select("Thanks!","Lectures are boring.","Cancel") ) {
+ case 1: mes "[Chris]";
+ mes "You can learn how to use items, and other windows.";
+ mes "It will be helpful.";
+ mes "Well, Go to the item instructor.";
+ mes "I will send you to him for free of charge.";
+ close2;
+ warp "new_1-2.gat",115,107;
+ end;
+ case 2: mes "[Chris]";
+ mes "I will send you to the next course,";
+ mes "the Practical Lecture course.";
+ next;
+ if ( select("What? No.","Yes, please send me!") == 1 ) {
+ mes "[Chris]";
+ mes "Then, find me later when you need me..";
+ close;
+ } else {
+ mes "[Chris]";
+ mes "I wish you good luck.";
+ close2;
+ warp "new_1-2.gat",28,178;
+ end;
+ }
+ case 3: emotion 19;
+ close;
+ }
+ }
+ mes "[Chris]";
+ mes "You finished all the required sourses.";
+ mes "have you listened to the other Assistants?";
+ mes "The next stage is practical monster-hunting.";
+ mes "Are you ready?";
+ next;
+ switch( select("Move to next course!","I want to look arround more.","Send me to Town!") ) {
+ case 1: mes "[Chris]";
+ mes "The next course is practical monster-hunting.";
+ mes "Pay attention to what he says, and finish the course safely.";
+ mes "I wish you good luck.";
+ close2;
+ warp "new_1-2.gat",28,178;
+ end;
+ case 2: mes "[Chris]";
+ mes "That is a good idea.";
+ mes "We have just taught you some of the";
+ mes "required basic knowledge;";
+ mes "however if it is not enough, please meet the";
+ mes "other assistants so you can learn more details.";
+ next;
+ mes "[Chris]";
+ mes "If you don't know where you have to go,";
+ mes "come and ask me.";
+ close;
+ case 3: mes "[Chris]";
+ mes "Are you sure you want to move to town?";
+ mes "If you think you've learnt enough,";
+ mes "go to the right side and meet the";
+ mes "^0000FFKafra Service.^000000";
+ next;
+ mes "[Chris]";
+ mes "The Kafra Service offers";
+ mes "'Teleportation Service'";
+ mes "'Storage Service'";
+ mes "Meet them";
+ mes "and use their service..";
+ next;
+ mes "[Chris]";
+ mes ".......If you leave here";
+ mes "I cannot see you anymore";
+ mes "but";
+ mes "I hope that you are blessed wherever you go.";
+ mes "Good luck.";
+ close;
+ }
+}
+
+new_1-2.gat,83,111,4 script Skill Instructor 753,{
+ if (!(NEW_MES_FLAG2)) {
+ mes "[Shecil]";
+ mes ""+strcharinfo(0)+"";
+ mes "It is such a good name!";
+ mes "Let's start this class?";
+ next;
+ switch( select("What do you teach me?","Send me to Practical Course!","Cancel") ) {
+ case 1: mes "[Shecil]";
+ mes "I live and die for fighting!";
+ mes "Some sort of special skill!!!!!!";
+ mes "Ah! no, I made a mistake.";
+ mes "I will teach you how to use it.";
+ mes "First of all, Increasing your skill level.";
+ next;
+ mes "[Shecil]";
+ mes "Your Skill Window is in Basic Information.";
+ mes "Click ^0000FFSkill^000000.";
+ mes "Another window pops up, right?";
+ mes "Short key is ^0000FFS when holding down alt^000000.";
+ mes "From now we will say like 'alt+s'.";
+ set NEW_MES_FLAG2,1;
+ set JobExp,JobExp+NextJobExp;
+ next;
+ mes "[Shecil]";
+ mes "Did you open it?";
+ mes "Do you see Basic Skill down there?";
+ mes "Skill point might be 1.";
+ mes "There is a mumber Clock 'Lv Up Button' at the right side beside basic skill.";
+ next;
+ mes "[Shecil]";
+ mes "Did you increase your skill?";
+ mes "If you have any questions, ask Pitch Judas";
+ mes "hmmm...";
+ mes "I am thinking of a usefull skill.";
+ next;
+ mes "[Shecil]";
+ mes "Right, right!";
+ mes "I will teach you First Aid Skill.";
+ mes "In Emergencies, you can use this skill.";
+ skill 142,1,0;
+ set skill_nov,3;
+ next;
+ mes "^0000FF-You've learned First Aid Skill-^000000";
+ next;
+ mes "[Shecil]";
+ mes "Now, if you open your skill window,";
+ mes "^0000FFFirst Aid^000000 will be there.";
+ mes "Try to double-click to use it!";
+ next;
+ mes "^0000FF-You received some Job Exp.-^000000";
+ set JobExp,JobExp+NextJobExp;
+ next;
+ mes "[Shecil]";
+ mes "How was it?";
+ mes "When you use your skill, SP decreases.";
+ mes "If you use First Aid skill, it will recover some HP.";
+ mes "It will be usefull for New Novices.";
+ next;
+ mes "[Shecil]";
+ mes "Thanks for your attention!";
+ mes "Oh, I am feeling so good.";
+ mes "I will give you a Plus-Exp!";
+ mes "Since I am a cool guy!";
+ set BaseExp,BaseExp+NextBaseExp;
+ next;
+ mes "[Shecil]";
+ mes "My lecture ends here.";
+ mes "It was short and had many services.";
+ mes "Do you want to know more? then, ask other users.";
+ mes "If you think that is hard, go to talk to Assistant.";
+ mes "He will teach you well.";
+ next;
+ switch( select("Let me look around.","Send me to the Practical Course.","Cancel.") ) {
+ case 1: mes "[Shecil]";
+ mes "If you think, you learned enough anybody will be fine.";
+ mes "Ask one of our insctructors, they will help you.";
+ mes "Cheer Up!";
+ close;
+ case 2: goto L_battle;
+ case 3: emotion 23;
+ }
+ close;
+ case 2: goto L_battle;
+ case 3: emotion 23;
+ }
+ close;
+ }
+ if (!(NEW_MES_FLAG1)) {
+ mes "[Shecil]";
+ mes "What, can I help you?";
+ mes "Uh?";
+ mes "You didn't take interface lectures";
+ mes "I know the lecture is not worth it!";
+ mes "HaHaHaHa!!!!";
+ next;
+ switch( select("I will go take it!","I am bored. Send me to Practical Course.") ) {
+ case 1: mes "[Shecil]";
+ mes "Yes, it's good thinking.";
+ mes "Get EXP, Items as much as you can.";
+ mes "HaHaHa.";
+ mes "He is in the middle.";
+ mes "It is easy to find him.";
+ close;
+ case 2: goto L_battle;
+ case 3: emotion 23;
+ }
+ close;
+ }
+ if (!(NEW_MES_FLAG3)) {
+ mes "[Shecil]";
+ mes "What can I help you?";
+ mes "Huh?";
+ mes "You didn't take the item lecture?";
+ mes "I know the lecture is not worth it!";
+ mes "HaHaHaHa!!!!";
+ next;
+ switch( select("I will go and take it!","I am bored. Send me to Practical Course.","Cancel.") ) {
+ case 1: mes "[Shecil]";
+ mes "Yes, it is a good thinking.";
+ mes "Get EXP, Items as much as you can.";
+ mes "Hahaha.";
+ mes "I will send you to the service.";
+ close2;
+ warp "new_1-2.gat",115,107;
+ break;
+ case 2: goto L_battle;
+ case 3: emotion 23;
+ }
+ close;
+ }
+ mes "[Shecil]";
+ mes "Do you need my help?";
+ mes "You've finished all the courses.";
+ mes "Ah, you came back to see me";
+ mes "because I am so nice.";
+ mes "is it right?";
+ mes "have you met the Assistants?";
+ next;
+ switch( select("Send me to the next course.","Assistants?","I want to go to town.") ) {
+ case 1: mes "[Shecil]";
+ mes "Oh, Right.";
+ mes "You should go to the Practical Lecture Course.";
+ mes "Ah, I wish I could hunt mobs in the field.";
+ mes "This job is so boring.";
+ mes "My fists have gotten a bit rusty.";
+ mes "Ok, I will send you! You should grow up well!";
+ close2;
+ warp "new_1-2.gat",28,178;
+ end;
+ case 2: mes "[Shecil]";
+ mes "Huh? you look like";
+ mes "'you didn't do it before'.";
+ mes "Listen to me. We teach briefly,";
+ mes "not boring, but fast";
+ mes "as much as we can.";
+ next;
+ mes "[Shecil]";
+ mes "However, it is not good enough for";
+ mes "some people educatioally.";
+ mes "There will be some people who";
+ mes "want to learn more.";
+ mes "so, to satisfy this, some";
+ mes "Assistants";
+ mes "exist to help those people.";
+ mes "Go and meet them!";
+ next;
+ mes "[Shecil]";
+ mes "Especially, Pitch Judas...";
+ mes "He will teach you well about skills.";
+ mes "Even though he looks dangerous.";
+ mes "Hahaha!";
+ close;
+ case 3: mes "[Shecil]";
+ mes "Do you want to go to town? You can";
+ mes "use Kafra services.";
+ mes "Make a right from here and go straight,";
+ mes "you will see her.";
+ mes "HaHaHa!";
+ mes "why don't you hurry up to meet";
+ mes "her?";
+ close;
+ }
+ end;
+L_battle:
+ mes "[Shecil]";
+ mes "Good, there is nothing better than experiencing reality.";
+ mes "Practical Course!";
+ mes "Cheer up!";
+ close2;
+ warp "new_1-2.gat",28,178;
+ end;
+}
+
+new_1-2.gat,115,111,4 script Item Instructor 726,{
+disable_items;
+ if (!(NEW_MES_FLAG3)) {
+ mes "[Alice]";
+ mes "Hmm... I am so bored.";
+ mes "Huh? Are you new here?";
+ mes "You want to take an Item Lecture, don't you?";
+ next;
+ menu "Yes.",-,"No, I just want to pass.",L_battle,"Where is town?",L_kafra;
+ mes "[Alice]";
+ mes "I will make it a short lecture.";
+ mes "I know you are bored.";
+ mes "Firstly, open the 'Inventory' window.";
+ mes "Click 'Item' in the Basic Information Window.";
+ mes "It will show you the items that it contains.";
+ mes "The inventory is divided into 3 sections such as item, equip and etc.";
+ next;
+ mes "[Alice]";
+ mes "Now, would you click the item tab?";
+ mes "in the Inventory Window? I just";
+ mes "gave you a Novice Potion. You can";
+ mes "drink it by double-clicking it. Go";
+ mes "ahead, try it!";
+ set NEW_MES_FLAG3,1;
+ set @potion,countitem(569);
+ getitem 569,1;
+ enable_items;
+ next;
+ if ( @potion >= countitem(569) ) {
+ mes "[Alice]";
+ mes "Nice~!";
+ mes "And here's";
+ mes "a little reward";
+ mes "just for listening.";
+ set BaseExp,BaseExp+NextBaseExp;
+ next;
+ }
+ disable_items;
+ mes "[Alice]";
+ mes "Let me explain about";
+ mes "items in the ^0000FFequip^000000 tab";
+ mes "of the Inventory Window.";
+ next;
+ mes "[Alice]";
+ mes "When you click on the 'equip tab,";
+ mes "you can view every item in your";
+ mes "inventory that you can equip. Let";
+ mes "me give you some equipment so that";
+ mes "you can try them on.";
+ next;
+ getitem 2510,1;
+ getitem 2414,1;
+ getitem 5055,1;
+ enable_items;
+ mes "[Alice]";
+ mes "Got them? Good.";
+ mes "Now, double-click";
+ mes "on the Novice Slippers";
+ mes "I just gave you to";
+ mes "put them on.";
+ next;
+ if ( getequipisequiped(6) ) {
+ mes "[Alice]";
+ mes "Hooray~!";
+ mes "You did it!";
+ mes "You deserve a reward!";
+ set BaseExp,BaseExp+NextBaseExp;
+ next;
+ }
+ disable_items;
+ mes "[Alice]";
+ mes "Would you";
+ mes "press the ^0000FF'F12'^000000 key?";
+ mes "This will summon your";
+ mes "Hotkey bar on your screen.";
+ next;
+ mes "[Alice]";
+ mes "There is a column from ^0000FFF1 to F9^000000";
+ mes "If you took a skill lecture,";
+ mes "you are supposed to have 'First Aid'.";
+ mes "Drag the skill to the 'Short key window'.";
+ next;
+ mes "[Alice]";
+ mes "Do you understand ?";
+ mes "To use skills, you need some skill point,";
+ mes "and anyway, you cannot put passive skills in the 'Short key window'.";
+ set JobExp,JobExp+NextJobExp;
+ next;
+ mes "[Alice]";
+ mes "'Alice' simple and good quality lecture ends here.";
+ mes "Lastly I will give you some items, which can help you.";
+ getitem 601,10;
+ getitem 602,2;
+ getitem 569,50;
+ next;
+ mes "[Alice]";
+ mes "However, ^FF0000do not use the Fly Wing or Butterfly Wing ^000000in these Training Grounds or you could be stuck here forever. Those items are for when you graduate, okay?";
+ next;
+ mes "[Alice]";
+ mes "And lastly...";
+ mes "I will give";
+ mes "you some Job experience!";
+ set JobExp,JobExp+NextJobExp;
+ next;
+ menu "What do I have to do?",-,"Then, Practical Course!",L_battle,"Cancel.",L_bye;
+ mes "[Alice]";
+ mes "Is there any Instructor that you didn't meet yet?";
+ mes "They are not gracious as much as I am";
+ next;
+ mes "[Alice]";
+ mes "However, some assistants are really good,";
+ mes "and there are some hidden things.";
+ mes "So if you want, you can stay here longer and know them.";
+ mes "If not ask anybody and tell them where you want to go.";
+ close;
+ }
+ if (!(NEW_MES_FLAG1)) {
+ mes "[Alice]";
+ mes "How can I help you?";
+ mes "You didn't take a interface lecture.";
+ mes "Chris will be dissapointed.";
+ mes "Why don't you go and meet him?";
+ next;
+ menu "Ok, I will meet him.",-,"It is boring, I want to go to Practical Course.",L_battle1,"What do I have todo to goto town?",L_kafra;
+ mes "[Alice]";
+ mes "It's a good idea.";
+ mes "When you came here, you had to see 'Interface Instructor'.";
+ mes "He is in the middle of the hall.";
+ mes "Also he has some gifts for you!";
+ mes "You don't want to lose those presents, do you?";
+ close;
+ }
+ if (!(NEW_MES_FLAG2)) {
+ mes "[Alice]";
+ mes "How can I help you?";
+ mes "Oh, you didn't take ^0000FFSkill Lecture^000000 yet.";
+ mes "Shecil will be dissapointed.";
+ mes "Why don't you go meet her?";
+ next;
+ menu "yes, I will meet her.",-,"Boring, I want to go to Practical Course.",L_battle1,"What do I have todo to goto town?",L_kafra;
+ mes "[Alice]";
+ mes "It's a good idea.";
+ mes "Shecil is on the left side of the hall.";
+ mes "I will send you there.";
+ mes "Study Hard!";
+ close2;
+ warp "new_1-2.gat",84,107;
+ end;
+ }
+ mes "[Alice]";
+ mes "Huh? did you get lost?";
+ mes "Do you need some help?";
+ mes "I think you learned enough.";
+ mes "Do you want to go somewhere?";
+ next;
+ menu "I don't know where I can go.",-,"I want to go to town.",L_kafra,"Cancel.",L_bye;
+ mes "[Alice]";
+ mes "Hmm... You already know how to use items and skills.";
+ mes "Practical Course still remains.";
+ mes "Do you want to go to Practical Course?";
+ mes "Then, I will send you.";
+ next;
+ if ( select("Let me go!","Wait for a moment.") == 1 ) {
+ mes "[Alice]";
+ mes "You got your equipment that I gave you right?";
+ mes "Wear those tight.";
+ mes "Ok, I will let you go.";
+ close2;
+ warp "new_1-2.gat",28,178;
+ end;
+ } else {
+ mes "[Alice]";
+ mes "Ok.";
+ mes "If you need anything, call me anytime.";
+ close;
+ }
+ end;
+L_battle:
+ mes "[Alice]";
+ mes "Boring";
+ mes "Do you want to go to the Practical Course directly?";
+ mes "Hmmm... Did you meet every instructor?";
+ mes "It's better for you to meet all of them.";
+ next;
+ if ( select("Only Practical Course!","Wait for a moment.") == 1 ) {
+L_battle1:
+ mes "[Alice]";
+ mes "Huh.. You are so energetic.";
+ mes "I want you to listen to the instructor carefully.";
+ mes "The information that you learn there may save your life.";
+ mes "Ok, I will send you there.";
+ mes "Goodbye.";
+ close2;
+ warp "new_1-2.gat",28,178;
+ end;
+ } else {
+ mes "[Alice]";
+ mes "Yes, You might want to meet people more here";
+ mes "there are some Assistants who can help you.";
+ mes "You ought to receive items as much as you can here";
+ mes "then, you can leave.";
+ close;
+ }
+L_kafra:
+ mes "[Alice]";
+ mes "If you want to go to town, you can ask the kafra Employee to go.";
+ mes "Prontera, Morroc, Payon, etc...";
+ mes "She will send you wherever you want to go";
+ close;
+L_bye:
+ mes "[Alice]";
+ mes "Hmm...";
+ close;
+}
+
+new_1-2.gat,118,108,4 script Kafra Employee 94,{
+ mes "[Kafra Employee]";
+ mes "Welcome to";
+ mes "Kafra Corporation.";
+ mes "The Kafra services are";
+ mes "always on your side.";
+ next;
+ mes "[Kafra Employee]";
+ mes "I've been dispatched from Kafra Corporation Headquarters to assist new players such as yourself.";
+ next;
+ mes "[Kafra Employee]";
+ mes "Please, take heed!";
+ mes "If you move to a town";
+ mes "^4d4dffYou will be unable to return to the Training Grounds ever again^000000.";
+ next;
+ if ( select("Teleport Service","About Kafra services") == 1 ) {
+ mes "[Kafra Employee]";
+ mes "I see, you must want to teleport to a town in Rune-Midgard imediately. First, let me briefly inform you about the different towns and cities in Ragnarok.";
+ next;
+ mes "[Kafra Employee]";
+ mes "Prontera is the capital of the Rune-Midgarts kingdom, and its satellite, Izlude, is closeby.";
+ next;
+ mes "[Kafra Employee]";
+ mes "^996633Morroc^000000 is in the desert. It's the town where you can change your job to the Thief and Assassin classes.";
+ next;
+ mes "[Kafra Employee]";
+ mes "^006600Payon^000000 is in the mountains, and is famous for its Archer Village, where Novices can change their jobs to Archers.";
+ next;
+ mes "[Kafra Employee]";
+ mes "The city of magic, ^993300Geffen^000000, is where people go to become Mages and Wizards.";
+ next;
+ mes "[Kafra Employee]";
+ mes "^003399Alberta^000000, the port city, is where the Merchant Guild is located. You must also go to Alberta if you wish to travel by sea.";
+ next;
+ mes "[Kafra Employee]";
+ mes "Please choose";
+ mes "your destination.";
+ next;
+ if ( NEW_MES_FLAG1 || NEW_MES_FLAG2 || NEW_MES_FLAG3 ) {
+ if ( select("Practical Course","Prontera","Morroc","Payon","Alberta","Geffen") == 1 ) {
+ mes "[Kafra Employee]";
+ mes "You will be sent to Practical Course.";
+ close2;
+ warp "new_1-2.gat",28,178;
+ end;
+ }
+ set @menu,@menu-1;
+ } else {
+ menu "Prontera",-,"Morroc",-,"Payon",-,"Alberta",-,"Geffen",-;
+ }
+ switch ( @menu ) {
+ case 1: mes "[Kafra Employee]";
+ mes "You have decided";
+ mes "to go to Prontera.";
+ mes "May God be with you.";
+ close2;
+ callsub L_prewarp;
+ savepoint "prontera.gat",118,72;
+ warp "prontera.gat",150,50;
+ end;
+ case 2: mes "[Kafra Employee]";
+ mes "Desert City, Morroc.";
+ mes "In the middle of town, there is a beautiful oasis.";
+ mes "...";
+ mes "I will pray you keep your hope in your heart always.";
+ close2;
+ callsub L_prewarp;
+ savepoint "morocc.gat",151,98;
+ warp "morocc.gat",155,110;
+ end;
+ case 3: mes "[Kafra Employee]";
+ mes "Hm? do you want to be an archer?";
+ mes "I will send you to Payon.";
+ mes "May God bless you.";
+ close2;
+ callsub L_prewarp;
+ savepoint "payon.gat",160,58;
+ warp "payon.gat",166,67;
+ end;
+ case 4: mes "[Kafra Employee]";
+ mes "Harbor City, Alberta.";
+ mes "This town is a base of trade.";
+ mes "If you want to see different cultures, you have to go through here.";
+ mes "HuHu... I think you are going to go to the Merchant Association.";
+ mes "May God bless you.";
+ close2;
+ callsub L_prewarp;
+ savepoint "alberta.gat",31,233;
+ warp "alberta.gat",114,58;
+ end;
+ case 5: mes "[Kafra Employee]";
+ mes "City of Magic.";
+ mes "There is a big 'Geffen Tower' in the middle of town.";
+ mes "I will send you arround the water fountain.";
+ mes "May God bless you.";
+ close2;
+ callsub L_prewarp;
+ savepoint "geffen.gat",118,37;
+ warp "geffen.gat",121,65;
+ end;
+ }
+ } else {
+ mes "[Kafra Employee]";
+ mes "Let me introduce you";
+ mes "to the Kafra Services.";
+ mes "In the menu, please choose";
+ mes "the service you'd like to";
+ mes "learn more about.";
+L_loop:
+ next;
+ switch( select("Save service.","Storage service.","Teleport service.","Cart rental service.","Cancel.") ) {
+ case 1: mes "[Kafra Employee]";
+ mes "When you talk to a Kafra Employee and ask for the save Service, the location of where you will revive, after being defeated in battle, will be changed.";
+ next;
+ mes "[Kafra Employee]";
+ mes "Your Respawn Point is always the last place where you have saved. Using a Butterfly Wing will return you to the place where you";
+ mes "last saved.";
+ next;
+ if (!(NEW_LVUP0)) {
+ set NEW_LVUP0,1;
+ set BaseExp,BaseExp+NextBaseExp;
+ }
+ mes "[Kafra Employee]";
+ mes "The save Service";
+ mes "is also provided by";
+ mes "the Kafra Corporation";
+ mes "free of charge~!";
+ break;
+ case 2: mes "[Kafra Employee]";
+ mes "The Kafra Corporation is the world's largest company with a long and distinguished history on the Rune-Midgard continent.";
+ next;
+ mes "[Kafra Employee]";
+ mes "You can store and retrieve";
+ mes "your items in any town at your convenience. This Storage is shared by every character on one account.";
+ next;
+ mes "[Kafra Employee]";
+ mes "It's unreasonable to carry all of your items with you when you don't need them right away. Please use our Storage and keep your items safe and secure.";
+ next;
+ mes "[Kafra Employee]";
+ mes "Our convenient Storage Service";
+ mes "is provided to our customers for a small fee which is different from town to town.";
+ next;
+ mes "[Kafra Employee]";
+ mes "However, you must be";
+ mes "at least ^3355FFBasic Skill Level 6^000000";
+ mes "to use the Storage.";
+ next;
+ mes "[Kafra Employee]";
+ mes "There are 3 different item sections of the Storage into which items are organized: Consumable, Equipment and Etc.";
+ next;
+ mes "[Kafra Employee]";
+ mes "There are a maximum of 300 Inventory Slots in Kafra Storage, meaning you can have up to 300 different kinds of items in Storage.";
+ next;
+ mes "[Kafra Employee]";
+ if (!(NEW_JOBLVUP)) {
+ set NEW_JOBLVUP,1;
+ set JobExp,JobExp+NextJobExp;
+ }
+ mes "Remember though, that in the case of Equipment, each item takes up one Inventory Slot. The maximum number of items that can be placed in Kafra Storage is 30,000.";
+ break;
+ case 3: mes "[Kafra Employee]";
+ mes "The Kafra Corporation";
+ mes "provides our valued customers with a convenient Teleport Service which greatly cuts down on your";
+ mes "traveling time.";
+ next;
+ mes "[Kafra Employee]";
+ mes "Our Teleport Service is safe and comfortable, and will allow you to fully explore the various lands of the Rune-Midgard continent.";
+ next;
+ mes "[Kafra Employee]";
+ mes "We thank our valued customers for their great support and continue to provide them with the best";
+ mes "of service.";
+ break;
+ case 4: mes "[Kafra Employee]";
+ mes "The Kafra Corporation";
+ mes "provides a Cart Rental Service to Merchants, as well as Blacksmiths and Alchemists.";
+ next;
+ mes "[Kafra Employee]";
+ mes "The flamboyantly mysterious";
+ mes "^CE6300Super Novice^000000 can use Carts, but we officially don't have a contract with that class. Still, somehow...";
+ next;
+ mes "[Kafra Employee]";
+ mes "Anyway, Merchants, Blacksmiths and Alchemists must also learn the ^3355FFPush Cart^000000 skill in order to be able to rent a cart.";
+ next;
+ mes "[Kafra Employee]";
+ mes "The Cart Rental service";
+ mes "charge will differ from";
+ mes "town to town.";
+ break;
+ case 5: mes "[Kafra Employee]";
+ mes "I hope you are satisfied with my";
+ mes "explanation about the Kafra corporation.";
+ close;
+ }
+ goto L_loop;
+ }
+ end;
+L_prewarp:
+ if (!(NEW_MES_FLAG1) && !(NEW_MES_FLAG2) && !(NEW_MES_FLAG3)) {
+ getitem 569,100;
+ getitem 1243,1;
+ getitem 2414,1;
+ getitem 2510,1;
+ getitem 2352,1;
+ getitem 2112,1;
+ getitem 601,10;
+ getitem 602,2;
+ }
+ set NEW_MES_FLAG0,0;
+ set NEW_MES_FLAG1,0;
+ set NEW_MES_FLAG2,0;
+ set NEW_MES_FLAG3,0;
+ set NEW_MES_FLAG4,0;
+ set NEW_MES_FLAG5,0;
+ set NEW_LVUP0,0;
+ set NEW_LVUP1,0;
+ set NEW_JOBLVUP,0;
+ return;
+}
+
+new_1-2.gat,121,101,2 script Guide Soldier 105,{
+ mes "[Soldier]";
+ mes "We, Soldiers, are guiding Novices here in the gate way of town.";
+ mes "When you go to a new town, Please visit Guide Soldier and receive their information for the map.";
+ next;
+ mes "[Soldier]";
+ mes "Some soldiers wear different garment in some towns.";
+ mes "I just anted to let you know about it as a reference.";
+ mes "Go meet them and talk to them.";
+ next;
+ mes "[Soldier]";
+ mes "If you want to go to town, ask the Kafra Employee right before you.";
+ mes "She will send you to town.";
+ close;
+}
+
+//Interface Assistant
+new_1-2.gat,161,182,6 script Interface Assistant 92,{
+ mes "[Edwin]";
+ mes "I am an Interface Assistant.";
+ mes "Choose what you want to know more about.";
+L_loop:
+ next;
+ switch( select("Basic Information Window","Party Window","Item Window","Option Window","Equipment Window","Cancel") ) {
+ case 1: mes "[Edwin]";
+ mes "Let's see the Basic Information Window.";
+ mes "You can find your name, base level, you job and your job level displayed on the window.";
+ mes "^800FFFBase lvl^000000 is your character's level.";
+ next;
+ mes "[Edwin]";
+ mes "^800FFFJob level^000000 shown under the base level meant the job level of your character's class.";
+ mes "If you took the Instructors lectures, of course, you will understand those.";
+ next;
+ mes "[Edwin]";
+ mes "On the basic inforamtion window,";
+ mes "your current experience showup aswell.";
+ mes "Experience points in Ragnarok Online are indicated by % and base and job level are seperate.";
+ mes "When either reaches 100% it will be raised by one level,";
+ mes "this bar will then reset to 0% for the next level.";
+ next;
+ mes "[Edwin]";
+ mes "HP means your Health Points.";
+ mes "When it raches 0, you will faint and not be able to fight.";
+ mes "You can either return to your save point or wait until somebody revives you.";
+ mes "If you die on fields or dungeons,";
+ mes "you will receive a^4d4dff -1% EXP penalty^000000.";
+ mes "So be careful.";
+ next;
+ mes "[Edwin]";
+ mes "SP means your Spell Points.";
+ mes "when you become a 1st class,";
+ mes "you will learn unique skills of the class and then you will be able to use your SP.";
+ mes "Your skill instructor will teach you more about your skills.";
+ next;
+ mes "[Edwin]";
+ mes "If you want to check your weight limit,";
+ mes "you can check thr weight at the bottom left of the basic window.";
+ mes "It will show your current weight / your maximum weight limit.";
+ mes "?•?If your weight becomes over 50% of the maximum,";
+ mes "your HP and SP will not restore naturally.";
+ mes "So be carefull.";
+ next;
+ mes "[Edwin]";
+ mes "The numerical value next to the weight limit shows the current amount of money you have.";
+ mes "The currency used in the Rune-Midgard Kingdom is Zeny.";
+ next;
+ mes "[Edwin]";
+ mes "There are buttons at the right side of the window.";
+ mes "They are all part of the interface menu.";
+ mes "Click them one by one, check what you can do with them.";
+ mes "The shortcut key for minimising / maximizing the basic information window is 'Alt+V' refer to your information.";
+ break;
+ case 2: mes "[Edwin]";
+ mes "You can open the party window by pressing the friend buttin on the basic infomation window,";
+ mes "or you can use 'Alt+Z' for it's shortcut.";
+ mes "You can check all members of your party with this window.";
+ next;
+ mes "[Edwin]";
+ mes "The founder of the party can determine the distribution of EXP and items to the party.";
+ mes "You can also see the location of your members on the mini-map.";
+ next;
+ mes "[Edwin]";
+ mes "On the party window, not only your party members but also your friends showup.";
+ mes "You can whisper them or delete them from your friends list.";
+ next;
+ mes "[Edwin]";
+ mes "You can learn about organizing a party from your skill instructor.";
+ mes "Oh, well, I guess it's best if you try it out on your own.";
+ break;
+ case 3: mes "[Edwin]";
+ mes "The item window is divided into 3 sections.";
+ mes "Such as item, equip and etc.";
+ mes "Items is used for consumeable items.";
+ mes "Equip is for equipment items";
+ mes "Etc is for miscelanious items.";
+ next;
+ mes "[Edwin]";
+ mes "Your weight limit does limit the amount of items you can carry with you ans the limitation of the amount of an item.";
+ mes "In this case, you must use the Kafra storage.";
+ mes "Also, equipment and consumeable items can be set on the hotkey window.";
+ next;
+ mes "[Edwin]";
+ mes "You can open the Hotkey window by pressing F12, you can put items there from F1 to F9.";
+ mes "You can switch the hotkey windows by pressing the F12 key again.";
+ break;
+ case 4: mes "[Edwin]";
+ mes "You can open the option window with the option button on the basic information window,";
+ mes "but you can use the 'Alt+O' command aswell.";
+ mes "You can adjust sound, skin and transparency of the skin through the option window.";
+ next;
+ mes "[Edwin]";
+ mes "With the sound button,";
+ mes "you can turn the background music on / off or turn the volume up or down.";
+ mes "With the effect button, you can adjust the sound effects volume.";
+ next;
+ mes "[Edwin]";
+ mes "With the skin option, you can change the menu skin.";
+ mes "Scroll up / down the list of skins you have, and choose a skin.";
+ mes "You can also download skins from our website.";
+ next;
+ mes "[Edwin]";
+ mes "The snap option allows your mouse cursor to automatically move to a nearby target.";
+ mes "When you click to attack,";
+ mes "the cursor of the mouse will automatically change into a sword.";
+ mes "Skill and item targeting also work with the snap option.";
+ next;
+ mes "[Edwin]";
+ mes "It could be usefull or annoying if you're not used to it";
+ mes "Well... once you get used to it,";
+ mes "you will be able to adjust your own snap options.";
+ next;
+ mes "[Edwin]";
+ mes "Well, it all depends on your experience.";
+ mes "That's all there is for the option window.";
+ break;
+ case 5: mes "[Edwin]";
+ mes "Click the equip button on your basic window or press 'Alt+Q'.";
+ mes "You will see the items that your character has equiped now.";
+ next;
+ mes "[Edwin]";
+ mes "For starters, every character starts with a kife and a cotton shirt.";
+ mes "There are 2 ways of changing your equipment.";
+ mes "Double click equipment in the item window or drag an item to the equipment window.";
+ next;
+ mes "[Edwin]";
+ mes "You can also switch your equipment by placing them on the F12 hotkey bar.";
+ mes "You will understand this when you try it on your own.";
+ break;
+ case 6: mes "[Edwin]";
+ mes "Feel free to ask me anytime.";
+ close;
+ }
+ goto L_loop;
+}
+
+new_1-2.gat,182,182,4 script Status Assistant 754,{
+ mes "[Jarre Riotte]";
+ mes "Welcome new adventurer.";
+ mes "I, Jarre Riotte will help you learn about the fundamental rules of your characters status.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "I am willing to help you learn more about the statuses more then anything else,";
+ mes "so feel free to ask me about the character abilities you're wondering about.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "By the way...";
+ mes "It is called 'Status'.";
+ mes "STR stands for Strength, AGI stansds for Agility.";
+ mes "VIT stand for Vitality, INT stands for Intelligence.";
+ mes "DEX stands for Dexterity, LUK stands for Luck.";
+L_loop:
+ next;
+ switch( select("Str and Agi.","Vit and Int.","Dex and Luk.","Cancel") ) {
+ case 1: mes "[Jarre Riotte]";
+ mes "Let me explain Strength first.";
+ mes "";
+ mes "^4D4DFFFStrength(STR)^000000 increases ^4D4DFFFphysical attack damage(ATK)^000000 ";
+ mes "and your ^4D4DFFFmaximum weight limit^000000.";
+ mes "1 STR increases 1 physical attack damage,";
+ mes "also certain attack damage bonuses occur by increments of 10 STR.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "For instance,";
+ mes "let's say your current strength is";
+ mes "48 + 1. ";
+ mes "Your original STR is 48, 1 at the ";
+ mes "end is a bonus status.";
+ mes "Out of total 49, when you double 4,";
+ mes "the head number of 49 by 4,";
+ mes "you will have 16 as the physical";
+ mes "attack damage bonus";
+ next;
+ mes "[Jarre Riotte]";
+ mes "Let's say you leveled up and now";
+ mes "your strength is 49+1.";
+ mes "Then your STR's total is 50,";
+ mes "the bonus on the physical attack";
+ mes "damage will be 25.";
+ mes "If your STR is 100, 10 the head";
+ mes "number of 100, times 10 will be a";
+ mes "100.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "Ok, now let's move on to Agility.";
+ mes "Agility affects on ^4d4dffthe Flee Rate^000000";
+ mes "which allows you to avoid enemies'";
+ mes "attack and the characters ^4d4dffAttackSpeed^000000.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "1 AGI increases 1 Flee Rate,";
+ mes "1 level increases 1 Flee Rate";
+ mes "as well.";
+ mes "Therefore, ^4d4dffFlee Rate equals AGI +^000000";
+ mes "^4d4dfflevel.^000000";
+ next;
+ mes "[Jarre Riotte]";
+ mes "Alright, I will give you an";
+ mes "example.";
+ mes "Let's say you're at level 40";
+ mes "possessing 40 AGI.";
+ mes "Following the Flee Rate formula,";
+ mes "your flee rate will be a total of";
+ mes "80.";
+ mes "The Flee Rate is divided into";
+ mes "normal Flee Rate + perfect dodge,";
+ mes "AGI is only involved with the";
+ mes "normal Flee Rate.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "The perfect flee rate is related to";
+ mes "LUK status,";
+ mes "we will discuss about the status";
+ mes "later.";
+ mes "As your Attack Speed (ASPD) is";
+ mes "increased, the delay between one";
+ mes "attack and the next is reduced.";
+ mes "ASPD is the numerical value of the";
+ mes "increment and differs by job class.";
+ mes "Please remember that.";
+ break;
+ case 2: mes "[Jarre Riotte]";
+ mes "Our next subject will be Vitality";
+ mes "(VIT) and Intelligence.";
+ mes "^4D4DFFVitality^000000 affects the ^4D4DFFMaximum HP, amount of HP restoration and defense.^000000";
+ mes "The amount of HP increased by 1 VIT";
+ mes "differs by job class,";
+ mes "the Swordsman class benefit the most";
+ mes "from VIT increment out of all";
+ mes "classes.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "Let's check defenses.";
+ mes "On your stat window,";
+ mes "Defense will show as DEF. Defense";
+ mes "is shown as 2 different numerical";
+ mes "values,";
+ mes "How Vitality affects these values";
+ mes "is shown as the second number of";
+ mes "the two.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "Now you must be wondering about the";
+ mes "first of the 2 numerical values.";
+ mes "The first one shows the defense";
+ mes "from your equipment and armour.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "The defense increased by equipments";
+ mes "reduces the amount of damage";
+ mes "you're dealt from an enemy by a %";
+ mes "of the total damage and the defense";
+ mes "from VIT reduces the amount of";
+ mes "damage by number.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "I guess you understood, didn't you?";
+ mes "The next subject is about";
+ mes "Intelligence (INT).";
+ mes "If you wish to major in some kind";
+ mes "of complicated work,";
+ mes "which requires you to be extremely";
+ mes "intelligence and knowledgeable,";
+ mes "I can recommend you to the";
+ mes "Schwicherbil Magic Academy.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "Oh well, let's talk about INT.";
+ mes "INT affects the maximum amount of";
+ mes "^4D4DFFSP, SP restoration,^000000";
+ mes "the ^4D4DFFdamage of your magic attack^000000";
+ mes "^4d4dff(MATK)^000000 and your ^4D4DFFdefense against magic attack (MDEF)";
+ mes "The SP amount and MATK increased by";
+ mes "1 INT is dependent on job class,";
+ mes "just like VIT.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "Just like normal DEF,";
+ mes "Your MDEF shows as 2 different ";
+ mes "numerical values,";
+ mes "what INT affects are shown on the";
+ mes "second value.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "In order to study elements which";
+ mes "consist of this world";
+ mes "You must be intelligent enough and";
+ mes "must improve the knowledge.";
+ mes "So scholars like me or wizards,";
+ mes "place their priority into INT.";
+ break;
+ case 3: mes "[Jarre Riotte]";
+ mes "Our last subject is Dexterity (DEX)";
+ mes "and Luck (LUK).";
+ mes "Ironically those 2 stats are";
+ mes "totally opposed to each other by";
+ mes "their means, you know.";
+ mes "Dexterity is result in your effort";
+ mes "to be accurate and Luck is result";
+ mes "in your pure luck.";
+ mes "Hahaha....";
+ mes "Oh, don't worry me, I am just ";
+ mes "talking to myself.";
+ mes "Now, shall we start?";
+ next;
+ mes "[Jarre Riotte]";
+ mes "Dexterity mainly affects your";
+ mes "accuracy,";
+ mes "attack speed (ASPD) and your average";
+ mes "attack strength.";
+ mes "Let me explain...";
+ mes "If you have low DEX, the difference";
+ mes "between the minimum damage and the";
+ mes "maximum damage becomes huge,";
+ mes "also the average damage is not stable.";
+ mes "That's why DEX is important.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "Especially in the case of using";
+ mes "^4D4DFFbows^000000 as your main weapon,";
+ mes "attack strength is based on ^4D4DFFDEX^000000.";
+ mes "If you wish to become an archer,";
+ mes "please focus on DEX.";
+ mes "Also the accuracy is affected by";
+ mes "character level + Dex";
+ next;
+ mes "[Jarre Riotte]";
+ mes "Let's say you're at level 40";
+ mes "possessing 20 DEX,";
+ mes "your accuracy equals 40 + 20, so";
+ mes "60.";
+ mes "Also DEX reduces the casting time";
+ mes "of spells.";
+ mes "Now, let me explain about LUK.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "LUK (Luck) affects the chance for a";
+ mes "critical attack,";
+ mes "the Flee Rate and a small amount of";
+ mes "damage you deal to monsters.";
+ mes "For critical attack,";
+ mes "the start value is 1 for everyone";
+ mes "and it's increased by ^4D4DFF1^000000";
+ mes "for every ^4D4DFF3 LUK.^000000";
+ next;
+ mes "[Jarre Riotte]";
+ mes "With more LUK, comes more chances";
+ mes "to do critical attacks to your";
+ mes "enemies.";
+ mes "A critical attack means an attack ";
+ mes "that pierces the defense of an";
+ mes "enemy.";
+ mes "A critical attack has a";
+ mes "distinguished damage effect as";
+ mes "well.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "For every 10 LUK you get 1 point to";
+ mes "your perfect dodge, which is a kind";
+ mes "of Flee Rate.";
+ mes "When you perform a perfect dodge a";
+ mes "^FF7F00Lucky^000000 effect shows up on your head";
+ mes "and you will perfectly avoid an";
+ mes "attack from an enemy.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "Well, I must, luck is a good";
+ mes "thing to have,";
+ mes "but that doesn't mean you need it";
+ mes "before everything else.";
+ mes "Do you have any other questions?";
+ break;
+ case 4: mes "[Jarre Riotte]";
+ mes "I hope my class was helpful to you.";
+ mes "I really hope so.";
+ close;
+ }
+ goto L_loop;
+}
+
+new_1-2.gat,184,172,4 script Skill Assistant 47,{
+ mes "[Pitch Judas]";
+ mes "Welcome. I have been waiting for";
+ mes "you for a long time!!";
+ mes "Oh look at this cute little ";
+ mes "novice!";
+ mes "I, Pitch, feel so responsible for";
+ mes "your performance,";
+ mes "I will be teaching you with my";
+ mes "best effort.";
+ emotion 30;
+L_loop:
+ next;
+ switch( select("Passive and Active Skills.","Passive, Basic Skills.","Use of Emoticons","Cancel") ) {
+ case 1: mes "[Pitch Judas]";
+ mes "You have chosen the passive and";
+ mes "active skills.";
+ mes "I am explaining the passive skills";
+ mes "first, please pay attention.";
+ mes "First, could you open your skill";
+ mes "windows by pressing 'Alt+S'.";
+ next;
+ mes "[Pitch Judas]";
+ mes "Can you see an available skill in";
+ mes "Skill Tree window?";
+ mes "After you increase Basic Skill,";
+ mes "There will be 'Passive' on the";
+ mes "right";
+ mes "Now, to see Basic Skill's";
+ mes "description";
+ mes "Please, do right-click the icon.";
+ next;
+ mes "[Pitch Judas]";
+ mes "'Enable to apply to Basic Interface";
+ mes "Skills'";
+ mes "Do you see this sentence?";
+ mes "Every skill are really needed when";
+ mes "you play this game.";
+ mes "You must not spend your SP with";
+ mes "these skills.";
+ next;
+ mes "[Pitch Judas]";
+ mes "Briefly, passive skill means a";
+ mes "skill that does not consume SP to";
+ mes "be activated";
+ mes "Most of the time, those are the";
+ mes "most basic skills for a job class.";
+ next;
+ mes "[Pitch Judas]";
+ mes "On the contrary,";
+ mes "um! active skills means a skill that";
+ mes "requires SP to be activated.";
+ mes "Also you must use an active skill";
+ mes "manually by clicking its icon or";
+ mes "by registering it as short key";
+ mes "in order to activate it.";
+ mes "As you use an active skill, a";
+ mes "certain amount of SP will be spent";
+ mes "as much as the skill requires.";
+ mes "The Bash skill for Swordsman, Heal";
+ mes "for Acolytes, are active skills for";
+ mes "instance.";
+ next;
+ mes "[Pitch Judas]";
+ mes "If you did pay attention in your";
+ mes "Classes";
+ mes "you are supposed to have a skill,";
+ mes "which is 'First Aid'";
+ mes "Double-Click it to use it.";
+ mes "The skill will start with spending";
+ mes "SP";
+ next;
+ mes "[Pitch Judas]";
+ mes "For your understanding, I would";
+ mes "say,";
+ mes "most skills which are focused on";
+ mes "mental or physical training of the";
+ mes "job classes";
+ mes "are described as passive skills.";
+ mes "And skills which need its user to";
+ mes "activate them manually";
+ mes "by their needs are described as";
+ mes "active skills.";
+ mes "Do you understand?";
+ next;
+ mes "[Pitch Judas]";
+ mes "If you are still not sure about my";
+ mes "lesson";
+ mes "I am willing to go over it once";
+ mes "again.";
+ break;
+ case 2: mes "[Pitch Judas]";
+ mes "The pure passive skills!";
+ mes "The starting skills of Ragnarok! 8";
+ mes "things you must be aware of to";
+ mes "play!";
+ mes "Our first subject is basic skills";
+ next;
+ mes "[Pitch Judas]";
+ mes "When you right click with your";
+ mes "mouse on your skill windows,";
+ mes "you can check the descriptions of";
+ mes "the skills.";
+ mes "However, for your better";
+ mes "understanding, I prepared this";
+ mes "lesson.";
+L_loop1:
+ next;
+ switch( select("Trade and Exchange","Organising & Joining party","Opening Chat room","Storage Use","No thanks, I know already.") ) {
+ case 1: mes "[Pitch Judas]";
+ mes "When you go visit our official";
+ mes "website at ^4d4dffhttp://ragnarok.co.kr^000000,";
+ mes "you can find a full explanation";
+ mes "about trade and exchange with";
+ mes "pictures.";
+ mes "In order to trade items or zeny";
+ mes "with other people, you must learn";
+ mes "at least level 1 basic skill.";
+ next;
+ mes "[Pitch Judas]";
+ mes "For a trade,";
+ mes "the distance between you and the";
+ mes "other person is very important!";
+ mes "You must be very close to trade";
+ mes "with another and then right click";
+ mes "on the person, once.";
+ mes "That's very important, once.";
+ next;
+ mes "[Pitch Judas]";
+ mes "When you choose the ^800fffRequest a deal^000000";
+ mes "^800fffwith^000000 command, doing Right-Click.";
+ mes "it will show a trade request";
+ mes "windows with the person.";
+ mes "The actual trade windows will open";
+ mes "between you and the person at the";
+ mes "same time";
+ mes "after the person accepts your";
+ mes "offer.";
+ mes "If you are more than 2 cells away";
+ mes "from the person,";
+ mes "you cannot ask a trade. So, please";
+ mes "remember that.";
+ next;
+ mes "[Pitch Judas]";
+ mes "For item trade, you should click an";
+ mes "item and drag it to the left side";
+ mes "of the window.";
+ mes "For zeny trade, you can enter the";
+ mes "amount of zeny you want to trade.";
+ mes "After placing items or zeny into";
+ mes "the trade windows";
+ mes "you should press the 'OK' button on";
+ mes "the bottom of the windows.";
+ next;
+ mes "[Pitch Judas]";
+ mes "Of course, you must confirm the";
+ mes "trade of any items by clicking the";
+ mes "'OK' button";
+ mes "before you can complete the trade.";
+ next;
+ mes "[Pitch Judas]";
+ mes "After you confirm that the items";
+ mes "are the ones you want to trade,";
+ mes "press the 'Trade' button to finish";
+ mes "the trade.";
+ mes "If either of the traders do not";
+ mes "press the 'OK' button the trade";
+ mes "cannot be completed.";
+ mes "If either of the traders presses";
+ mes "the 'Cancel' button to the right of";
+ mes "the window,";
+ mes "the trade will be canceled.";
+ break;
+ case 2: mes "[Pitch Judas]";
+ mes "Now, let me explain to you about";
+ mes "the party system.";
+ mes "Party system allows you to organise";
+ mes "a small group with people";
+ mes "in order to assist you in hunting";
+ mes "aggressive monsters together";
+ mes "or to have fun together.";
+ next;
+ mes "[Pitch Judas]";
+ mes "You can organise a party by";
+ mes "pressing the friend button";
+ mes "on the basic information windows or";
+ mes "by typing a command:";
+ mes "on your chat windows.";
+ mes "Of course, you must be ^4d4dffat least^000000";
+ mes "^4d4dffbasic level 7 or above^000000 for using";
+ mes "this party system.";
+ next;
+ mes "[Pitch Judas]";
+ mes "I could explain more about the";
+ mes "distribution of items or";
+ mes "the distribution of experience";
+ mes "which party members have gained";
+ mes "together,";
+ mes "but I wish you could try on your";
+ mes "own later.";
+ mes "I really want to be in a party with";
+ mes "you and help you to level up...";
+ next;
+ mes "[Pitch Judas]";
+ mes "It will be unfair to other";
+ mes "novices,";
+ mes "you know... Joining a party is";
+ mes "possible by accepting an offer from";
+ mes "a party master.";
+ mes "There is no level requirement for";
+ mes "joining a party.";
+ next;
+ mes "[Pitch Judas]";
+ mes "That's all for the party system.";
+ mes "..........by the way, could you";
+ mes "tell me how to look so cute like";
+ mes "you?";
+ mes "I wish I could look cute as you";
+ mes "do.......";
+ mes "Anyhow, I really thank to God.";
+ mes "Let's shout";
+ mes "'Praise the Creator!'";
+ emotion 30;
+ break;
+ case 3: mes "[Pitch Judas]";
+ mes "You can ^4d4dffopen a chat room^000000";
+ mes "with ^4d4dffbasic skill level 4 or above.^000000";
+ mes "You can use the chat button on the";
+ mes "basic information windows";
+ mes "or by pressing 'Alt+C'";
+ next;
+ mes "[Pitch Judas]";
+ mes "Once you open a chat room,";
+ mes "you could check chat room member's";
+ mes "information by right clicking on a";
+ mes "character name.";
+ mes "Also you can register the character";
+ mes "as your friend through the same";
+ mes "way.";
+ mes "If you are the master of the room,";
+ mes "you can change the room setup.";
+ next;
+ mes "[Pitch Judas]";
+ mes "While in the chatting room, you";
+ mes "cannot hear any chat outside of the";
+ mes "chat room.";
+ mes "Please remember that.";
+ mes "...if you have some time,";
+ mes "I can spare some of my time for you";
+ mes "to open our own chat room on a boat";
+ mes "in Al De Baran";
+ mes "..... but I am an NPC.";
+ next;
+ mes "[Pitch Judas]";
+ mes "... ... ....I see.... ...";
+ mes "... ... .... Hmm";
+ mes "I know I hang out with you because";
+ mes "I am an NPC.";
+ mes "But it's ok. Don't worry about";
+ mes "me.";
+ mes "I am happy enough for now.";
+ break;
+ case 4: mes "[Pitch Judas]";
+ mes "All throughout the Rune-Midgard's";
+ mes "kingdom territory there is a huge";
+ mes "trading center named Kafra,";
+ mes "which provides many convenience";
+ mes "services to adventurers";
+ mes "such as personal storage service.";
+ mes "An NPC at the right side of this";
+ mes "hall,";
+ mes "is one of the Kafra employees.";
+ next;
+ mes "[Pitch Judas]";
+ mes "You are allowed to use your";
+ mes "^4d4dffpersonal Kafra storage^000000";
+ mes "at ^4d4dffbasic skill 6 or above.^000000";
+ mes "If you haven't listened to the";
+ mes "Kafra Employee for the services";
+ mes "they're providing to adventurers,";
+ mes "please do.";
+ next;
+ mes "[Pitch Judas]";
+ mes "When you carry too much items at";
+ mes "once,";
+ mes "you cannot attack or recover";
+ mes "yourself.";
+ mes "so I recommend you to have some";
+ mes "available space";
+ mes "and you use Storage, which is Kafra";
+ mes "Service.";
+ break;
+ case 5: mes "[Pitch Judas]";
+ mes "Oh, do you? you're as smart as much";
+ mes "as you are cute!";
+ mes "I, Pitch am very impressed with";
+ mes "you.";
+ mes "Our official website has many";
+ mes "resources, doesn't it?";
+ next;
+ mes "[Pitch Judas]";
+ mes "Do you wish to learn about a different subject?";
+ }
+ if ( @menu != 5 ) goto L_loop1;
+ break;
+ case 3: mes "[Pitch Judas]";
+ mes "^4d4dffEmoticons^000000 are commonly used online";
+ mes "for ^4d4dffdisplaying your feelings^000000 and";
+ mes "better communication between ";
+ mes "people.";
+ mes "However, in Ragnarok,";
+ mes "there is a requirement for using";
+ mes "emoticons.";
+ mes "You must be at least ^4d4dffbasic skill^000000";
+ mes "^4d4dfflevel 2 or above^000000 in order to use ";
+ mes "emoticons";
+ next;
+ mes "[Pitch Judas]";
+ mes "You can check emoticons you have";
+ mes "registered as shortcut keys and";
+ mes "the list of available emoticons by";
+ mes "pressing 'Alt+L' and 'Alt+M'.";
+ mes "Oh yes,";
+ mes "this is also fully explained on our";
+ mes "official website as well.";
+ next;
+ mes "[Pitch Judas]";
+ mes "Ah! I must say,";
+ mes "the honest expression of one's";
+ mes "feelings is essential for a";
+ mes "relationship.";
+ mes "Yes, I agree with your point of";
+ mes "view that too much touchy-feely";
+ mes "could be a problem!";
+ mes "However, sice the chatting is the";
+ mes "only way of expressing oneself to";
+ mes "others online,";
+ mes "emoticons are much more helpful to";
+ mes "display your emotions.";
+ next;
+ mes "[Pitch Judas]";
+ mes "Oh well, so what I was saying is,";
+ mes "you can directly use emoticons by";
+ mes "registering them on your shortcut";
+ mes "keys with the 'Alt+M'";
+ mes "or you can type a command for an";
+ mes "emoticon on your chat windows such";
+ mes "as ^4d4dff/heh^000000";
+ mes "You can play rock, scissors and";
+ mes "paper";
+ mes "by pressing ^4d4dffCTRL^000000 and ^4d4dff-^000000, ^4d4dff=^000000 and ^4d4dff\^000000";
+ mes "key.";
+ next;
+ mes "[Pitch Judas]";
+ mes "Of course you can type ^4d4dff/gawi^000000,";
+ mes "^4d4dffbawi^00000 and ^4d4dff/bo^000000";
+ mes "which mean rock, scissors and paper";
+ mes "in Korean on your chat windows.";
+ mes "There are many new emoticons which";
+ mes "have been newly added,";
+ mes "please check all new emoticon";
+ mes "commands by typing ^4d4dff/emotion^000000 on your";
+ mes "chat windows.";
+ mes "............HuHu";
+ emotion 3;
+ break;
+ case 4: mes "[Pitch Judas]";
+ mes "Don't you need anything else?";
+ mes "I hope you are healthy.";
+ close;
+ }
+ goto L_loop;
+}
+
+//Potato Merchant
+new_1-2.gat,28,185,4 shop Potato Merchant 90,516:15
+
+new_1-2.gat,38,182,4 script Helper 92,{
+ if (!(NEW_MES_FLAG5)) {
+ if (!(NEW_MES_FLAG4)) {
+ mes "[Kane]";
+ mes "Do you want to battle without";
+ mes "knowing the basic knowledge?";
+ mes "Go meet the helper right next to";
+ mes "me, and listen to him first.";
+ close;
+ } else {
+ mes "[Kane]";
+ mes "The 2nd course is for Monster hunting,";
+ mes "you can use what you've learned in";
+ mes "the Practical Course.";
+ next;
+ mes "[Kane]";
+ mes "I hope you fight well with monsters,";
+ mes "based on what you know.";
+ next;
+ mes "[Kane]";
+ mes "You don't need to feel the burden, I";
+ mes "just want you to enjoy the experience";
+ mes "of being engaged in battle.";
+ next;
+ mes "[Kane]";
+ mes "If you want to get out of the 2nd";
+ mes "course, talk to the helper who is in";
+ mes "the North section of the field.";
+ mes "Now then, do you want to try?";
+ next;
+ if ( select("Yes","I want to learn more.") == 1 ) {
+ mes "[Kane]";
+ mes "Just feel free to fight.";
+ mes "These will help you if you have";
+ mes "an emergency.";
+ mes "I will give you a weapon and";
+ mes "guard.";
+ set NEW_MES_FLAG5,1;
+ getitem 602,1;
+ getitem 601,9;
+ getitem 1243,1;
+ getitem 2112,1;
+ getitem 611,2;
+ getitem 569,300;
+ close2;
+ savepoint "new_1-2.gat",24,188;
+ warp "new_1-3.gat",96,21;
+ end;
+ } else {
+ mes "[Kane]";
+ mes "Then, you can talk to our";
+ mes "instructor to the left and learn";
+ mes "more. When you are ready, please";
+ mes "come back again.";
+ close;
+ }
+ }
+ }
+ mes "[Kane]";
+ mes "I told you that you have to be";
+ mes "careful.";
+ mes "But as you know 'A failure can";
+ mes "become a stepping stone to";
+ mes "success'";
+ next;
+ mes "[Kane]";
+ mes "Do you want to try again?";
+ next;
+ if ( select("Yes","No, I want to prepare more.") == 1 ) {
+ if (!(NEW_LVUP1)) {
+ mes "[Kane]";
+ mes "Then, I will give you some additional help.";
+ mes "Please be careful.";
+ set NEW_LVUP1,1;
+ set BaseExp,BaseExp+NextBaseExp;
+ getitem 569,50;
+ } else {
+ mes "[Kane]";
+ mes "Then, I will give you some additional help.";
+ mes "Please be careful.";
+ percentheal 100,100;
+ }
+ close2;
+ switch ( rand(3) ) {
+ case 0: warp "new_1-3.gat",96,21; break;
+ case 1: warp "new_2-3.gat",96,21; break;
+ case 2: warp "new_3-3.gat",96,21;
+ }
+ end;
+ } else {
+ mes "[Kane]";
+ mes "Then, why don't you talk to the";
+ mes "helper who is next to me?";
+ mes "When you are ready, please come";
+ mes "back again.";
+ close;
+ }
+}
+
+new_1-2.gat,17,182,6 script Helper 84,{
+ if (!(NEW_MES_FLAG4)) {
+ mes "[Elmeen]";
+ mes "Congratulations!";
+ mes "You have passed the 1st training";
+ mes "course! Wow~ I guess now you";
+ mes "understand a little bit more about";
+ mes "Ragnarok Online.";
+ next;
+ mes "[Elmeen]";
+ mes "You will learn the fundamentals of";
+ mes "actual battle through this class.";
+ mes "If you did your best throught the";
+ mes "Informative class, you are supposed";
+ mes "to have been given some starting";
+ mes "equipment.";
+ next;
+ mes "[Elmeen]";
+ mes "Please check your";
+ mes "equipment before you engage in";
+ mes "battle. Are you sure you've";
+ mes "equipped all of your equipment,";
+ mes "your weapons and armor?";
+ next;
+ if ( select("Yes","No") == 1 ) {
+ callsub L_battle;
+ next;
+ mes "[Elmeen]";
+ mes "Do you understand these battle commands?";
+ mes "Now, I will teach you about monster";
+ mes "behaviors and properties, experience";
+ mes "gained through battle, and items you";
+ mes "can earn from dead monsters.";
+ next;
+ mes "[Elmeen]";
+ mes "Field Combat Training can be";
+ mes "actually pretty dangerous for";
+ mes "new adventurers. Let me give you";
+ mes "a little more strenght through the";
+ mes "power of my magic.";
+ next;
+ mes "[Elmeen]";
+ mes "Haaaaaaa~!";
+ set NEW_MES_FLAG4,1;
+ set BaseExp,BaseExp+NextBaseExp;
+ next;
+ mes "[Elmeen]";
+ mes "Which subject";
+ mes "should I cover";
+ mes "first for you?";
+ L_loop:
+ next;
+ switch( select("Monster","EXP","Items","Cancel") ) {
+ case 1: callsub L_monster;
+ break;
+ case 2: callsub L_exp;
+ break;
+ case 3: callsub L_item;
+ break;
+ case 4: mes "[Elmeen]";
+ mes "Feel free to ask me if you have any questions.";
+ close;
+ }
+ goto L_loop;
+ } else {
+ callsub L_equip;
+ close;
+ }
+ }
+ mes "[Elmeen]";
+ mes "Oh, do you want to listen again?";
+ mes "Which one do you want to know?";
+L_loop1:
+ next;
+ switch( select("Monster","EXP","Items","Basic info on Monster Hunting","Cancel") ) {
+ case 1: callsub L_monster;
+ break;
+ case 2: callsub L_exp;
+ break;
+ case 3: callsub L_item;
+ break;
+ case 4: callsub L_battle;
+ break;
+ case 5: callsub L_equip;
+ close;
+ }
+ goto L_loop1;
+ end;
+L_battle:
+ mes "[Elmeen]";
+ mes "First, you place the cursor on a";
+ mes "monster. When you left click, you";
+ mes "will hit the monster once.";
+ next;
+ mes "[Elmeen]";
+ mes "If you are too lazy to keep left";
+ mes "clicking, left click on the monster";
+ mes "while holding the ^4D4DFF'CTRL'^000000 key. You";
+ mes "will then continue attacking the";
+ mes "monster until one of you is dead,";
+ mes "or you run away.";
+ next;
+ mes "[Elmeen]";
+ mes "You can also just hold down the";
+ mes "left mouse button while the cursor";
+ mes "is on the monster. Still, there are";
+ mes "some people who are even too lazy";
+ mes "to use the ^4D4DFF'Ctrl'^000000 key every time";
+ mes "they attack a monster.";
+ next;
+ mes "[Elmeen]";
+ mes "If you're one of them, type the";
+ mes "comman ^E79E29/nc^000000 in your Chat Window.";
+ mes "Then, when you left click";
+ mes "a monster, you'll just continuously";
+ mes "attack it!";
+ next;
+ mes "[Elmeen]";
+ mes "If a monster happens to have the";
+ mes "Undead property, you can use the";
+ mes "'Heal' skill to attack if you";
+ mes "happen to have it.";
+ next;
+ mes "[Elmeen]";
+ mes "When you use the Heal skill while";
+ mes "holding down the ^4D4DFF'Shift'^000000 key, you";
+ mes "can target the monster with the";
+ mes "Heal skill to damage it.";
+ next;
+ mes "[Elmeen]";
+ mes "Of course for this skill, we do";
+ mes "have a very convenient option for";
+ mes "lazy people too.";
+ mes "Type the command ^E79E29/ns^000000 in your Chat";
+ mes "Window.";
+ next;
+ mes "[Elmeen]";
+ mes "This will allow you to attack";
+ mes "monsters by using the heal skill";
+ mes "without holding the shift key.";
+ mes "Handy, huh?";
+ return;
+L_monster:
+ mes "[Elmeen]";
+ mes "There are many aggressive monsters.";
+ mes "They will attack you, before you're";
+ mes "even close to them.";
+ mes "Also there are few monsters";
+ mes "that are very cooperative with their";
+ mes "tribe. If you attack one of them,";
+ mes "others will come after you for";
+ mes "revenge.";
+ next;
+ mes "[Elmeen]";
+ mes "Every monster are specified with";
+ mes "their types, sizes and properties.";
+ mes "For instance, monster types are ";
+ mes "include: demi-human, brute, immortal";
+ mes "or devil";
+ mes "Once you acknowledge which type a";
+ mes "monster is, you will be able to ";
+ mes "lead an easy battle.";
+ next;
+ mes "[Elmeen]";
+ mes "Also, if you can have some cards";
+ mes "for your weapons which increases";
+ mes "the damage upon certain monster";
+ mes "types,";
+ mes "or cards for your armours which";
+ mes "reduces the damage taken, it will";
+ mes "be much easier for you to battle";
+ mes "against monsters.";
+ next;
+ mes "[Elmeen]";
+ mes "Monsters are seperated by their";
+ mes "sizes such as small, medium and";
+ mes "large.";
+ mes "There are a few cards that allows";
+ mes "you";
+ mes "to do more damage followed by the";
+ mes "monster size.";
+ next;
+ mes "[Elmeen]";
+ mes "Also every weapon have their";
+ mes "strengths and weaknesses. Size of the";
+ mes "weapon affects on the damage of the ";
+ mes "weapon dealth with monsters.";
+ mes "For instance, dagger class weapons";
+ mes "do 100% damage on the small sized";
+ mes "mosnters but they only do 50% on";
+ mes "the large monsters.";
+ next;
+ mes "[Elmeen]";
+ mes "For the monster property, there are";
+ mes "water, wind, earth, fire, shadow";
+ mes "ghost and holy.";
+ mes "If you attack a monster with the";
+ mes "opposite property of it, you can do";
+ mes "more damages than the damage you";
+ mes "normally do.";
+ next;
+ mes "[Elmeen]";
+ mes "Also, if you attack a monster with";
+ mes "the same property of the monster,";
+ mes "the damage will be significantly";
+ mes "reduced or you will do no damage at";
+ mes "all, also there is a possibility ";
+ mes "that you will heal the monster.";
+ mes "For instance, in case of a ghost";
+ mes "property monster, normal weapons";
+ mes "cannot do any damage on the";
+ mes "monster, but weapons with property";
+ mes "can.";
+ return;
+L_exp:
+ mes "[Elmeen]";
+ mes "Basically, a character who deals";
+ mes "the most damage on a monster";
+ mes "receives the most experience points";
+ mes "from the monster.";
+ mes "Therefore you receive a certain %";
+ mes "of experience points in proportion";
+ mes "to the damage you've done on the HP";
+ mes "amount of a monster.";
+ next;
+ mes "[Elmeen]";
+ mes "Let's say, there is a character";
+ mes "name 'Z'. Z does 65 damage on a ";
+ mes "monster that possess 100 HP and";
+ mes "gives 1000 experience points when";
+ mes "it's dead. Then, the expereicen";
+ mes "points Z receives from the monster";
+ mes "will be '650'.";
+ mes "This is how you gain the experience";
+ mes "points.";
+ next;
+ mes "[Elmeen]";
+ mes "However, this rule applies";
+ mes "differently following certain";
+ mes "situations.";
+ mes "If there are two people who did the ";
+ mes "same 65 damage on one monster, the";
+ mes "experience points that each one of";
+ mes "them receives from the monster";
+ mes "beco mes different, affected by";
+ mes "remaining HP amount of the";
+ mes "monster.";
+ mes "For instance, somebody ";
+ mes "does damage on a monster while";
+ mes "you're hitting it and he did the";
+ mes "same amount of damage you did.";
+ mes "Then, you will receive 2/3 of the";
+ mes "whole experience points that";
+ mes "monster can give you, the other one";
+ mes "will receive 1/3.";
+ next;
+ mes "[Elmeen]";
+ mes "However, attacking a monster that";
+ mes "somebody already started to hit is";
+ mes "not suggested in Ragnarok Online.";
+ mes "That action is regarded as an ";
+ mes "ill-mannered behaviour. For party";
+ mes "play, the master can set up";
+ mes "the experience distribution to the";
+ mes "equally share option.";
+ mes "With this method, party members can ";
+ mes "share their experience followed by ";
+ mes "their character level and numbers";
+ mes "of the party.";
+ next;
+ mes "[Elmeen]";
+ mes "Also there is an experience";
+ mes "benefit for party play which allows";
+ mes "you to gain more experience points";
+ mes "than playing solo,";
+ mes "you can take advantage of the";
+ mes "system for faster leveling.";
+ return;
+L_item:
+ mes "[Elmeen]";
+ mes "When you kill monsters, you can";
+ mes "obtain items by chance. Besides,";
+ mes "certain characters can use the";
+ mes "'Steal' skill in order to steal";
+ mes "items from monsters.";
+ next;
+ mes "[Elmeen]";
+ mes "Don't you worry about the steal";
+ mes "skill causing you to not find any";
+ mes "items after you kill them. The";
+ mes "steal skill works on the item drop";
+ mes "rate independently from the normal";
+ mes "rate.";
+ mes "In case you kill a mosnter with ";
+ mes "other people, a person who did the";
+ mes "most damage has a prior rights to";
+ mes "obtain items.";
+ return;
+L_equip:
+ mes "[Elmeen]";
+ mes "Please take care of the equipment";
+ mes "you've received through the";
+ mes "training courses. Once you lose the";
+ mes "equipment, you can never get them";
+ mes "back.";
+ return;
+}
+
+//Training Center Employee functions
+function script training_personnel {
+ mes "[Hoffman]";
+ mes "Hey there~";
+ mes "I'm here to provide";
+ mes "you with a little instruction";
+ next;
+ mes "[Hoffman]";
+ mes "These monsters are all weak";
+ mes "and easy to kill. But be careful,";
+ mes "a lot of them are aggressive";
+ mes "and out for blood!";
+ next;
+ mes "[Hoffman]";
+ mes "If you think monsters here are too";
+ mes "weak for you, I can send you to";
+ mes "another taining ground where the";
+ mes "monsters are stronger than the ones";
+ mes "over here.";
+ next;
+ mes "[Hoffman]";
+ mes "But don't worry so much,";
+ mes "They're not impossible for";
+ mes "Novices. So would you";
+ mes "like to try?";
+ next;
+ return;
+}
+function script training_personnel0 {
+ mes "[Hoffman]";
+ mes "Hmmm...?";
+ mes "Are you worried about going";
+ mes "to more challenging places? That's";
+ mes "understandable, since you're still";
+ mes "a new adventurer. Good luck~";
+ close;
+ return;
+}
+function script training_personnel1 {
+ mes "[Hoffman]";
+ mes "Hmmm...?";
+ mes "Are you worried about going";
+ mes "to more challenging places? That's";
+ mes "understandable, since you're still";
+ mes "a new adventurer. Good luck~";
+ close2;
+ warp "new_1-3.gat",96,21;
+ return;
+}
+function script training_personnel2 {
+ mes "[Hoffman]";
+ mes "Hmmm...?";
+ mes "Are you worried about going";
+ mes "to more challenging places? That's";
+ mes "understandable, since you're still";
+ mes "a new adventurer. Good luck~";
+ close2;
+ warp "new_" + rand(2,3) + "-3.gat",96,21;
+ return;
+}
+function script training_personnel3 {
+ mes "[Hoffman]";
+ mes "You must like";
+ mes "rough challenges,";
+ mes "don't you? Please";
+ mes "be careful, it can get";
+ mes "pretty difficult...";
+ close2;
+ warp "new_" + rand(4,5) + "-3.gat",96,21;
+ return;
+}
+
+new_1-3.gat,95,30,4 script Training Center Employee 84,{
+ callfunc "training_personnel";
+ switch( select("I don't want a challenge~","I wanna fight tough monsters!","Cancel.") ) {
+ case 1: callfunc "training_personnel2"; break;
+ case 2: callfunc "training_personnel3"; break;
+ case 3: callfunc "training_personnel0";
+ }
+}
+new_2-3.gat,95,30,4 script Training Center Employee 84,{
+ callfunc "training_personnel";
+ switch( select("I don't want a challenge~","I wanna fight tough monsters!","Cancel.") ) {
+ case 1: callfunc "training_personnel1"; break;
+ case 2: callfunc "training_personnel3"; break;
+ case 3: callfunc "training_personnel0";
+ }
+}
+new_3-3.gat,95,30,4 script Training Center Employee 84,{
+ callfunc "training_personnel";
+ switch( select("I don't want a challenge~","I wanna fight tough monsters!","Cancel.") ) {
+ case 1: callfunc "training_personnel1"; break;
+ case 2: callfunc "training_personnel3"; break;
+ case 3: callfunc "training_personnel0";
+ }
+}
+new_4-3.gat,95,30,4 script Training Center Employee 84,{
+ callfunc "training_personnel";
+ switch( select("I don't want a challenge~","I wanna fight tough monsters!","Cancel.") ) {
+ case 1: callfunc "training_personnel1"; break;
+ case 2: callfunc "training_personnel2"; break;
+ case 3: callfunc "training_personnel0";
+ }
+}
+new_5-3.gat,95,30,4 script Training Center Employee 84,{
+ callfunc "training_personnel";
+ switch( select("I don't want a challenge~","I wanna fight tough monsters!","Cancel.") ) {
+ case 1: callfunc "training_personnel1"; break;
+ case 2: callfunc "training_personnel2"; break;
+ case 3: callfunc "training_personnel0";
+ }
+}
+
+- script supervision 85,{
+ mes "[Keyman]";
+ mes "Hmmm!";
+ mes "You have practised a lot, would you like to go on with further training?";
+ next;
+ menu "Yes",L1,"No",L2;
+L1: mes "[Keyman]";
+ mes "Don't forget about everything you've learnt here. Have a nice trip.";
+ next;
+ warp "new_1-4.gat",99,10;
+ close2;
+ warp "new_1-4.gat",99,10;
+ end;
+L2: mes "[Keyman]";
+ mes "So you want to stay here longer? Continue training, and train hard!";
+ close;
+}
+new_1-3.gat,96,174,4 duplicate(supervision) Petugas Pemeriksa 85
+new_2-3.gat,96,174,4 duplicate(supervision) Petugas Pemeriksa 85
+new_3-3.gat,96,174,4 duplicate(supervision) Petugas Pemeriksa 85
+new_4-3.gat,96,174,4 duplicate(supervision) Petugas Pemeriksa 85
+new_5-3.gat,96,174,4 duplicate(supervision) Petugas Pemeriksa 85
+
+//Novice Instructor
+new_1-4.gat,91,22,4 script Novice Instructor 57,{
+ mes "[Bruce]";
+ mes "You have come from far away.";
+ mes "Thank you for coming here";
+ if(Sex == 1) goto L_FEMALE;
+ mes "Mr '"+strcharinfo(0)+"'";
+ goto L_CONT;
+L_FEMALE:
+ mes "Ms '"+strcharinfo(0)+"'";
+L_CONT:
+ mes "It's nice to meet you.";
+ mes "My name is Bruce, and I come";
+ mes "from Rune-Midgard.";
+ next;
+ mes "[Bruce]";
+ mes "My work is to help Novices";
+ mes "to choose their jobs.";
+ mes "So, I will briefly explain each";
+ mes "job.";
+ next;
+ mes "[Bruce]";
+ mes "I will explain the following jobs:";
+ mes "^0000FFSwordsman, Mage, Archer, Merchant, Thief and Acolyte.^000000";
+ next;
+ mes "[Bruce]";
+ mes "Which job do you want to hear about?";
+L_loop:
+ next;
+ switch( select("Swordman","Mage","Archer","Merchant","Thief","Acolyte","End Conversation") ) {
+ case 1: mes "[Bruce]";
+ mes "Literally, Swordsman means one who";
+ mes "specialises in wielding swords.";
+ mes "Swordsman can also choose to use";
+ mes "spears, but I must say, it is a rare";
+ mes "occurance.";
+ next;
+ mes "[Bruce]";
+ mes "Swordsman posses strong physical";
+ mes "strength.";
+ mes "This is so they can equip heavy armours";
+ mes "and weapons.";
+ mes "Most weapon classes, except for";
+ mes "bows and rods, are equipable by the";
+ mes "Swordsman class.";
+ next;
+ mes "[Bruce]";
+ mes "The only weakness of the Swordman";
+ mes "class is that they cannot use";
+ mes "magic spells.";
+ mes "However, it is compensated for";
+ mes "by using elemental weapons.";
+ next;
+ mes "[Bruce]";
+ mes "The benefits of being a Swordsman";
+ mes "is the enormous amount of HP.";
+ mes "You can bear the damage from your";
+ mes "enemy with ease.";
+ next;
+ mes "[Bruce]";
+ mes "Furthermore, once you learn your";
+ mes "strong attack skills, there is no";
+ mes "one that can beat the Swordsman";
+ mes "class in a melee fight.";
+ next;
+ mes "[Bruce]";
+ mes "In Ragnarok Online,";
+ mes "Swordsman takes the position of";
+ mes "tanker, to protect weaker classes";
+ mes "from being attacked or hurt.";
+ mes "Swordsman is the ideal character for";
+ mes "the party leader position";
+ next;
+ mes "[Bruce]";
+ mes "Swordsman can advance into the";
+ mes "^FF0000Knight, or Crusader^000000 classes";
+ mes "for their 2nd class profession.";
+ break;
+ case 2: mes "[Bruce]";
+ mes "The mage class specialises in";
+ mes "manipulating: fire, water, earth";
+ mes "and lightening, to damage their";
+ mes "enemies.";
+ next;
+ mes "[Bruce]";
+ mes "However, due to their physical";
+ mes "weakness, they are only allowed";
+ mes "to equip rods and knives as";
+ mes "weapons, and light armours for";
+ mes "defense";
+ next;
+ mes "[Bruce]";
+ mes "Despite their physical weakness,";
+ mes "they are able to do massive damage";
+ mes "with their powerful spells.";
+ mes "This fact alone attracts many";
+ mes "people to this class";
+ next;
+ mes "[Bruce]";
+ mes "In Ragnarok Online,";
+ mes "the Mage is considered as the";
+ mes "damage dealer of the party";
+ next;
+ mes "[Bruce]";
+ mes "Mage can advance into a";
+ mes "^FF0000Wizard^000000 or ^FF0000Sage^000000";
+ mes "as their 2nd class profession.";
+ break;
+ case 3: mes "[Bruce]";
+ mes "Archer class specialises in";
+ mes "using bows. In a party, archers are";
+ mes "in charge of long range attacks.";
+ mes "This allows them to attack,";
+ mes "and kill monsters from a safe distance";
+ next;
+ mes "[Bruce]";
+ mes "Archers are physically weak,";
+ mes "however, they possess a high";
+ mes "level of accuracy with powerful";
+ mes "long range bows.";
+ next;
+ mes "[Bruce]";
+ mes "Every Archer may advance into";
+ mes "the ^FF0000Hunter^000000 class.";
+ mes "Alternatively, male archers may";
+ mes "advance into the ^FF0000Bard^000000,";
+ mes "and female Archers may become a";
+ mes "^FF0000Dancer^000000, as their 2nd class profession";
+ break;
+ case 4: mes "[Bruce]";
+ mes "The Merchant class specialises in";
+ mes "commerce. Due to their strong and";
+ mes "influential guild, Merchants can";
+ mes "buy and sell to NPCs for a better";
+ mes "price than other classes.";
+ next;
+ mes "[Bruce]";
+ mes "In Ragnarok Online, the Merchant";
+ mes "class possess various economically";
+ mes "beneficial skills.";
+ mes "They may buy items at a discount";
+ mes "from NPCs, and sell items to NPCs";
+ mes "at a higher price than normal.";
+ next;
+ mes "[Bruce]";
+ mes "In addition Merchants may rent a";
+ mes "cart that greatly expands their";
+ mes "carrying capacity, and allows";
+ mes "them to open shops with their";
+ mes "own items and prices.";
+ next;
+ mes "[Bruce]";
+ mes "Merchant can advance into a";
+ mes "^FF0000Blacksmith^000000 or ^FF0000Alchemist^000000";
+ mes "as their 2nd class profession.";
+ break;
+ case 5: mes "[Bruce]";
+ mes "The Thief class are experts at using";
+ mes "dagger class weapons as their main";
+ mes "weapon. They attack fast, and they";
+ mes "can dodge attacks from enemies with ease.";
+ next;
+ mes "[Bruce]";
+ mes "The Thief is also an expert at";
+ mes "hiding and stealing from their";
+ mes "enemies. Furthermore, their use";
+ mes "of poison to weaken their foes";
+ mes "is a feared trait of this class.";
+ next;
+ mes "[Bruce]";
+ mes "When you are in a dangerous";
+ mes "situation, or you want to hide";
+ mes "your body, you can use a skill";
+ mes "to dig into the ground.";
+ next;
+ mes "[Bruce]";
+ mes "Thief can advance into either";
+ mes "^FF0000Assassin^000000, or ^FF0000Rogue^000000";
+ mes "as the 2nd class profession.";
+ break;
+ case 6: mes "[Bruce]";
+ mes "The Acolyte is God's messenger to";
+ mes "Rune-Midgard. Acolytes have";
+ mes "skills that makes all classes";
+ mes "more potent in battle, as well as";
+ mes "the life saving heal ability.";
+ next;
+ mes "[Bruce]";
+ mes "The Acolyte's support abilities";
+ mes "make them a welcome addition to";
+ mes "any party. The acolyte is what";
+ mes "makes parties survive in";
+ mes "difficult situations, allowing";
+ mes "other classes to focus";
+ mes "themselves on defeating the enemy.";
+ next;
+ mes "[Bruce]";
+ mes "'Acolyte' is one of the jobs, who";
+ mes "are really needed when users want";
+ mes "to play in a party.";
+ next;
+ mes "[Bruce]";
+ mes "Acolyte may become a ^FF0000Priest^000000, or";
+ mes "^FF0000Monk^000000 as their 2nd class profession.";
+ break;
+ case 7: mes "[Bruce]";
+ mes "For more information, please visit";
+ mes "our official website at";
+ mes "'http://ragnarok.co.kr'";
+ mes "Hanson is waitinging for you now,";
+ mes "good luck out there.";
+ close;
+ }
+ set NEW_MES_FLAG6,1;
+ goto L_loop;
+}
+
+new_1-4.gat,100,29,4 script Final Instructor 46,{
+ if (!(NEW_MES_FLAG6)) {
+ mes "[Hanson]";
+ mes "Nice to meet you.";
+ mes "My name is 'Hanson'";
+ mes "I am in charge of the third course,";
+ mes "which is the 'Personality Test'.";
+ mes "Your name is ^A62A2A'"+strcharinfo(0)+"'^000000.";
+ next;
+ mes "[Hanson]";
+ mes "Before you take this test,";
+ mes "go to meet 'Bruce' right next to";
+ mes "me and listen about Jobs'.";
+ mes "then, come back to me.";
+ close;
+ }
+ if (NEW_GETITEM) {
+ mes "[Hanson]";
+ mes "I understand.";
+ mes "I will now move you directly into the world of Ragnarok Online.";
+ next;
+ mes "[Hanson]";
+ mes "For more information ";
+ mes "please visit the official";
+ mes "Ragnarok Online website.";
+ next;
+ mes "[Hanson]";
+ mes "Finally, "+strcharinfo(0)+"";
+ mes "I hope that you can become a good player.";
+ mes "Good luck, and have a safe journey.";
+ next;
+ goto L_cancel;
+ }
+ mes "[Hanson]";
+ mes "You have made an effort to come";
+ mes "here. You have just finished";
+ mes "learning about job classes.";
+ mes "This will be your 3rd test, the";
+ mes "personality test, but it's not";
+ mes "a mandatory course.";
+ next;
+ mes "[Hanson]";
+ mes "That is, if you do not wish to take";
+ mes "this course, you can decide to pass";
+ mes "without taking it. However, if you";
+ mes "take this course, there will be";
+ mes "some benefits.";
+ next;
+ mes "[Hanson]";
+ mes "Firstly, you will receive many";
+ mes "health items during the course.";
+ mes "They will be very helpful when";
+ mes "you join the Ragnarok Online";
+ mes "community.";
+ next;
+ mes "[Hanson]";
+ mes "Secondly, after you finish the";
+ mes "course, we suggest a job class";
+ mes "best suited to your personality,";
+ mes "and teleport you to a town where";
+ mes "you can change into the job we";
+ mes "suggested. And there are many";
+ mes "other supplies for you besides";
+ mes "these two benefits.";
+ next;
+ mes "[Hanson]";
+ mes "Now! What would you like to do?";
+ mes "Do you wish to start Ragnarok";
+ mes "Online immediately, or to take";
+ mes "this personality test?";
+ next;
+ if ( select("I'll take the test.","Let me start Ragnarok Online Please.") == 2 ) {
+ mes "[Hanson]";
+ mes "I understand.";
+ mes "I will now move you directly into the world of Ragnarok Online.";
+ next;
+ mes "[Hanson]";
+ mes "For more information ";
+ mes "please visit the official";
+ mes "Ragnarok Online website.";
+ next;
+ mes "[Hanson]";
+ mes "Finally, "+strcharinfo(0)+"";
+ mes "I hope that you can become a good player.";
+ mes "Good luck, and have a safe journey.";
+ next;
+L_cancel:
+ callsub L_cleararg;
+ switch ( rand(6) ) {
+ case 0: savepoint "izlude.gat",94,103;
+ warp "prt_fild08.gat",357,212;
+ break;
+ case 1: savepoint "payon.gat",256,242;
+ warp "pay_fild01.gat",334,354;
+ break;
+ case 2: savepoint "morocc.gat",149,100;
+ warp "moc_fild07.gat",198,39;
+ break;
+ case 3: savepoint "geffen.gat",120,38;
+ warp "gef_fild07.gat",327,188;
+ break;
+ case 4: savepoint "prontera.gat",116,72;
+ warp "prt_fild08.gat",170,371;
+ break;
+ case 5: savepoint "alberta.gat",31,231;
+ warp "pay_fild03.gat",388,70;
+ }
+ end;
+ }
+ mes "[Hanson]";
+ mes "Excellent choice! You're";
+ mes "You're supposed to take every";
+ mes "training course if you really";
+ mes "want to be a well-prepared";
+ mes "player! Honestly, if you";
+ mes "didn't take this course,";
+ mes "I would be disappointed in you.";
+ next;
+ mes "[Hanson]";
+ mes "Alright, let me start the 1st";
+ mes "personality test.";
+ mes "";
+ mes "Please releax and take it easy,";
+ mes "choose the most familiar answer";
+ mes "among the next examples.";
+ next;
+ mes "[Hanson]";
+ mes "Remember, this test is only to";
+ mes "check your personality, there";
+ mes "is no set standard for right";
+ mes "or wrong. Now! Let's start";
+ mes "the test!";
+ next;
+ mes "[Hanson]";
+ mes "Please choose the most familiar";
+ mes "word to you, from these examples.";
+ next;
+ switch ( select("Study","Exercise","Public service","Violence") ) {
+ case 1: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;break;
+ case 2: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;
+ set NOV_3_THIEF,NOV_3_THIEF+1;break;
+ case 3: set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;break;
+ case 4: set NOV_3_THIEF,NOV_3_THIEF+1;
+ }
+ switch ( select("Change","Conserve") ) {
+ case 1: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;break;
+ case 2: set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;
+ }
+ switch ( select("Consumer","Seller","Producer") ) {
+ case 1: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;
+ set NOV_3_THIEF,NOV_3_THIEF+1;
+ set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;break;
+ case 2: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;break;
+ case 3: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;
+ }
+ switch ( select("Celebrity","Prudence") ) {
+ case 1: set NOV_3_THIEF,NOV_3_THIEF+1;break;
+ case 2: set NOV_3_ARCHER,NOV_3_ARCHER+1;
+ }
+ switch ( select("Theory","Experience") ) {
+ case 1: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;break;
+ case 2: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;
+ }
+ switch ( select("The past","The reality","The future") ) {
+ case 1: set NOV_3_ARCHER,NOV_3_ARCHER+1;break;
+ case 2: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;
+ set NOV_3_THIEF,NOV_3_THIEF+1;break;
+ case 3: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;
+ }
+ mes "[Hanson]";
+ mes "Please answer with 'yes' or 'no' to";
+ mes "the next questions.";
+ next;
+ mes "[Hanson]";
+ mes "To die with honor is better than to live with disgrace.";
+ next;
+ switch ( select("Yes.","No") ) {
+ case 1: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;break;
+ case 2: set NOV_3_THIEF,NOV_3_THIEF+1;
+ set NOV_3_MERCHAN,NOV_3_MERCHAN+1;
+ }
+ mes "[Hanson]";
+ mes "You are often upset to see someone";
+ mes "who is better than you";
+ next;
+ switch ( select("Yes","No") ) {
+ case 1: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;break;
+ case 2:set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;
+ }
+ mes "[Hanson]";
+ mes "You don't mind exploring dangerous";
+ mes "places.";
+ next;
+ switch ( select("Yes","No") ) {
+ case 1: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;break;
+ case 2: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;
+ }
+ mes "[Hanson]";
+ mes "You are a leader-type person.";
+ next;
+ switch ( select("Yes","No") ) {
+ case 1: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;break;
+ case 2: set NOV_3_ARCHER,NOV_3_ARCHER+1;
+ }
+ mes "[Hanson]";
+ mes "While exploring a dungeon, you";
+ mes "encountered a no-way out.";
+ mes "As you examined a wall beside you,";
+ mes "there was a button-looking stone";
+ mes "with a 'do not push' sign.";
+ next;
+ mes "[Hanson]";
+ mes "You see the 'do not push' sign";
+ mes "and have an urge to push the";
+ mes "button. Do you push it?";
+ next;
+ switch ( select("Yes","No") ) {
+ case 1: set NOV_3_THIEF,NOV_3_THIEF+1;break;
+ case 2: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;
+ }
+ mes "[Hanson]";
+ mes "You often see things that don't";
+ mes "exist";
+ next;
+ switch ( select("Yes","No") ) {
+ case 1: set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;break;
+ case 2: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;
+ }
+ mes "[Hanson]";
+ mes "You feel you can fly";
+ mes "when falling from a cliff.";
+ next;
+ switch ( select("Yes","No") ) {
+ case 1: set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;break;
+ case 2: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;
+ }
+ mes "[Hanson]";
+ mes "Money talks. I can buy even human being if I want.";
+ next;
+ switch ( select("Yes","No") ) {
+ case 1: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;break;
+ case 2: set NOV_3_ARCHER,NOV_3_ARCHER+1;
+ }
+ mes "[Hanson]";
+ mes "Now, let me give you some different";
+ mes "questions.";
+ mes "Please relax and take it easy,";
+ mes "choose the most familiar answer";
+ mes "from the next examples";
+ next;
+ mes "[Hanson]";
+ mes "As you check your tight";
+ mes "schedule....";
+ next;
+ switch ( select("You feel like a robot.","You are proud and satisfied.","Schedule... what schedule?") ) {
+ case 1: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;
+ set NOV_3_THIEF,NOV_3_THIEF+1;break;
+ case 2: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;
+ set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;break;
+ case 3: set NOV_3_ARCHER,NOV_3_ARCHER+1;
+ set NOV_3_MERCHANT,NOV_3_MERCHANT+1;
+ }
+ mes "[Hanson]";
+ mes "During window shopping, you found a";
+ mes "really interesting item in a store";
+ mes "and you're debating whether to buy";
+ mes "it or not.";
+ mes "Before you purchase an item,";
+ mes "first thing you do is...";
+ next;
+ switch ( select("Think about if you need it.","Check the price.","Buy it without thinking twice...!") ) {
+ case 1: set NOV_3_ARCHER,NOV_3_ARCHER+1;break;
+ case 2: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;break;
+ case 3: set NOV_3_THIEF,NOV_3_THIEF+1;
+ }
+ mes "[Hanson]";
+ mes "You (____Fill in blank___) to compete";
+ mes "with other people.......";
+ next;
+ switch ( select("Don't mind...","Don't like...","Don't care...") ) {
+ case 1: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;break;
+ case 2: set NOV_3_THIEF,NOV_3_THIEF+1;break;
+ case 3: set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;
+ set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;
+ }
+ mes "[Hanson]";
+ mes "You're responsible for a task that";
+ mes "requires you to cooperate with many";
+ mes "people.";
+ mes "If you handle it by yourself, it";
+ mes "takes a long time with a lot of";
+ mes "effort.";
+ mes "But if you cooperate with others,";
+ mes "it will be simple and an enjoyable";
+ mes "task. You would...";
+ next;
+ switch ( select("Handle it by myself even if it's hard.","Ask friends to help.") ) {
+ case 1: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;break;
+ case 2: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;
+ }
+ mes "[Hanson]";
+ mes "You happened to find a girl who";
+ mes "fainted on the street.";
+ mes "What would you do?";
+ next;
+ switch ( select("Carry her to a hospital.","Considder my priority before taking an action.","Just ignore it.") ) {
+ case 1: set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;break;
+ case 2: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;
+ set NOV_3_ARCHER,NOV_3_ARCHER+1;break;
+ case 3: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;
+ set NOV_3_THIEF,NOV_3_THIEF+1;
+ set NOV_3_MERCHAN,NOV_3_MERCHAN+1;
+ }
+ mes "[Hanson]";
+ mes "You happened to pick up";
+ mes "some 'clothing'";
+ mes "What would you do?";
+ next;
+ switch ( select("Check the brand.","Wonder who lost it.","Find the owner.","Leave it where it was.") ) {
+ case 1: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;break;
+ case 2: set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;break;
+ case 3: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;break;
+ case 4: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;
+ }
+ mes "[Hanson]";
+ mes "You happened to slip your tongue in";
+ mes "the middle of a conversation.";
+ mes "What would be your reaction?";
+ next;
+ switch ( select("Pretend it's a joke.","Change the subject.","Analyse it.","Apologise honestly.") ) {
+ case 1: set NOV_3_THIEF,NOV_3_THIEF+1;break;
+ case 2: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;break;
+ case 3: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;break;
+ case 4: set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;
+ }
+ mes "[Hanson]";
+ switch (Sex) {
+ case 0: mes "You're on a trip with your beloved";
+ mes "one. She asks you to buy a";
+ mes "souvenir that's not particularly";
+ mes "needed.";
+ mes "What would you do?";
+ break;
+ case 1: mes "You're on a trip with your beloved";
+ mes "one. He asks you to buy a";
+ mes "souvenir that's not particularly";
+ mes "needed.";
+ mes "What would you do?";
+ }
+ next;
+ switch ( select("Buy the item for her/him.","Say 'no'.","Promise to buy it next time.") ) {
+ case 1: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;break;
+ case 2: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;break;
+ case 3: set NOV_3_THIEF,NOV_3_THIEF+1;
+ }
+ mes "[Hanson]";
+ mes "Ok!! That's all for the test.";
+ mes "You have finished all training";
+ mes "grounds courses. Congratulations!";
+ mes "I am so proud of you.";
+ next;
+ mes "[Hanson]";
+ mes "I prepared some items for you since";
+ mes "you passed the personality test.";
+ mes "Please take these.";
+ next;
+ set NEW_GETITEM,1;
+ getitem 501,4;
+ getitem 503,2;
+ getitem 506,2;
+ next;
+ mes "[Hanson]";
+ mes "Mr/Ms. ^A62A2A'"+strcharinfo(0)+"'^000000!";
+ mes "I will recommend to you a";
+ mes "suitable job, after I finish";
+ mes "analysing the results of your";
+ mes "personality test.";
+ mes "Please wait.";
+ next;
+ mes "[Hanson]";
+ mes ". . . . . . . . . . . . .";
+ mes "It's almost over . .";
+ mes ". . . . . . . . . . . . .";
+ next;
+ mes "[Hanson]";
+ mes ". . . . . . . .!";
+ next;
+ mes "[Hanson]";
+ mes "Here's the final result of your";
+ mes "test, Mr/Ms. ^A62A2A'"+strcharinfo(0)+"'^000000!!";
+ next;
+ set @JOB_NUMBER,1;
+ set @JOB_WITH_C,0;
+ set @JOB_NUMBER_CHK,0;
+ set @JOB_WITH,NOV_3_SWORDMAN;
+L_loop1:
+ switch ( @JOB_NUMBER ) {
+ case 1: set @JOB_WITH_C,NOV_3_ARCHER;break;
+ case 2: set @JOB_WITH_C,NOV_3_THIEF;break;
+ case 3: set @JOB_WITH_C,NOV_3_MAGICIAN;break;
+ case 4: set @JOB_WITH_C,NOV_3_ACOLYTE;break;
+ default: set @JOB_WITH_C,NOV_3_MERCHANT;
+ }
+ if (@JOB_WITH >= @JOB_WITH_C) goto L_loop2;
+ set @JOB_NUMBER_CHK,@JOB_NUMBER;
+ switch ( @JOB_NUMBER ) {
+ case 1: set @JOB_WITH,NOV_3_ARCHER;break;
+ case 2: set @JOB_WITH,NOV_3_THIEF;break;
+ case 3: set @JOB_WITH,NOV_3_MAGICIAN;break;
+ case 4: set @JOB_WITH,NOV_3_ACOLYTE;break;
+ default: set @JOB_WITH,NOV_3_MERCHANT;
+ }
+L_loop2:
+ set @JOB_NUMBER,@JOB_NUMBER+1;
+ while ( @JOB_NUMBER < 6 ) goto L_loop1;
+ mes "[Hanson]";
+ switch ( @JOB_NUMBER_CHK ) {
+ case 0: set @JOB_NAME$,"Swordsman";
+ mes "Although you are direct and";
+ mes "'to the point', you are also";
+ mes "thoughtful and simple.";
+ mes "You clearly wish that you can";
+ mes "become an important person in";
+ mes "this world. In addition to";
+ mes "this, you always try to help";
+ mes "the weak.";
+ next;
+ mes "[Hanson]";
+ mes "The most suitable profession for you is,";
+ mes "^696969Swordsman^000000.";
+ break;
+ case 1: set @JOB_NAME$,"Archer";
+ mes "You always tried to understand";
+ mes "the feelings of a fallen person";
+ mes "despite not knowing them.";
+ mes "YOu also wanted the other";
+ mes "person to understand your feelings";
+ next;
+ mes "[Hanson]";
+ mes "The most suitable profession for you is,";
+ mes "^696969Archer^000000.";
+ break;
+ case 2: set @JOB_NAME$,"Thief";
+ mes "You are curious, and want to";
+ mes "explore all around the world.";
+ mes "You also want satisfaction.";
+ next;
+ mes "[Hanson]";
+ mes "The most suitable profession for you is,";
+ mes "^696969Thief^000000.";
+ break;
+ case 3: set @JOB_NAME$,"Mage";
+ mes "You didn't want to be seen as";
+ mes "stupid, and you really enjoyed the";
+ mes "tests. You also want to be independant.";
+ next;
+ mes "[Hanson]";
+ mes "The most suitable profession for you is,";
+ mes "^696969Mage^000000.";
+ break;
+ case 4: set @JOB_NAME$,"Acolyte";
+ mes "You are a person whom is really";
+ mes "understanding and kind,";
+ mes "and would suffer for the sake";
+ mes "of another person.";
+ next;
+ mes "[Hanson]";
+ mes "The most suitable profession for you is,";
+ mes "^696969Acolyte^000000s.";
+ break;
+ case 5: set @JOB_NAME$,"Merchant";
+ mes "You are keen to analyse the market,";
+ mes "you are very neat and want to be";
+ mes "strong. You are also a determined";
+ mes "and are responsible for all your";
+ mes "actions.";
+ next;
+ mes "[Hanson]";
+ mes "The most suitable profession for you is,";
+ mes "^696969Merchant^000000.";
+ }
+ next;
+
+ mes "[Hanson]";
+ mes "So, would you like to accept our";
+ mes "recommendation, or would you like";
+ mes "to choose a job on your own?";
+ next;
+ if ( select(@JOB_NAME$+"!","No, my own choice!") == 1 ) {
+ mes "[Hanson]";
+ mes "Great! I guarantee that it is";
+ mes "a good decision!";
+ mes "After you receive all the";
+ mes "supplies, I will send you to";
+ mes "the associated town.";
+ next;
+ mes "^882420Item Offer List^000099";
+ switch( @JOB_NUMBER_CHK ) {
+ case 0: mes "1 Falchion";
+ getitem 1104,1;
+ break;
+ case 1: mes "1 Composite Bow";
+ getitem 1704,1;
+ break;
+ case 2: mes "1 Main Gauche";
+ getitem 1207,1;
+ break;
+ case 3: mes "1 Rod";
+ mes "1 Cutter";
+ getitem 1601,1;
+ getitem 1204,1;
+ break;
+ case 4: mes "1 Mace";
+ getitem 1504,1;
+ break;
+ case 5: mes "1 Battle Axe";
+ getitem 1351,1;
+ }
+ mes "7 Phracons";
+ mes "10 Novices Red Potions^000000";
+ getitem 1010,7;
+ getitem 569,10;
+ next;
+ mes "[Hanson]";
+ mes "All the supplies have been given to";
+ mes "you. Please, check it again.";
+ mes "I will give a brief explanation";
+ mes "about these items.";
+ next;
+ mes "[Hanson]";
+ switch( @JOB_NUMBER_CHK ) {
+ case 0: mes "After you change your job,";
+ mes "you can use the 'Falchion'"; break;
+ case 1: mes "After you change your job,";
+ mes "you can use the 'Composite Bow'"; break;
+ case 2: mes "After you change your job,";
+ mes "you can use the 'Main Gauche'"; break;
+ case 3: mes "After you change your job,";
+ mes "you can use the 'Rod'"; break;
+ case 4: mes "After you change your job,";
+ mes "you can use the 'Mace'"; break;
+ case 5: mes "After you change your job,";
+ mes "you can use the 'Battle Axe'";break;
+ }
+ mes "instead of the Novice Knife";
+ mes "which I offered you before.";
+ next;
+ mes "[Hanson]";
+ mes "'Phracon' will be spent when";
+ mes "you refine Lv 1 weapons.";
+ mes "Some of the famous refiners";
+ mes "work only intowns.";
+ mes "After you change your job,";
+ mes "Visit one of them with Phracon.";
+ callsub L_place;
+ next;
+ goto L_warp;
+ }
+ mes "[Hanson]";
+ mes "Yes, yes...";
+ mes "So this is your choice?";
+ mes "Did you not care about";
+ mes "our recommendation?";
+ mes "Please choose the profession";
+ mes "that you want.";
+ next;
+ switch( @JOB_NUMBER_CHK ) {
+ case 0: switch( select("Mage","Merchant","Thief","Archer","Acolyte") ) {
+ case 1: set @JOB_NUMBER_CHK,3;
+ set @JOB_NAME$,"Mage";
+ break;
+ case 2: set @JOB_NUMBER_CHK,5;
+ set @JOB_NAME$,"Merchant";
+ break;
+ case 3: set @JOB_NUMBER_CHK,2;
+ set @JOB_NAME$,"Thief";
+ break;
+ case 4: set @JOB_NUMBER_CHK,1;
+ set @JOB_NAME$,"Archer";
+ break;
+ case 5: set @JOB_NUMBER_CHK,4;
+ set @JOB_NAME$,"Acolyte";
+ }
+ break;
+ case 1: switch( select("Swordsman","Mage","Merchant","Thief","Acolyte") ) {
+ case 1: set @JOB_NUMBER_CHK,0;
+ set @JOB_NAME$,"Swordsman";
+ break;
+ case 2: set @JOB_NUMBER_CHK,3;
+ set @JOB_NAME$,"Mage";
+ break;
+ case 3: set @JOB_NUMBER_CHK,5;
+ set @JOB_NAME$,"Merchant";
+ break;
+ case 4: set @JOB_NUMBER_CHK,2;
+ set @JOB_NAME$,"Thief";
+ break;
+ case 5: set @JOB_NUMBER_CHK,4;
+ set @JOB_NAME$,"Acolyte";
+ }
+ break;
+ case 2: switch( select("Swordsman","Mage","Merchant","Archer","Acolyte") ) {
+ case 1: set @JOB_NUMBER_CHK,0;
+ set @JOB_NAME$,"Swordsman";
+ break;
+ case 2: set @JOB_NUMBER_CHK,3;
+ set @JOB_NAME$,"Mage";
+ break;
+ case 3: set @JOB_NUMBER_CHK,5;
+ set @JOB_NAME$,"Merchant";
+ break;
+ case 4: set @JOB_NUMBER_CHK,1;
+ set @JOB_NAME$,"Archer";
+ break;
+ case 5: set @JOB_NUMBER_CHK,4;
+ set @JOB_NAME$,"Acolyte";
+ }
+ break;
+ case 3: switch( select("Swordsman","Merchant","Thief","Archer","Acolyte") ) {
+ case 1: set @JOB_NUMBER_CHK,0;
+ set @JOB_NAME$,"Swordsman";
+ break;
+ case 2: set @JOB_NUMBER_CHK,5;
+ set @JOB_NAME$,"Merchant";
+ break;
+ case 3: set @JOB_NUMBER_CHK,2;
+ set @JOB_NAME$,"Thief";
+ break;
+ case 4: set @JOB_NUMBER_CHK,1;
+ set @JOB_NAME$,"Archer";
+ break;
+ case 5: set @JOB_NUMBER_CHK,4;
+ set @JOB_NAME$,"Acolyte";
+ }
+ break;
+ case 4: switch( select("Swordsman","Mage","Merchant","Thief","Archer") ) {
+ case 1: set @JOB_NUMBER_CHK,0;
+ set @JOB_NAME$,"Swordsman";
+ break;
+ case 2: set @JOB_NUMBER_CHK,3;
+ set @JOB_NAME$,"Mage";
+ break;
+ case 3: set @JOB_NUMBER_CHK,5;
+ set @JOB_NAME$,"Merchant";
+ break;
+ case 4: set @JOB_NUMBER_CHK,2;
+ set @JOB_NAME$,"Thief";
+ break;
+ case 5: set @JOB_NUMBER_CHK,1;
+ set @JOB_NAME$,"Archer";
+ }
+ break;
+ case 5: switch( select("Swordsman","Mage","Thief","Archer","Acolyte") ) {
+ case 1: set @JOB_NUMBER_CHK,0;
+ set @JOB_NAME$,"Swordsman";
+ break;
+ case 2: set @JOB_NUMBER_CHK,3;
+ set @JOB_NAME$,"Mage";
+ break;
+ case 3: set @JOB_NUMBER_CHK,2;
+ set @JOB_NAME$,"Thief";
+ break;
+ case 4: set @JOB_NUMBER_CHK,1;
+ set @JOB_NAME$,"Archer";
+ break;
+ case 5: set @JOB_NUMBER_CHK,4;
+ set @JOB_NAME$,"Acolyte";
+ }
+ }
+ mes "[Hanson]";
+ mes @JOB_NAME$+" is your choise.";
+ callsub L_place;
+ next;
+ mes "[Hanson]";
+ mes "After you receive all the";
+ mes "supplies, I will send you to";
+ mes "the associated town.";
+ next;
+ mes "^882420Item Offer List";
+ mes "^0000301 Adventurer's Suit";
+ mes "^00009910 Novices Red Potions^000000";
+ getitem 2305,1;
+ getitem 569,10;
+ next;
+ mes "[Hanson]";
+ mes "All the supplies have been given to";
+ mes "you. Please, check it again.";
+ mes "I will give a brief explanation";
+ mes "about these items.";
+ next;
+ mes "[Hanson]";
+ mes "'Zeny' is the current currency";
+ mes "within Ragnarok Online.";
+ mes "Later, you can use the";
+ mes "'Adventurer's Suit'";
+ mes "instead of the Novice Plate";
+ mes "which I offered you before.";
+ next;
+L_warp:
+ mes "[Hanson]";
+ mes "Good luck, ^A62A2A' "+strcharinfo(0)+" '^000000,";
+ mes "and farewell.";
+ close2;
+ callsub L_cleararg;
+ switch( @JOB_NUMBER_CHK ) {
+ case 0: savepoint "izlude.gat",94,103;
+ warp "izlude_in.gat",74,167;
+ break;
+ case 1: savepoint "payon.gat",256,242;
+ warp "payon_in02.gat",64,65;
+ break;
+ case 2: savepoint "morocc.gat",149,100;
+ warp "moc_ruins.gat",155,44;
+ break;
+ case 3: savepoint "geffen.gat",120,38;
+ warp "geffen_in.gat",163,98;
+ break;
+ case 4: savepoint "prontera.gat",116,72;
+ warp "prt_church.gat",172,19;
+ break;
+ case 5: savepoint "alberta.gat",31,231;
+ warp "alberta_in.gat",62,44;
+ }
+ end;
+L_place:
+ switch( @JOB_NUMBER_CHK ) {
+ case 0: mes "The town you will be sent to";
+ mes "is 'Izlude'. The Swordsman";
+ mes "association is located in the";
+ mes "west side of the city.";
+ mes "Please remember this.";
+ break;
+ case 1: mes "The town you will be sent to";
+ mes "is named 'Payon'.";
+ mes "The Archer association can be";
+ mes "found in the small village";
+ mes "to the north-east.";
+ mes "Please remember this.";
+ break;
+ case 2: mes "The town you will be sent to";
+ mes "is called 'Morroc'.";
+ mes "The thief guild is in the";
+ mes "underground 1st floor of the";
+ mes "pyramid, which is North-west";
+ mes "of 'Morroc'.";
+ mes "Please remember this.";
+ break;
+ case 3: mes "The town you will be sent to";
+ mes "is called 'Geffen'.";
+ mes "The Mage association is located";
+ mes "to the north-west of the city.";
+ mes "Please remember this.";
+ break;
+ case 4: mes "The town you will be sent to";
+ mes "is called 'Prontera'.";
+ mes "The good father can be found";
+ mes "in the church located in the";
+ mes "north-east corner of 'Prontera'.";
+ mes "Please remember this.";
+ break;
+ case 5: mes "The town you will be sent to";
+ mes "is called 'Alberta'.";
+ mes "The Merchant association is";
+ mes "located in the south-western";
+ mes "section of the city.";
+ mes "Please remember this.";
+ }
+ mes "You'll now be teleported.";
+ return;
+L_cleararg:
+ set NEW_MES_FLAG0,0;
+ set NEW_MES_FLAG1,0;
+ set NEW_MES_FLAG2,0;
+ set NEW_MES_FLAG3,0;
+ set NEW_MES_FLAG4,0;
+ set NEW_MES_FLAG5,0;
+ set NEW_MES_FLAG6,0;
+ set NEW_LVUP0,0;
+ set NEW_LVUP1,0;
+ set NEW_JOBLVUP,0;
+ set NEW_GETITEM,0;
+ set NOV_3_SWORDMAN,0;
+ set NOV_3_ARCHER,0;
+ set NOV_3_THIEF,0;
+ set NOV_3_MAGICIAN,0;
+ set NOV_3_ACOLYTE,0;
+ set NOV_3_MERCHANT,0;
+ return;
+}
+
+// Training Ground Mobs
+// new_1-3.gat
+new_1-3.gat,0,0,0,0 monster Fabre 1184,5,0,0,0
+new_1-3.gat,0,0,0,0 monster Poring 1002,10,0,0,0
+new_1-3.gat,0,0,0,0 monster ChonChon 1011,10,0,0,0
+new_1-3.gat,0,0,0,0 monster Lunatic 1063,10,0,0,0
+new_1-3.gat,0,0,0,0 monster Drops 1113,10,0,0,0
+
+// new_2-3.gat
+new_2-3.gat,0,0,0,0 monster Condor 1009,10,0,0,0
+new_2-3.gat,0,0,0,0 monster Willow 1010,10,0,0,0
+new_2-3.gat,0,0,0,0 monster Roda Frog 1012,10,0,0,0
+new_2-3.gat,0,0,0,0 monster Shell Picky 1050,10,0,0,0
+new_2-3.gat,0,0,0,0 monster Fabre 1184,5,0,0,0
+
+// new_3-3.gat
+new_3-3.gat,0,0,0,0 monster Condor 1009,10,0,0,0
+new_3-3.gat,0,0,0,0 monster Willow 1010,10,0,0,0
+new_3-3.gat,0,0,0,0 monster Roda Frog 1012,10,0,0,0
+new_3-3.gat,0,0,0,0 monster Shell Picky 1050,10,0,0,0
+new_3-3.gat,0,0,0,0 monster Fabre 1184,5,0,0,0
+
+// new_4-3.gat
+new_4-3.gat,0,0,0,0 monster Spore 1014,10,0,0,0
+new_4-3.gat,0,0,0,0 monster Thief Bug Larva 1051,10,0,0,0
+new_4-3.gat,0,0,0,0 monster Rocker 1052,10,0,0,0
+new_4-3.gat,0,0,0,0 monster Thief Bug Female 1053,10,0,0,0
+new_4-3.gat,0,0,0,0 monster Fabre 1184,5,0,0,0
+
+// new_5-3.gat
+new_5-3.gat,0,0,0,0 monster Spore 1014,10,0,0,0
+new_5-3.gat,0,0,0,0 monster Thief Bug Larva 1051,10,0,0,0
+new_5-3.gat,0,0,0,0 monster Rocker 1052,10,0,0,0
+new_5-3.gat,0,0,0,0 monster Thief Bug Female 1053,10,0,0,0
+new_5-3.gat,0,0,0,0 monster Fabre 1184,5,0,0,0
diff --git a/npc/jobs/novice/supernovice.txt b/npc/jobs/novice/supernovice.txt new file mode 100644 index 000000000..d28214673 --- /dev/null +++ b/npc/jobs/novice/supernovice.txt @@ -0,0 +1,279 @@ +//===== eAthena Script =======================================
+//= Super Novice Script
+//===== By: ==================================================
+//= Darkchild
+//===== Current Version: =====================================
+//= 1.8a
+//===== Compatible With: =====================================
+//= Any eAthena
+//===== Description: =========================================
+//= Super Novice Job Change Npc
+//= Super Novice Cart Rental Npc
+//= Some Other Useless Super Novice Npc
+//===== Additional Comments: =================================
+//= Dialogs From Some Other Scripts (Most Of It)
+//= 1.3-1.5 Added Baby class support (and to the Kafta SN Cart
+//= renter, too) [Lupus]
+//= 1.6 Added a fix which prevent High Novices passing
+//= this Job Quests again. [Lupus]
+//= 1.7 Fixed Baby Class Support. [Lupus]
+//= 1.8 Now a Baby can become a Super Baby [Lupus]
+//============================================================
+
+
+// -- Jobchanger --
+aldeba_in.gat,223,167,3 script Tozel 709,{
+ if(SUPNOV_Q == 1) goto L_Start2;
+ if(BaseJob == Job_SuperNovice) goto L_Twice;
+ if(BaseJob != 0 || Upper==1) goto L_Otherjob;
+ mes "[Tozel]";
+ mes "Hello, Novice!";
+ mes "Are you enjoying yourself as a novice, the preferred class of the common man?";
+ next;
+ mes "[Tozel]";
+ mes "Would you like to join the Novice Guild and add your common character";
+ mes "to the common pool of talent so that we can perform common services?";
+ next;
+ mes "[Tozel]";
+ mes "If you join us, I'll change your class from Novice to the highly skilled Super Novice!";
+ mes "How does that sound?";
+ next;
+ menu "I'm sold!",-,"Super Novice is Super Stupid",L_Stupid,"Well, to make an informed choice...",L_Well;
+ if(JobLevel < 10) goto L_LowSkill;
+ if(BaseLevel < 45) goto L_LowLevel;
+ if(SkillPoint != 0) goto L_StillSk;
+ mes "[Tozel]";
+ mes "Wonderful!";
+ mes "You're on the road to becoming an uncommonly common individual.";
+ next;
+ mes "[Tozel]";
+ mes "Common is a great word, isn't it?";
+ next;
+ mes "[Tozel]";
+ mes "Just because you've applied to become a member of the Novice Guild doesn't mean automatic admission.";
+ mes "There are requirements you must meet.";
+ next;
+ mes "[Tozel]";
+ mes "Being a guild of common men, it's only fitting that you bring me a common item as an entry requirement.";
+ mes "So, go and find thirty each of: ";
+ mes " ^FF0000Sticky Mucus^000000 and";
+ mes " ^FF0000Resin^000000.";
+ next;
+ mes "[Tozel]";
+ mes "Once you collect this common number of common items, head on back to this common guild of common men.";
+ set SUPNOV_Q,1;
+ close;
+
+L_Stupid:
+ mes "[Tozel]";
+ mes "Hm...That's an attitude shared by a lot of common criminals and other commonly marginalized types.";
+ mes "...They don't understand the fulfillment gained by a common pool of friends.";
+ next;
+ mes "[Tozel]";
+ mes "Of course, it's common to change one's mind as well.";
+ mes "If you do, please drop by again.";
+ close;
+
+L_Well:
+ mes "[Tozel]";
+ mes "Oh, you want to know a bit more about this guild, eh?";
+ mes "I'll be happy to explain!";
+ next;
+ mes "[Tozel]";
+ mes "Let me tell you about Kima, the guild founder.";
+ mes "Kima founded this guild because those of common ancestry and common our status had no place";
+ mes "to assemble and enjoy each other's company.";
+ next;
+ mes "- Tozel talks for ten minutes. - ";
+ mes "- His tone is so common that it bores you to tears. -";
+ next;
+ mes "[Tozel]";
+ mes "...Anyway, the Novice guild has propsered greatly since its founding.";
+ mes "We pride ourselves on our slogan 'Common Man, Common Goals, Common Dreams'!";
+ close;
+
+L_Start2:
+ if(countitem(938) < 30) goto L_ItemError;
+ if(countitem(907) < 30) goto L_ItemError;
+ delitem 938,30;
+ delitem 907,30;
+ mes "[Tozel]";
+ mes "Well, your performance seems to be uh...common, but that's good enough for us!";
+ mes "Welcome to the Novice Guild!";
+ next;
+ mes "[Tozel]";
+ mes "According to my promise, I'll make you a Super Novice.";
+ mes "Are you ready?!";
+ next;
+ menu "Huh?!",-,"Maybe?!",-;
+ mes "- Tozel's uncommon demeanor catches you off guard, -";
+ mes "- leaving you speechless! -";
+ next;
+ if (Upper==0) jobchange Job_SuperNovice;
+ if (Upper==2) jobchange Job_Super_Baby;
+ getitem 2339,1;
+ callfunc "F_ClearJobVar";
+ mes "[Tozel]";
+ mes "Hahahah! Were you surprised?!";
+ mes "Just because we're common people doesn't mean we can't be misfits sometimes!";
+ next;
+ mes "[Tozel]";
+ mes "So, now your new life as a Super Novice begins!";
+ next;
+ mes "[Tozel]";
+ mes "Now you're a part of Kima's legacy!";
+ mes "Please continue his good (but common) name.";
+ close;
+
+L_LowSkill:
+ mes "[Tozel]";
+ mes "Well...it seems your level is a little too common at the moment.";
+ mes "You need to have a class level of ^0000FFat least 9^000000 in order to join us.";
+ close;
+
+L_LowLevel:
+ mes "[Tozel]";
+ mes "Well...it seems your level is a little too common at the moment.";
+ mes "You need to have a primary level of ^0000FFat least 45^000000 in order to join us.";
+ close;
+
+L_StillSk:
+ mes "[Tozel]";
+ mes "Well...it seems you still have some skill points.";
+ mes "You need to have ^0000FFNO^000000 skill points left in order to join our guild.";
+ close;
+
+L_ItemError:
+ mes "[Tozel]";
+ mes "Did you forget what you were supposed to find?";
+ mes "I'll tell you again.";
+ next;
+ mes "[Tozel]";
+ mes "You need to find thirty each of";
+ mes "^FF0000 Sticky Muscus^000000 and";
+ mes "^FF0000 Resin^000000.";
+ close;
+
+L_Twice:
+ mes "[Tozel]";
+ mes "You're a member of the Novice Guild now.";
+ mes "There's no need to have exceptional talents here.";
+ mes "Your common vigilance is all we require.";
+ next;
+ mes "[Tozel]";
+ mes "Go, then, and live a common and unexceptional life, in order to bring respect to our guild.";
+ close;
+L_Otherjob:
+ mes "[Tozel]";
+ mes "Hey! You're not a man of common heritage!";
+ mes "I'm Tozel, the master of the Novice Guild.";
+ next;
+ mes "[Tozel]";
+ mes "This place is for people who who have common goals,";
+ mes "common beliefs, common lives.";
+ mes "For you, an uncommon person, this place is anathema.";
+ next;
+ mes "[Tozel]";
+ mes "Such people don't have a place in our common society. I'm sorry.";
+ close;
+}
+
+// -- Totaly Useless :) --
+aldeba_in.gat,216,169,5 script Serei 86,{
+ if(BaseJob == Job_SuperNovice) goto L_Supernovice;
+ if(BaseJob != 0) goto L_Otherjob;
+ mes "[Serei]";
+ mes "You're pretty common.";
+ mes "A common man should live a happy life.";
+ mes "You should consider joining the Novice Guild.";
+ next;
+ mes "[Serei]";
+ mes "GO NOVICE CLASS!";
+ mes "Hahahahahahahaha!";
+ close;
+
+L_Supernovice:
+ mes "[Serei]";
+ mes "Yaaaaaaaaaaaaaaaaaaaaaaaay!";
+ mes "You're a member of the Novice Guild! Sweet!";
+ next;
+ mes "[Serei]";
+ mes "That's great!";
+ mes "Are you trying to extend the Guild's legacy of uneventfulness?";
+ next;
+ mes "[Serei]";
+ mes "I'm Guildmaster Tozel's number one man!";
+ close;
+
+L_Otherjob:
+ mes "[Serei]";
+ mes "Oh no!";
+ mes "You're one of those people who rejected the common way of life!";
+ mes "You might be dangerous to those who walk the common path!";
+ mes "Ahhhh!";
+ close;
+}
+
+
+// -- Car Rental --
+aldebaran.gat,54,238,5 script Kafra 117,{
+ if(BaseJob != Job_SuperNovice) goto L_Otherjob;
+ if(checkcart(0) == 1) goto L_GotCart;
+ mes "[Kafra]";
+ mes "Oh, a Super Novice!";
+ mes "You're annoyed that the other Kafras won't lend you a cart?";
+ mes "No problem!";
+ next;
+ mes "[Kafra]";
+ mes "I can lend you a cart, but try to keep a low profile,";
+ mes "because we are under orders from Kafra management not to lend carts to any Novice.";
+ next;
+ mes "[Kafra]";
+ mes "There will be a fee of ^FF00001900zeny^000000 to use the cart.";
+ next;
+ mes "[Kafra]";
+ mes "You need to have the Push Cart skill in order to use a cart.";
+ mes "If you don't have this skill,";
+ mes "you won't be able to use the cart and You'll lose your money.";
+ mes "Do you want me to lend you a cart?";
+ next;
+ menu "Lend me a cart",-,"Not Necessary",L_End;
+ mes "[Kafra]";
+ mes "Since I'm secretly lending you a cart,";
+ mes "I can't ensure you have the Push Cart skill.";
+ mes "If you don't, you won't be able to use the cart and You'll lose your money.";
+ mes "Are you sure you want the cart?";
+ next;
+ menu "I heard you the first time!",-,"Uhhh...wait a minute...",L_End;
+ if(getskilllv(39)==0) goto L_End;
+ if(Zeny < 1900) goto L_Error;
+ set Zeny,Zeny-1900;
+ setcart;
+ mes "[Kafra]";
+ mes "Thanks for using the Kafra service, even if it is under the table.";
+ mes "Hehehehehe...";
+ close;
+
+L_Error:
+ mes "[Kafra]";
+ mes "Hmmm. It seems you're short of funds.";
+ close;
+
+L_End:
+ mes "[Kafra]";
+ mes "Thank you for your patronage.";
+ mes "Please come again.";
+ close;
+
+L_GotCart:
+ mes "[Kafra]";
+ mes "HI There, Dear Super Novice.";
+ mes "I'm sorry but I can't help you, you already have an cart!";
+ close;
+
+L_Otherjob:
+ mes "[Kafra]";
+ mes "I'm sorry, but I'm not taking customers right now.";
+ mes "Please try asking the other Kafra staff for assistance.";
+ close;
+}
|