diff options
author | (no author) <(no author)@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2004-11-04 23:25:09 +0000 |
---|---|---|
committer | (no author) <(no author)@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2004-11-04 23:25:09 +0000 |
commit | 195dffc20af1fb32c7e4119988911b72955aeabc (patch) | |
tree | b60d2a5e72d64dc5fc21eb9ce0962631e774a4c9 /npc/jobs | |
download | hercules-195dffc20af1fb32c7e4119988911b72955aeabc.tar.gz hercules-195dffc20af1fb32c7e4119988911b72955aeabc.tar.bz2 hercules-195dffc20af1fb32c7e4119988911b72955aeabc.tar.xz hercules-195dffc20af1fb32c7e4119988911b72955aeabc.zip |
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/athena@2 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'npc/jobs')
36 files changed, 22387 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..d8fa85d92 --- /dev/null +++ b/npc/jobs/1-1/acolyte.txt @@ -0,0 +1,349 @@ +//===== eAthena Script =======================================
+//= Acolyte Job Quest
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 0.5.2 +, dev mod 1009 +
+//===== Description: =========================================
+//= <Description>
+//===== Additional Comments: =================================
+//= v1.0 Fully working.
+//= v1.1 Added function calls for Priest Quest.
+//= v1.2 Fixed Marthilda, Yosuke bugs. [Lupus]
+//============================================================
+
+
+// -- Father Mareusis --
+prt_church.gat,184,41,4 script "Father Mareusis" 60,
+{
+ mes "[Father Mareusis]";
+ if(Class==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]";
+ if(Class == Job_Acolyte) goto JobAco;
+ if(Class != Job_Novice) goto NotNov;
+ if(JobLevel < 10) goto JobLess10;
+ 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 1 map 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;
+
+ 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;
+
+ M_1:
+ mes "[Father Mareusis]";
+ if(Class == Job_Acolyte) goto M1b;
+ if(Class != 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;
+ set job_acolyte_q,0;
+ set job_acolyte_q2,0;
+ JobChange Job_Acolyte;
+ 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(Class==Job_Acolyte || Class==Job_Priest) callfunc "F_FatherRub";
+ if(Class==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(Class == Job_Acolyte || Class==Job_Priest) callfunc "F_MotherMart";
+ if(Class == 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(Class == Job_Acolyte || Class==Job_Priest) callfunc "F_FatherYos";
+ if(Class == 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..172114572 --- /dev/null +++ b/npc/jobs/1-1/archer.txt @@ -0,0 +1,183 @@ +//===== eAthena Script =======================================
+//= Archer Job Quest
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//= <Description>
+//===== Additional Comments: =================================
+//= Fully working
+//============================================================
+
+
+// -- Archer Guildsman --
+payon_in02.gat,64,71,4 script Archer Guildsman 59,
+{
+ mes "[Archer Guildsman]";
+ if(Class==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]";
+ if(Class == Job_Archer) goto sL_Archer;
+ if(Class != 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;
+ 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;
+
+ 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;
+
+
+ M_1:
+ mes "[Archer Guildsman]";
+ if(Class == Job_Archer) goto sM_1a;
+ if(Class != 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;
+ JobChange Job_Archer;
+ set job_archer_q, 0;
+ 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..7e9b5b3d2 --- /dev/null +++ b/npc/jobs/1-1/mage.txt @@ -0,0 +1,498 @@ +//===== eAthena Script =======================================
+//= Mage Job Quest
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//= <Description>
+//===== Additional Comments: =================================
+//= Fully working
+//= 1.1 Fixed input ingridients bug [Lupus]
+//============================================================
+
+
+// -- Expert Mage --
+geffen_in.gat,164,124,4 script Expert Mage 123,
+{
+ if(Class==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]";
+
+ if(Class == 2) goto L_JobMage;
+ if(Class != 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]";
+ 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;
+
+ 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;
+
+ 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;
+ JobChange 2;// Job: Job_Mage
+ set Zeny,Zeny+500;
+ set job_magician_q,0;
+ 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,
+
+ 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..0e596c367 --- /dev/null +++ b/npc/jobs/1-1/merchant.txt @@ -0,0 +1,973 @@ +//===== eAthena Script =======================================
+//= Merchant Job Quest
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//= <Description>
+//===== Additional Comments: =================================
+//= Fully working
+//============================================================
+
+
+// == Guild NPCs ==
+// -- Mahnsoo --
+alberta_in.gat,53,43,6 script Chief Mahnsoo 86,
+{
+ mes "[Chief Mahnsoo]";
+ if(Class==Job_Novice && job_merchant_q3 == 4) goto L_MakeMerc;
+ if(Class==Job_Novice && job_merchant_q3 == 3) goto L_GiveRecpt;
+ if(Class==Job_Novice && job_merchant_q3 == 5) goto L_Failed;
+ if(Class==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:
+ if(Class==5) goto L_JobMer;
+ if(Class !=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?";
+ 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 "[Cheif Mahnsoo]";
+ mes "Oh, but before we get started I must say one thing.....";
+ next;
+ mes "[Cheif 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 "[Cheif 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;
+
+ 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;
+
+ 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;
+ JobChange 5;// Job: Job_Merchant
+ set job_merchant_q,0;
+ set job_merchant_q2,0;
+ set job_merchant_q3,0;
+
+ 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(Class==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(Class!=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(Class==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 900 zeny however.";
+ next;
+ menu "Warp.",M_Warp, "Cancel.",M_End;
+
+ M_Warp:
+ if(Zeny < 900) goto sL_NdZeny;
+ set Zeny, Zeny - 900;
+ set RESRVPTS, RESRVPTS + 54;
+ 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(Class==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(Class==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/swordsman.txt b/npc/jobs/1-1/swordsman.txt new file mode 100644 index 000000000..35b68285c --- /dev/null +++ b/npc/jobs/1-1/swordsman.txt @@ -0,0 +1,795 @@ +//===== eAthena Script =======================================
+//= Swordsman Job Quest
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== 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.
+//============================================================
+
+
+// == 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(Class==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,
+{
+ mes "[Master Swordsman]";
+ if(Class==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]";
+ if(Class == Job_Swordman) goto O_1b;
+ if(Class != 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;
+
+ 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;
+
+ 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;
+
+ 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(Class == Job_Novice) goto O_2a;
+ if(Class == 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;
+ JobChange Job_Swordman;
+ set job_sword_q,0;
+ 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(Class == 1) goto L_Sword;
+ if(Class == 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 becarefull!";
+ 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;
+ warp "sword_1-1.gat",10,245;
+ deltimer "Test Hall Staff::OnTimer7min";
+ deltimer "Test Hall Staff::OnTimer4min";
+ deltimer "Test Hall Staff::OnTimer2min";
+ deltimer "Test Hall Staff::OnTimer1min";
+ deltimer "Test Hall Staff::OnTimer30sec";
+ deltimer "Test Hall Staff::OnTimer0min";
+ addtimer 2000, "Test Hall Staff::OnTimer7min";
+ addtimer 182000, "Test Hall Staff::OnTimer4min";
+ addtimer 302000, "Test Hall Staff::OnTimer2min";
+ addtimer 362000, "Test Hall Staff::OnTimer1min";
+ addtimer 392000, "Test Hall Staff::OnTimer30sec";
+ addtimer 422000, "Test Hall Staff::OnTimer0min";
+ 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;
+
+L_Timer:
+ OnTimer7min:
+ areaannounce "sword_1-1.gat", 8, 162, 191, 251, "[Test Hall Staff]: Your 7 minutes starts now!",0;
+ end;
+ OnTimer4min:
+ areaannounce "sword_1-1.gat", 8, 162, 191, 251, "[Test Hall Staff]: You have 4 minutes left!",0;
+ end;
+ OnTimer2min:
+ areaannounce "sword_1-1.gat", 8, 162, 191, 251, "[Test Hall Staff]: You have 2 minutes left!",0;
+ end;
+ OnTimer1min:
+ areaannounce "sword_1-1.gat", 8, 162, 191, 251, "[Test Hall Staff]: You have 1minute left",0;
+ end;
+ OnTimer30sec:
+ areaannounce "sword_1-1.gat", 8, 162, 191, 251, "[Test Hall Staff]: You have 30 seconds left, hurry!",0;
+ end;
+ OnTimer0min:
+ areaannounce "sword_1-1.gat", 8, 162, 191, 251, "[Test Hall Staff]: Your times up! You failed the test.",0;
+ addtimer 4000, "Test Hall Staff::OnTimerWarp";
+ end;
+ OnTimerWarp:
+ warp "izlude_in.gat",39,170;
+}
+
+
+// -- 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;
+ 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
diff --git a/npc/jobs/1-1/thief.txt b/npc/jobs/1-1/thief.txt new file mode 100644 index 000000000..6b0f931fe --- /dev/null +++ b/npc/jobs/1-1/thief.txt @@ -0,0 +1,443 @@ +//===== eAthena Script =======================================
+//= Thief Job Quest
+//===== By: ==================================================
+//= eAthena dev team
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//= <Description>
+//===== Additional Comments: =================================
+//= Fully working
+//============================================================
+
+
+// == 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,
+{
+ if(Class== Job_Thief) goto L_JobThief;
+ if(Class == Job_Novice) goto L_Start;
+
+L_JobOther:
+ mes "[Thief Guide]";
+ if(Class==1 || Class==7 || Class==14) goto L_Swordman;
+ if(Class==2 || Class==9 || Class==16) goto L_Mage;
+ if(Class==3 || Class==11 || Class==19 || Class==20) goto L_Archer;
+ if(Class==4 || Class==8 || Class==15) goto L_Acolyte;
+ if(Class==5 || Class==10 || Class==18) 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;
+
+L_Start:
+ if(job_thief_q==2) goto L_1;
+ if(job_thief_q==1) goto L_Back;
+
+ mes "[Thief Guide]";
+ if(Sex == 0)mes "Heh... You look like a well to do boy... what brought you down to this rat hole?";
+ if(Sex == 1)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 atomosphere.....",M_0,"Me? I'm just looking around...",M_End;
+
+ 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_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,
+{
+ if(Class == 0) goto L_Novice;
+ if(Class == 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 theif, 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_,
+ JobChange 6;// Job: Job_Thief
+ set job_thief_q,0;
+ 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 Theif.";
+ 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'Theif 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(Class == 6) goto L_Thief;
+ if(Class == 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;
+
+}
diff --git a/npc/jobs/2-1-1/AssassinCross.txt b/npc/jobs/2-1-1/AssassinCross.txt new file mode 100644 index 000000000..da841b601 --- /dev/null +++ b/npc/jobs/2-1-1/AssassinCross.txt @@ -0,0 +1,70 @@ +//Assasin Cross Made by Evera/Lorri
+valkyrie.gat,44,58,6 script Assassin Cross 725,{
+ if ((readparam(11)>=99) && (readparam(19)==12) && (readparam(55) >= 50)) goto Lnovice;
+ if ((readparam(19)==4001) && (readparam(55) >= 10)) goto Lhtheif;
+ if ((readparam(19)==4001) && (readparam(55) < 10)) goto LCem;
+ if ((readparam(19)==4007) && (readparam(55) >= 40)) goto Lhsin;
+ if ((readparam(19)==4007) && (readparam(55) < 40)) goto LCem;
+ if ((readparam(19)) && (readparam(19))) goto LCongrats;
+ if (readparam(19)==4013) goto Lcrazy;
+ if (readparam(12) != 0) goto Lskpt;
+ mes "[Assasin Cross]";
+ mes "Who are you?";
+ mes "Meet all the req. first.";
+ close;
+Lnovice:
+ mes "[Assasin Cross]";
+ mes "Now, here's the deal. I change you into a High Novice.";
+ mes "You come back to become a High Theif, then become an Assassin Cross.";
+ mes "You wanna do it?";
+ menu "Yes",Lnovice2,"No",Lcancel;
+Lnovice2:
+ mes "We shall start the ceremony....";
+ next;
+ jobchange 24;// Job: Job_Novice_High
+ resetlvl(1);
+ close;
+Lhtheif:
+ mes "[Assasin Cross]";
+ mes "Wanna become a High Theif?";
+ menu "Yes",Lhtheif2,"No",Lcancel;
+Lhtheif2:
+ mes "[Assasin Cross]";
+ mes "We shall start the ceremony....";
+ next;
+ jobchange 30;// Job: Job_Thief_High
+ close;
+Lhsin:
+ mes "[Assasin Cross]";
+ mes "Ready to become a Assassin Cross?";
+ menu "Yes",Lhsin2,"No",Lcancel;
+Lhsin2:
+ mes "[Assasin Cross]";
+ mes "We shall start the ceremony....";
+ jobchange 36;// Job: Job_Assassin_Cross
+ close;
+Lcrazy:
+ mes "[Assassin Cross]";
+ mes "We shall start the ceremony....";
+ next;
+ mes "[Assassin Cross]";
+ mes "You've already gone to the next level";
+ close;
+Lskpt:
+ mes "[Assasin Cross]";
+ mes "Use your skillpoints first";
+ close;
+LCem:
+ mes "We shall start the ceremony....";
+ next;
+ mes "[Assassin Cross]";
+ mes "You're not ready to go to the next level";
+ close;
+LCongrats:
+ mes "Congratulations on your victory.";
+ mes "May you and others have honor and glory!";
+ close;
+Lcancel:
+ mes "Bye";
+ close;
+}
diff --git a/npc/jobs/2-1-1/HighPriest.txt b/npc/jobs/2-1-1/HighPriest.txt new file mode 100644 index 000000000..c7f08c2d6 --- /dev/null +++ b/npc/jobs/2-1-1/HighPriest.txt @@ -0,0 +1,61 @@ +//High Priest Made by Evera/Lorri
+valkyrie.gat,44,42,6 script High Priest 60,{
+ if ((readparam(11) >= 99) && (readparam(19) == 8) && (readparam(55) >= 50)) goto Lnovice;
+ if ((readparam(19) == 4001) && (readparam(55) >= 10)) goto Lh1;
+ if ((readparam(19) == 4001) && (readparam(55) < 10)) goto LCem;
+ if ((readparam(19) == 4005) && (readparam(55) >= 40)) goto Lh2;
+ if ((readparam(19) == 4005) && (readparam(55) < 40)) goto LCem;
+ if (readparam(19) == 4009) goto Lcrazy;
+ if (readparam(12) != 0) goto Lskpt;
+ mes "[High Priest]";
+ mes "Hello";
+ mes "God bless you.";
+ close;
+Lnovice:
+ mes "[High Priest]";
+ mes "Hi! I'm a little different from you, have you noticed?";
+ mes "If you devote yourself entirely you can be just like me.";
+ mes "There is a catch though, you have to go back through novice and acolyte.";
+ mes "You wanna do it?";
+ menu "Yes",Lnovice2,"No",Lcancel;
+Lnovice2:
+ mes "We shall start the ceremony....";
+ next;
+ jobchange 24;// Job: Job_Novice_High
+ resetlvl(1);
+ close;
+Lh1:
+ mes "[High Priest]";
+ mes "Ready to become a high acolyte?";
+ menu "Yes",Lh12,"No",Lcancel;
+Lh12:
+ mes "[High Priest]";
+ mes "God please bestow this enlightened soul with a drip of your mighty power.";
+ next;
+ jobchange 28;// Job: Job_Acolyte_High
+ close;
+Lh2:
+ mes "[High Priest]";
+ mes "Your holy power grows stronger. Will you become a high priest?";
+ menu "Yes",Lh22,"No",Lcancel;
+Lh22:
+ mes "[High Priest]";
+ mes "God please bestow this enlightened soul with a drip of your mighty power.";
+ jobchange 32;// Job: Job_High_Priest
+ close;
+Lcrazy:
+ mes "[High Priest]";
+ mes "Nice day isn't it?";
+ close;
+Lskpt:
+ mes "[High Priest]";
+ mes "Use your skillpoints first";
+ close;
+LCem:
+ mes "[High Priest]";
+ mes "You're not ready to go to the next level";
+ close;
+Lcancel:
+ mes "Bye";
+ close;
+}
diff --git a/npc/jobs/2-1-1/HighWizard.txt b/npc/jobs/2-1-1/HighWizard.txt new file mode 100644 index 000000000..1e747000c --- /dev/null +++ b/npc/jobs/2-1-1/HighWizard.txt @@ -0,0 +1,60 @@ +//High Wizard Made by Evera/Lorri
+valkyrie.gat,44,47,6 script High Wizard 735,{
+ if ((readparam(11) >= 99) && (readparam(19) == 9) && (readparam(55) >= 50)) goto Lnovice;
+ if ((readparam(19) == 4001) && (readparam(55) >= 10)) goto Lh1;
+ if ((readparam(19) == 4001) && (readparam(55) < 10)) goto LCem;
+ if ((readparam(19) == 4003) && (readparam(55) >= 40)) goto Lh2;
+ if ((readparam(19) == 4003) && (readparam(55) < 40)) goto LCem;
+ if (readparam(19) == 4010) goto Lcrazy;
+ if (readparam(12) != 0) goto Lskpt;
+ mes "[High Wizard]";
+ mes "Hello";
+ mes "The magic surrounds you.";
+ close;
+Lnovice:
+ mes "[High Wizard]";
+ mes "Hey you! It appears that your intelligence is very high. Would you like to become a high wizard like me?";
+ mes "There is a catch though, you have to go back through novice and mage.";
+ mes "You wanna do it?";
+ menu "Yes",Lnovice2,"No",Lcancel;
+Lnovice2:
+ mes "We shall start the ceremony....";
+ next;
+ jobchange 24;// Job: Job_Novice_High
+ resetlvl(1);
+ close;
+Lh1:
+ mes "[High Wizard]";
+ mes "Ready to become a high mage?";
+ menu "Yes",Lh12,"No",Lcancel;
+Lh12:
+ mes "[High Wizard]";
+ mes "The magic enchants and suppresses you.";
+ next;
+ jobchange 26;// Job: Job_Mage_High
+ close;
+Lh2:
+ mes "[High Wizard]";
+ mes "The magic grows strong in you. You appear ready. Will you become a high wizard?";
+ menu "Yes",Lh22,"No",Lcancel;
+Lh22:
+ mes "[High Wizard]";
+ mes "The magic enchants and suppresses you.";
+ jobchange 33;// Job: Job_High_Wizard
+ close;
+Lcrazy:
+ mes "[High Wizard]";
+ mes "I cannot bestow you with more of my magic.";
+ close;
+Lskpt:
+ mes "[High Wizard]";
+ mes "Use your skillpoints first";
+ close;
+LCem:
+ mes "[High Wizard]";
+ mes "You're not ready to go to the next level";
+ close;
+Lcancel:
+ mes "Bye";
+ close;
+}
diff --git a/npc/jobs/2-1-1/LordKnight.txt b/npc/jobs/2-1-1/LordKnight.txt new file mode 100644 index 000000000..01791b798 --- /dev/null +++ b/npc/jobs/2-1-1/LordKnight.txt @@ -0,0 +1,62 @@ +//Lord Knight Made by Evera/Lorri
+//Fixed by PoW
+valkyrie.gat,44,39,6 script Lord Knight 56,{
+ if ((readparam(11) >= 99) && (readparam(19) == 7) && (readparam(55) >= 50)) goto Lnovice;
+ if ((readparam(11) >= 99) && (readparam(19) == 13) && (readparam(55) >= 50)) goto Lnovice;
+ if ((readparam(19) == 4001) && (readparam(55) >= 10)) goto Lhsword;
+ if ((readparam(19) == 4001) && (readparam(55) < 10)) goto LCem;
+ if ((readparam(19) == 4002) && (readparam(55) >= 40)) goto Lhkni;
+ if ((readparam(19) == 4002) && (readparam(55) < 40)) goto LCem;
+ if (readparam(19) == 4008) goto Lcrazy;
+ if (readparam(12) != 0) goto Lskpt;
+ mes "[Lord Knight]";
+ mes "Hello";
+ mes "It's a nice day, isnt it?";
+ close;
+Lnovice:
+ mes "[Lord Knight]";
+ mes "The honor a knight carries is high, but there is something beyond that. The lord knight.";
+ mes "You come back to become a High Swordsman, then become a Lord Knight.";
+ mes "You wanna do it?";
+ menu "Yes",Lnovice2,"No",Lcancel;
+Lnovice2:
+ mes "We shall start the ceremony....";
+ next;
+ jobchange 24;// Job: Job_Novice_High
+ resetlvl(1);
+ close;
+Lhsword:
+ mes "[Lord Knight]";
+ mes "Ready to become a high swordsman??";
+ menu "Yes",Lhsword2,"No",Lcancel;
+Lhsword2:
+ mes "[Lord Knight]";
+ mes "By the vow of my sword, here is the one bestowed upon with the truthful heart";
+ next;
+ jobchange 25;// Job: Job_Swordman_High
+ close;
+Lhkni:
+ mes "[Lord Knight]";
+ mes "The final step in a knight's quest for honor. Will you become a lord knight?";
+ menu "Yes",Lhkni2,"No",Lcancel;
+Lhkni2:
+ mes "[Lord Knight]";
+ mes "By the vow of my sword, here is the one bestowed upon with the truthful heart";
+ jobchange 31;// Job: Job_Lord_Knight
+ close;
+Lcrazy:
+ mes "[Lord Knight]";
+ mes "Nice day isn't it?";
+ close;
+Lskpt:
+ mes "[Lord Knight]";
+ mes "Use your skillpoints first";
+ close;
+LCem:
+ mes "[Lord Knight]";
+ mes "You're not ready to go to the next level";
+ close;
+Lcancel:
+ mes "Bye";
+ close;
+}
diff --git a/npc/jobs/2-1-1/Sniper.txt b/npc/jobs/2-1-1/Sniper.txt new file mode 100644 index 000000000..91524c9a4 --- /dev/null +++ b/npc/jobs/2-1-1/Sniper.txt @@ -0,0 +1,64 @@ +//Sniper Made by Evera/Lorri
+valkyrie.gat,44,55,6 script Sniper 727,{
+ if ((readparam(11) >= 99) && (Class == 11) && (JobLevel >= 50)) goto Lnovice;
+ if ((Class == 4001) && (readparam(55) >= 10)) goto Lharcher;
+ if ((Class == 4001) && (readparam(55) < 10)) goto LCem;
+ if ((Class == 4004) && (readparam(55) >= 40)) goto Lhsni;
+ if ((Class == 4004) && (readparam(55) < 40)) goto LCem;
+ if (Class == 4012) goto Lcrazy;
+ mes "[Sniper]";
+ mes "Who are you?";
+ mes "Only the archer class can become a Sniper...";
+ mes "Meet all the requirements first.";
+ close;
+Lnovice:
+ mes "[Sniper]";
+ mes "Now, here's the deal. I change you into a High Novice.";
+ mes "You come back to become a Sniper, then become a sniper.";
+ mes "You wanna do it?";
+ menu "Yes",Lnovice2,"No",Lcancel;
+Lnovice2:
+ if (readparam(12) != 0) goto Lskpt;
+ mes "By the tip of my arrow.. The distance it moves...";
+ next;
+ jobchange 24;// Job: Job_Novice_High
+ resetlvl(1);
+ close;
+Lharcher:
+ mes "[Sniper]";
+ mes "Wanna become a High Arhcer?";
+ menu "Yes",Lhtheif2,"No",Lcancel;
+Lhtheif2:
+ if (readparam(12) != 0) goto Lskpt;
+ mes "[Sniper]";
+ mes "By the tip of my arrow.. The distance it moves...";
+ next;
+ jobchange 27;// Job: Job_Archer_High
+ close;
+Lhsni:
+ mes "[Sniper]";
+ mes "Ready to become a sniper, like me??";
+ menu "Yes",Lhsni2,"No",Lcancel;
+Lhsni2:
+ if (readparam(12) != 0) goto Lskpt;
+ mes "[Sniper]";
+ mes "By the tip of my arrow.. The distance it moves...";
+ jobchange 35;// Job: Job_Sniper
+ close;
+Lcrazy:
+ mes "[Sniper]";
+ mes "You're already a Sniper!";
+ mes "How are you doing?";
+ close;
+Lskpt:
+ mes "[Sniper]";
+ mes "Please finish up your skillpoints first";
+ close;
+LCem:
+ mes "[Sniper]";
+ mes "Please train your arrows to move faster.";
+ close;
+Lcancel:
+ mes "Bye";
+ close;
+}
diff --git a/npc/jobs/2-1-1/WhiteSmith.txt b/npc/jobs/2-1-1/WhiteSmith.txt new file mode 100644 index 000000000..d652ac93b --- /dev/null +++ b/npc/jobs/2-1-1/WhiteSmith.txt @@ -0,0 +1,60 @@ +//Whitesmith Made by Evera/Lorri
+valkyrie.gat,44,50,6 script Whitesmith 731,{
+ if ((readparam(11) >= 99) && (readparam(19) == 10) && (readparam(55) >= 50)) goto Lnovice;
+ if ((readparam(19) == 4001) && (readparam(55) >= 10)) goto Lh1;
+ if ((readparam(19) == 4001) && (readparam(55) < 10)) goto LCem;
+ if ((readparam(19) == 4006) && (readparam(55) >= 40)) goto Lh2;
+ if ((readparam(19) == 4006) && (readparam(55) < 40)) goto LCem;
+ if (readparam(19) == 4010) goto Lcrazy;
+ if (readparam(12) != 0) goto Lskpt;
+ mes "[Whitesmith]";
+ mes "Hello";
+ mes "I am not currently available for forging, please ask another forger.";
+ close;
+Lnovice:
+ mes "[Whitesmith]";
+ mes "Hm. You weild your hammer pretty good. You wanna become a whitesmith?";
+ mes "There is a catch though, you have to go back through novice and merchant.";
+ mes "You wanna do it?";
+ menu "Yes",Lnovice2,"No",Lcancel;
+Lnovice2:
+ mes "We shall start the ceremony....";
+ next;
+ jobchange 24;// Job: Job_Novice_High
+ resetlvl(1);
+ close;
+Lh1:
+ mes "[Whitesmith]";
+ mes "Ready to become a high merchant?";
+ menu "Yes",Lh12,"No",Lcancel;
+Lh12:
+ mes "[Whitesmith]";
+ mes "You're on your way to making upgraded items.";
+ next;
+ jobchange 29;// Job: Job_Merchant_High
+ close;
+Lh2:
+ mes "[Whitesmith]";
+ mes "Hey, you've grown a lot. Will you become a whitesmith?";
+ menu "Yes",Lh22,"No",Lcancel;
+Lh22:
+ mes "[Whitesmith]";
+ mes "The magic enchants and suppresses you.";
+ jobchange 34;// Job: Job_Whitesmith
+ close;
+Lcrazy:
+ mes "[Whitesmith]";
+ mes "Hm. You look like me.";
+ close;
+Lskpt:
+ mes "[Whitesmith]";
+ mes "Use your skillpoints first";
+ close;
+LCem:
+ mes "[Whitesmith]";
+ mes "You're not ready to go to the next level";
+ close;
+Lcancel:
+ mes "Bye";
+ close;
+}
diff --git a/npc/jobs/2-1/assassin.txt b/npc/jobs/2-1/assassin.txt new file mode 100644 index 000000000..e5665243c --- /dev/null +++ b/npc/jobs/2-1/assassin.txt @@ -0,0 +1,1918 @@ +//===== eAthena Script =======================================
+//= Assassin Job Quest
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.1
+//===== 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]
+//============================================================
+
+
+
+//============================================================================//
+// Job Changer
+//****************************************************************************//
+
+in_moc_16.gat,19,33,4 script Guildsman 55,{
+ if(Class==Job_Assassin) goto L_JobSin;
+ mes "[Angry looking man]";
+ if(Class==Job_Thief) goto L_Thief;
+ if(callfunc("Is_Sword_Class")) goto L_JobSwo;
+ if(callfunc("Is_Magic_Class")) goto L_JobMag;
+ if(callfunc("Is_Bow_Class")) goto L_JobArch;
+ if(callfunc("Is_Holy_Class")) goto L_JobAco;
+ if(callfunc("Is_Merc_Class")) goto L_JobMerc;
+ if(callfunc("Is_Thief_Class")) 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;
+
+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 'Khai'^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 (skpoint > 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;
+ jobchange 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 Rohda 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 'Khai', 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";
+ announce ". . . 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 "Dante#End";
+ disablenpc "Gail#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;}
+
diff --git a/npc/jobs/2-1/blacksmith.txt b/npc/jobs/2-1/blacksmith.txt new file mode 100644 index 000000000..bf718fb69 --- /dev/null +++ b/npc/jobs/2-1/blacksmith.txt @@ -0,0 +1,1436 @@ +//===== 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.0
+//===== Compatible With: =====================================
+//= eAthena 0.5.2 +
+//===== 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]
+==============================================================
+
+
+
+//<==================================================== Blacksmith Altiregen (Job changer)==================================================>\\
+geffen_in.gat,110,169,4 script Guildsman 731,{
+
+ if (class == 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 a art form!.";
+ next;
+ mes "[Blacksmith Altiregen]";
+ mes "Those weapons, heh, can be sold for quite a profit as well.";
+ next;
+ mes "[Blacksmith Altiregen]";
+ if (class == 0) goto L_Nov;
+ if (callfunc("Is_Sword_Class")) goto L_Sword;
+ if (callfunc("Is_Holy_Class")) goto L_Aco;
+ if (callfunc("Is_Thief_Class")) goto L_Theif;
+ if (callfunc("Is_Magic_Class")) goto L_Wiz;
+ if (callfunc("Is_Bow_Class")) goto L_Arc;
+ if (class == 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_Theif:
+ 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;
+
+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 Alberta^000000, says he's 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 Alberta^000000, says he's 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 Alberta. 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 in Morroc, go there 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 know its far away, but it's not in my power. Besides, you know the region well, right?";
+ 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..... Get to Morroc and 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 to Morroc?";
+ mes "Sorry, but you gotta pass the test there.";
+ 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 "Lo, 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;
+ jobchange 10;
+ 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 == 40) 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 ===================================================>\\
+alberta_in.gat,174,22,4 script Geshupenschte 63,{
+
+ if(Class==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) < 1 || 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,1;
+ 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;
+ next;
+
+ 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(1210) < 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.";
+
+ 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 ===================================================>\\
+morocc.gat,95,133,4 script BS Guildsman 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;
+}
diff --git a/npc/jobs/2-1/hunter.txt b/npc/jobs/2-1/hunter.txt new file mode 100644 index 000000000..cd284c1de --- /dev/null +++ b/npc/jobs/2-1/hunter.txt @@ -0,0 +1,1250 @@ +//===== 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: =================================
+//= v1.0 Fully working.
+//= v1.1 Changed global variable names to unique ones.
+//= v1.2 - 1.3 Updates for eAthena +Knight2,Crusader2 fix
+//= v1.4 Rollback from the wrong Kashy's fix
+//= v1.5 Fixed items quest fork bug [Lupus]
+//= v1.6 Fixed items quest bug: added extra condition [Lupus]
+//= v1.7 Fixed skillpoints check bug [Lupus]
+//============================================================
+
+
+
+// Please add this warp to your warp/s script/s if it is not already there, or you can enable it here
+//in_hunter.gat,100,13,0 warp hnt_to_payfild10 1,2,pay_fild10,145,250
+
+
+//<================================ Guildsman: Warps you to guild =======================================>\\
+pay_fild10.gat,148,251,4 script Hunter Guildsman 98,{
+ warp "in_hunter.gat",100,18;
+ end;
+}
+
+
+//<====================================== Job Changer ========================================>\\
+in_hunter.gat,99,99,4 script Hunter Sharon 727,
+{
+ if(Class==Job_Archer) goto L_Start;
+ if(Class==Job_Hunter) goto L_Hunt;
+ if(callfunc("Is_Bow_Class")) goto L_Other;
+ if(callfunc("Is_Sword_Class")) goto L_Swo;
+ if(callfunc("Is_Magic_Class")) goto L_Mage;
+ if(callfunc("Is_Thief_Class")) goto L_Thf;
+ if(callfunc("Is_Holy_Class")) goto L_Aco;
+ if(callfunc("Is_Merc_Class")) 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 her? Did you come to do a little song and dance... ke.. keke....kekekeHahahahhaha!!!";
+ emotion 18;
+ close;
+
+
+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 over there to my left. 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";
+ jobchange 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 == 40) 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 ===============================>\\
+in_hunter.gat,55,99,7 script Demon Hunter 732,
+{
+ if(Class == Job_Archer) goto L_Arc;
+ if(Class == 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 Dokaebi 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 "pay_fild10.gat", 133, 235;
+ 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(Class == Job_Archer) goto L_Archer;
+ if(Class == 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) callsub sF_GetArrows;
+ mes "[Guild Master]";
+ mes "Good luck, I'll send you to the test room now.";
+ next;
+ set HNTR_Q2, 1;
+ 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;
+ 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;
+ set HNTR_Q2, 2;
+ 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";
+ 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..60a86da6a --- /dev/null +++ b/npc/jobs/2-1/knight.txt @@ -0,0 +1,1854 @@ +//===== eAthena Script =======================================
+//= Knight Job Quest
+//===== By: ==================================================
+//= PGRO TEAM (Aegis).
+//= Converted by kobra_k88
+//= Further bugfixed and tested by Lupus
+//===== Current Version: =====================================
+//= 1.3
+//===== 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: =================================
+//=v1.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.
+//= v1.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.
+//= v1.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.
+//= v1.3 Rollback from the wrong Kashy's fix
+//============================================================
+
+
+
+//<------------------------------------------------------------------------------------ Chivalry Captain Herman------------------------------------------------------------------------------------------>\\
+prt_in.gat,88,101,3 script Chivalry Captain Herman 56,
+{
+ if (Class == 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]";
+ if(Class != 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;
+ 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;
+
+ 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(Class == Job_Knight) goto sL_JobKni;
+ if(Class == 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;
+
+ 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;
+ JobChange Job_Knight;
+ if(JBLVL == 40) 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 (Class == Job_Knight) goto L_Knight;
+ if (Class == Job_Novice) goto L_Novice;
+ if (Class == Job_Swordman && KNIGHT_Q == 1) goto L_Test;
+ if (Class == 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 (class == Job_Knight) goto L_Knight;
+ if (class == Job_Novice) goto L_Novice;
+ if (class == Job_Swordman && KNIGHT_Q == 2) goto L_Test;
+ if (class == 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(Class == Job_Knight) goto L_Knight;
+ if(Class == Job_Novice) goto L_Novice;
+ if(Class == Job_Swordman && KNIGHT_Q == 3) goto L_Test;
+ if(Class == 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;
+ killmonsterall "job_knt.gat"; //kills off any left over monsters from other testers
+ warpwaitingpc "job_knt.gat",43,146;
+ donpcevent "KntLvl1";
+ end;
+}
+
+// First Level ---------------------------------------------------------
+job_knt.gat,1,1,1 script KntLvl1 -1,
+{
+ disablenpc "Warp1";
+ 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;
+ killmonsterall "job_knt.gat";
+ 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 (class == Job_Knight) goto L_Knight;
+ if (class == Job_Novice) goto L_Novice;
+ if (class == Job_Swordman && KNIGHT_Q == 4) goto L_Test;
+ if (class == Job_Swordman && KNIGHT_Q == 5) mes "Speak to the Chivalry Captain Herman about your next test.";
+ if (class == 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 (class == Job_Knight) goto L_Knight;
+ if (class == Job_Swordman) goto L_Sword;
+ if (class == 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 (class == Job_Knight) goto L_Knight;
+ if (class == Job_Novice) goto L_Novice;
+ if (class == Job_Swordman && KNIGHT_Q == 6) goto L_Test;
+ if (class == Job_Swordman && KNIGHT_Q == 7) mes "Go to Chivalry Captain Herman and allow him to bestow upon you the great honor of Knighthood.";
+ if (class == 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;
+
+}
\ No newline at end of file diff --git a/npc/jobs/2-1/priest.txt b/npc/jobs/2-1/priest.txt new file mode 100644 index 000000000..53a3841db --- /dev/null +++ b/npc/jobs/2-1/priest.txt @@ -0,0 +1,1430 @@ +//===== eAthena Script =======================================
+//= Priest Quest
+//===== By: ==================================================
+//= Translated By: Pgro Team (OwNaGe)(Aegis)
+//= Converted by: kobra_k88.
+//= Further bugfixed and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== 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.
+//= v1.1 Rollback from the wrong Kashy's fix
+==========================================================
+
+
+
+
+
+//*********************************************************************************************************************************************************************************\\
+//============================================ Father Thomas: Job changer, Test 1 =============================================\\
+//*********************************************************************************************************************************************************************************\\
+prt_church.gat,16,41,4 script Father Thomas 60,
+{
+ mes "[Father Thomas]";
+ if (class == Job_Novice) goto L_Novice;
+ if (class == Job_Priest) goto L_Priest;
+ if (class == Job_Acolyte) goto L_Start;
+
+L_Other:
+ 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.";
+ close;
+
+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 acolyote.",M_0a, "I want to become a ^5533FFPriest^000000.",M_0b, "Iam just walking around.",M_0End;
+
+ M_0a:
+ mes "[Father Thomas]";
+ mes "Haha.. so you want to become an Acolyote eh? To apply to become an Acolyote, 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 Acolyote. To become an Acolyote, 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 am 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 am 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;
+
+
+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 am Father Thomas. I am 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 am 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 am 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 am 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;
+ jobchange 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 == 40) 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 quiet 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(class == 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(class == 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, iam 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, Iam 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.. Iam 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;
+ //showimage "¹Ì½ºÆ®·¹½ºÄ«µå.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;
+ //showimage "¹Ì½ºÆ®·¹½ºÄ«µå.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:
+ //showimage "¹Ì½ºÆ®·¹½ºÄ«µå.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(class == 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, iam 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(class == 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 "Iam 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, iam 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(class == 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(class == 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(class == 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(Class == Job_Priest) goto L_Prst;
+ if(Class == Job_Acolyte) goto L_Aco;
+ if(Class == 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.",-, "Iam 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.",-, "Iam 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, Iam 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 theif.";
+ 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;
+}
diff --git a/npc/jobs/2-1/wizard.txt b/npc/jobs/2-1/wizard.txt new file mode 100644 index 000000000..2a77c10ee --- /dev/null +++ b/npc/jobs/2-1/wizard.txt @@ -0,0 +1,1446 @@ +//===== eAthena Script =======================================
+//= Wizard Job Quest
+//===== By: ==================================================
+//= ?? (Aegis)
+//= Translated by yoshiki
+//= converted by kobra_k88
+//= Further bugfixed and tested by Lupus
+//===== Current Version: =====================================
+//= 1.3a
+//===== Compatible With: =====================================
+//= eAthena 1.0
+//===== Description: =========================================
+//= Wizard job quest converted from aegis script, plus my own RO screenies.
+//===== Additional Comments: =================================
+//= v1.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.
+//= v1.2 Changed global variable names to unique ones.
+//= v1.3 Rollback from the wrong Kashy's fix
+//= v1.3a Fixed issue with duplicating monsters thx to Bison.[kobra_k88]
+//============================================================
+
+
+
+//<=================== Some dog =========================>
+gef_tower.gat,107,35,5 script Some Dog 81,
+{
+ if(Class == Job_Mage) goto L_JobMage;
+ if(callfunc("Is_Magic_Class")) goto L_Magic;
+ if(callfunc("Is_Holy_Class")) 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;
+
+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,
+{
+ mes "[Catherine Medichi]";
+ if(Class == Job_Wizard) goto L_Wizard;
+ if(Class == Job_Novice) goto L_Novice;
+ if(Class == Job_Mage) goto L_Mage;
+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;
+
+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 "F_ClearJobVar"; // clears all job variables for the current player
+ JobChange Job_Wizard;
+
+ 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(Class == Job_Mage) goto L_Mage;
+ if(Class == Job_Wizard) goto L_Wizard;
+ if(callfunc("Is_Holy_Class")) goto L_Holy;
+ if(Class == 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, 8;
+ 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";
+ monster "job_wiz.gat",54,89,"Desert Wolf",1106,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
diff --git a/npc/jobs/2-2-1/Champion.txt b/npc/jobs/2-2-1/Champion.txt new file mode 100644 index 000000000..746f79cf9 --- /dev/null +++ b/npc/jobs/2-2-1/Champion.txt @@ -0,0 +1,61 @@ +//Champion Made by Evera/Lorri
+valkyrie.gat,53,42,4 script Champion 52,{
+ if (readparam(12) != 0) goto Lskpt;
+ if ((readparam(11) >= 99) && (readparam(19) == 15) && (readparam(55) >= 50)) goto Lnovice;
+ if ((readparam(19) == 4001) && (readparam(55) >= 10)) goto Lh1;
+ if ((readparam(19) == 4001) && (readparam(55) < 10)) goto LCem;
+ if ((readparam(19) == 4005) && (readparam(55) >= 40)) goto Lh2;
+ if ((readparam(19) == 4005) && (readparam(55) < 40)) goto LCem;
+ if (readparam(19) == 4016) goto Lcrazy;
+ mes "[Champion]";
+ mes "Hello";
+ mes "Nice day isn't it?";
+ close;
+Lnovice:
+ mes "[Champion]";
+ mes "Your holy fist seems strong enough. Hmm..";
+ mes "If you devote yourself entirely you can be just like me.";
+ mes "There is a catch though, you have to go back through novice and acolyte.";
+ mes "You wanna do it?";
+ menu "Yes",Lnovice2,"No",Lcancel;
+Lnovice2:
+ mes "We shall start the ceremony....";
+ next;
+ jobchange 24;// Job: Job_Novice_High
+ resetlvl(1);
+ close;
+Lh1:
+ mes "[Champion]";
+ mes "Ready to become a high acolyte?";
+ menu "Yes",Lh12,"No",Lcancel;
+Lh12:
+ mes "[Champion]";
+ mes "Your hands are now enchanted with a portion of my power.";
+ next;
+ jobchange 28;// Job: Job_Acolyte_High
+ close;
+Lh2:
+ mes "[Champion]";
+ mes "Your fists are now as strong as mine. Will you take the final step and become a champion?";
+ menu "Yes",Lh22,"No",Lcancel;
+Lh22:
+ mes "[Champion]";
+ mes "Your hands are now enchanted with a portion of my power.";
+ jobchange 39;// Job: Job_Champion
+ close;
+Lcrazy:
+ mes "[Champion]";
+ mes "No, I'm not here to fight?";
+ close;
+Lskpt:
+ mes "[Champion]";
+ mes "Use your skillpoints first";
+ close;
+LCem:
+ mes "[Champion]";
+ mes "You're not ready to go to the next level";
+ close;
+Lcancel:
+ mes "Bye";
+ close;
+}
diff --git a/npc/jobs/2-2-1/Clown.txt b/npc/jobs/2-2-1/Clown.txt new file mode 100644 index 000000000..eb88a88ee --- /dev/null +++ b/npc/jobs/2-2-1/Clown.txt @@ -0,0 +1,122 @@ +//Made by Veev for eAthena
+valkyrie.gat,53,54,4z script Clown 741,{
+
+mes "[Clown]";
+mes "Well, would you like to sing a song...?";
+mes "But I'll start the song off for you...";
+goto cmenu;
+
+ cmenu:
+ menu "I'm not here to sing.",nosing,"Alright...",alright;
+
+ nosing:
+ mes "[Clown]";
+ mes "Really?... I see. What brings you here then?";
+ menu "I would like to become a Clown",clown,"Nothing...",nothing;
+
+ clown:
+ mes "[Clown]";
+ mes "Hmm... Let me make sure you are clown-material...";
+ next;
+ if (sex==0) goto female;
+ if (SkillPoint != 0) goto useskpt;
+ if ((BaseLevel >= 99) && (Class == 19) && (readparam(55) >= 50)) goto highnovice;
+ if ((Class == 4001) && (readparam(55) >= 10)) goto higharcher;
+ if ((Class == 4004) && (readparam(55) >= 40)) goto turnclown;
+ if ((Class == 4004) && (readparam(55) < 40)) goto toolowha;
+ if (Class == 4020) goto alreadyclown;
+ mes "Sorry, but you can't become a clown just yet...";
+ close;
+
+ female:
+ mes "[Clown]";
+ mes "This job is only for guys... Maybe you should talk to the Gypsy...";
+ close;
+
+ highnovice:
+ mes "[Clown]";
+ mes "You are on the right track... But first I need to turn you into a High Novice...";
+ mes "Would you like to become a High Novice now?";
+ menu "Yes",hn_yes,"No",hn_no;
+
+ hn_yes:
+ mes "[Clown]";
+ mes "This will only be a second...";
+ jobchange 24;// Job: Job_Novice_High
+ resetlvl(1);
+ close;
+
+ hn_no:
+ mes "[Clown]";
+ mes "Come back later if you want to change...";
+ close;
+
+ higharcher:
+ mes "[Clown]";
+ mes "Even closer to clown now!";
+ mes "Wanna change into a High Archer now?";
+ menu "Yes",ha_yes,"No",ha_no;
+
+ ha_yes:
+ mes "[Clown]";
+ mes "After this step, you'll be a clown in no time!";
+ jobchange 27;// Job: Job_Archer_High
+ close;
+
+ ha_no:
+ mes "[Clown]";
+ mes "Well... You can always come back.";
+ close;
+
+ turnclown:
+ mes "[Clown]";
+ mes "My favorite part of this job! This is exciting!";
+ mes "I'll change you into a Clown now.";
+ menu "Alright!",tc_yes,"Not yet...",tc_no;
+
+ tc_yes:
+ mes "[Clown]";
+ mes "I love this job!";
+ jobchange 43;// Job: Job_Clown
+ next;
+ mes "[Clown]";
+ mes "Have fun!";
+ close;
+
+ tc_no:
+ mes "[Clown]";
+ mes "Well... That kinda ruined my day...";
+ close;
+
+ alreadyclown:
+ mes "[Clown]";
+ mes "You are already a Clown!";
+ mes "Move out of the way and let other people become one";
+ close;
+
+ useskpt:
+ mes "[Clown]";
+ mes "You need to use those skillpoitns up first.";
+ close;
+
+ towlowha:
+ mes "[Clown]";
+ mes "Aww, you aren't ready yet! Please come back again when you are ready.";
+ close;
+
+ nothing:
+ mes "[Clown]";
+ mes "Sigh...";
+ close;
+
+ alright:
+ mes "[Clown]";
+ if (class != 19) goto notbard;
+ mes "Actually you know what... Maybe another time... You don't look like a singer...";
+ close;
+
+ notbard:
+ mes "[Clown]";
+ mes "... Nice try, but you aren't a Bard... Go bother someone else.";
+ close;
+}
diff --git a/npc/jobs/2-2-1/Creator.txt b/npc/jobs/2-2-1/Creator.txt new file mode 100644 index 000000000..0b0913cf9 --- /dev/null +++ b/npc/jobs/2-2-1/Creator.txt @@ -0,0 +1,61 @@ +//Creator Made by Evera/Lorri 1.1
+
+valkyrie.gat,53,50,6 script Creator 122,{
+ if (readparam(12) != 0) goto Lskpt;
+ if ((readparam(11) >= 99) && (readparam(19) == 18) && (readparam(55) >= 50)) goto Lnovice;
+ if ((readparam(19) == 4001) && (readparam(55) >= 10)) goto Lh1;
+ if ((readparam(19) == 4001) && (readparam(55) < 10)) goto LCem;
+ if ((readparam(19) == 4006) && (readparam(55) >= 40)) goto Lh2;
+ if ((readparam(19) == 4006) && (readparam(55) < 40)) goto LCem;
+ if (readparam(19) == 4019) goto Lcrazy;
+ mes "[Creator]";
+ mes "Hello";
+ mes "Sorry, no potions for sale.";
+ close;
+Lnovice:
+ mes "[Creator]";
+ mes "Hm. You seem to have extensive knowledge in chemistry. Would you like to become a creator?";
+ mes "There is a catch though, you have to go back through novice and merchant.";
+ mes "You wanna do it?";
+ menu "Yes",Lnovice2,"No",Lcancel;
+Lnovice2:
+ mes "We shall start the ceremony....";
+ next;
+ jobchange 24;// Job: Job_Novice_High
+ resetlvl(1);
+ close;
+Lh1:
+ mes "[Creator]";
+ mes "Ready to become a high merchant?";
+ menu "Yes",Lh12,"No",Lcancel;
+Lh12:
+ mes "[Creator]";
+ mes "Here, take this potion.";
+ next;
+ jobchange 29;// Job: Job_Merchant_High
+ close;
+Lh2:
+ mes "[Creator]";
+ mes "You knowledge unbounds you. Will you become a professor?";
+ menu "Yes",Lh22,"No",Lcancel;
+Lh22:
+ mes "[Creator]";
+ mes "Here, take this potion.";
+ jobchange Job_Creator; //42
+ close;
+Lcrazy:
+ mes "[Creator]";
+ mes "Hm. You look like me.";
+ close;
+Lskpt:
+ mes "[Creator]";
+ mes "Use your skillpoints first";
+ close;
+LCem:
+ mes "[Creator]";
+ mes "You're not ready to go to the next level";
+ close;
+Lcancel:
+ mes "Bye";
+ close;
+}
diff --git a/npc/jobs/2-2-1/Gypsy.txt b/npc/jobs/2-2-1/Gypsy.txt new file mode 100644 index 000000000..24efc9d86 --- /dev/null +++ b/npc/jobs/2-2-1/Gypsy.txt @@ -0,0 +1,89 @@ +//Made by Evera/Lorri
+valkyrie.gat,53,56,4 script Gypsy 101,{
+if (sex==1) goto Lmale;
+if (readparam(12) != 0) goto Lskpt;
+if ((BaseLevel >= 99) && (readparam(19) == 20) && (readparam(55) >= 50)) goto Lnovice;
+if ((readparam(19) == 24) && (joblevel >= 10)) goto Larcher;
+if ((readparam(19) == 27) && (joblevel >= 40)) goto Lgypsy2;
+if ((readparam(19) == 27) && (joblevel < 40)) goto Lgypsy3;
+if (readparam(19) == 44) goto Lomg;
+
+Lnovice:
+mes "[Gypsy]";
+mes "Hey you there! Are you a dancer?";
+mes "There's a secret I wanna tell you.. You can get even more dances if you become a Gypsy! So do you wanna be a gypsy?";
+menu
+"Yes",Lyes,"No way, you crazy?",Lcancel;
+Lyes:
+ mes "Hmm...?";
+ next;
+ mes "Alright, do you know the requirements? You have to be strong and adept at battling and dancing.";
+ mes "Level 99 and Job Level 50!";
+ mes "You have to be a dancer ofcourse";
+ mes "You sure you want to become a gypsy? You'll go back to a 1/1 novice...";
+ menu "Yes",Lnyes,"No",Lano;
+
+Lmale:
+ mes "[Gypsy]";
+ mes "Shoo! Boys!";
+ close;
+
+Lnyes:
+if (readparam(12) != 0) goto Lskpt;
+ mes "Come back in 10 job levels then. Good luck!";
+ jobchange 24;// Job: Job_Novice_High
+ resetlvl(1);
+ close;
+
+Larcher:
+ mes "[Gypsy]";
+ mes "You can almost dance!";
+ mes "Change into a high archer?";
+ menu "Yes",Layes,"No",Lano;
+
+Layes:
+if (readparam(12) != 0) goto Lskpt;
+ mes "Hurry up and get 40 job levels!";
+ jobchange 27;// Job: Job_Archer_High
+ close;
+
+
+
+Lgypsy2:
+ mes "I will now dance a magical dance for you.";
+ mes "One last chance, do you truly want to become a gypsy?";
+ menu "..Yes",Lcyes,"Not yet...",Lano;
+
+Lcyes:
+if (readparam(12) != 0) goto Lskpt;
+ mes "Congratulations! You are now a gypsy";
+ jobchange 44;// Job: Job_Gypsy
+ next;
+ mes "[Gypsy]";
+ mes "Don't outdo yourself";
+ close;
+
+Lskpt:
+ mes "[Gypsy]";
+ mes "You need to use those skillpoints up first.";
+ close;
+
+Lgypsy3:
+ mes "[Gypsy]";
+ mes "Doesn't look like you're sufficient for the job";
+ close;
+
+Lano:
+ mes "Well, goodbye!";
+ close;
+
+Lcancel:
+ mes "[Gypsy]";
+ mes "Well bye then..";
+ close;
+
+Lomg:
+ mes "[Gypsy]";
+ mes "Wait.. Haven't I seen you before?";
+ close;
+}
diff --git a/npc/jobs/2-2-1/Paladin.txt b/npc/jobs/2-2-1/Paladin.txt new file mode 100644 index 000000000..e7e82c0a4 --- /dev/null +++ b/npc/jobs/2-2-1/Paladin.txt @@ -0,0 +1,62 @@ +//Paladin Made by Evera/Lorri
+//Fixed by PoW
+valkyrie.gat,53,39,4 script Paladin 752,{
+ if (SkillPoint != 0) goto Lskpt;
+ if ((readparam(11) >= 99) && (readparam(19) == 14) && (readparam(55) >= 50)) goto Lnovice;
+ if ((readparam(11) >= 99) && (readparam(19) == 21) && (readparam(55) >= 50)) goto Lnovice;
+ if ((readparam(19) == 4001) && (readparam(55) >= 10)) goto Lh1;
+ if ((readparam(19) == 4001) && (readparam(55) < 10)) goto LCem;
+ if ((readparam(19) == 4002) && (readparam(55) >= 40)) goto Lh2;
+ if ((readparam(19) == 4002) && (readparam(55) < 40)) goto LCem;
+ if (readparam(19) == 4015) goto Lcrazy;
+ mes "[Paladin]";
+ mes "Hello";
+ mes "God will always be there to help.";
+ close;
+Lnovice:
+ mes "[Paladin]";
+ mes "Your holy aura is strong. Will you become a paladin?";
+ mes "There is a catch though, you have to go back through novice and merchant.";
+ mes "You wanna do it?";
+ menu "Yes",Lnovice2,"No",Lcancel;
+Lnovice2:
+ mes "We shall start the ceremony....";
+ next;
+ jobchange 24;// Job: Job_Novice_High
+ resetlvl(1);
+ close;
+Lh1:
+ mes "[Paladin]";
+ mes "Ready to become a high swordsman?";
+ menu "Yes",Lh12,"No",Lcancel;
+Lh12:
+ mes "[Paladin]";
+ mes "By the holy resovoir in this blessed sword, I crown you.";
+ next;
+ jobchange 25;// Job: Job_Swordman_High
+ close;
+Lh2:
+ mes "[Paladin]";
+ mes "Your holy aura is extremely high. You are ready. Will you become a paladin?";
+ menu "Yes",Lh22,"No",Lcancel;
+Lh22:
+ mes "[Paladin]";
+ mes "By the holy resovoir in this blessed sword, I crown you.";
+ jobchange 38;// Job: Job_Paladin
+ close;
+Lcrazy:
+ mes "[Paladin]";
+ mes "God has helped you very much.";
+ close;
+Lskpt:
+ mes "[Paladin]";
+ mes "Use your skillpoints first";
+ close;
+LCem:
+ mes "[Paladin]";
+ mes "You're not ready to go to the next level";
+ close;
+Lcancel:
+ mes "Bye";
+ close;
+}
diff --git a/npc/jobs/2-2-1/Professor.txt b/npc/jobs/2-2-1/Professor.txt new file mode 100644 index 000000000..5ce78da48 --- /dev/null +++ b/npc/jobs/2-2-1/Professor.txt @@ -0,0 +1,61 @@ +//Professor Made by Evera/Lorri
+//Fixed by PoW
+valkyrie.gat,53,47,4 script Professor 743,{
+ if (readparam(12) != 0) goto Lskpt;
+ if ((readparam(11) >= 99) && (readparam(19) == 16) && (readparam(55) >= 50)) goto Lnovice;
+ if ((readparam(19) == 4001) && (readparam(55) >= 10)) goto Lh1;
+ if ((readparam(19) == 4001) && (readparam(55) < 10)) goto LCem;
+ if ((readparam(19) == 4003) && (readparam(55) >= 40)) goto Lh2;
+ if ((readparam(19) == 4003) && (readparam(55) < 40)) goto LCem;
+ if (readparam(19) == 4017) goto Lcrazy;
+ mes "[Professor]";
+ mes "Hello";
+ mes "Knowledge is the key.";
+ close;
+Lnovice:
+ mes "[Professor]";
+ mes "You seem smart. Hm. Do you wish to persue your dream of knowledge and become a professor like me?";
+ mes "There is a catch though, you have to go back through novice and mage.";
+ mes "You wanna do it?";
+ menu "Yes",Lnovice2,"No",Lcancel;
+Lnovice2:
+ mes "We shall start the ceremony....";
+ next;
+ jobchange 24;// Job: Job_Novice_High
+ resetlvl(1);
+ close;
+Lh1:
+ mes "[Professor]";
+ mes "Ready to become a high mage?";
+ menu "Yes",Lh12,"No",Lcancel;
+Lh12:
+ mes "[Professor]";
+ mes "Read this book, you'll be enchanted by its magic";
+ next;
+ jobchange 26;// Job: Job_Mage_High
+ close;
+Lh2:
+ mes "[Professor]";
+ mes "It appears as your intelligence quota surpasses mine. Will you become a professor";
+ menu "Yes",Lh22,"No",Lcancel;
+Lh22:
+ mes "[Professor]";
+ mes "Read this book, you'll be enchanted by its magic";
+ jobchange 40;// Job: Job_Professor
+ close;
+Lcrazy:
+ mes "[Professor]";
+ mes "Your intelligence will surpass many other unfortunate souls who have not found truth in a book.";
+ close;
+Lskpt:
+ mes "[Professor]";
+ mes "Use your skillpoints first";
+ close;
+LCem:
+ mes "[Professor]";
+ mes "You're not ready to go to the next level";
+ close;
+Lcancel:
+ mes "Bye";
+ close;
+}
diff --git a/npc/jobs/2-2-1/Stalker.txt b/npc/jobs/2-2-1/Stalker.txt new file mode 100644 index 000000000..cb1b9119d --- /dev/null +++ b/npc/jobs/2-2-1/Stalker.txt @@ -0,0 +1,59 @@ +//Stalker Made by Evera/Lorri
+valkyrie.gat,53,58,4 script Stalker 747,{
+ if (readparam(12) != 0) goto Lskpt;
+ if ((readparam(11) >= 99) && (Class == 18) && (JobLevel >= 50)) goto Lnovice;
+ if ((Class == 4001) && (readparam(55) >= 10)) goto Lh1;
+ if ((Class == 4001) && (readparam(55) < 10)) goto LCem;
+ if ((Class == 4007) && (readparam(55) >= 40)) goto Lh2;
+ if ((Class == 4007) && (readparam(55) < 40)) goto LCem;
+ if (Class == 4018) goto Lcrazy;
+ mes "[Stalker]";
+ mes "...";
+ close;
+Lnovice:
+ mes "[Stalker]";
+ mes "Hm. You seem like a person that would be interested. Would you want to become a stalker?";
+ mes "There is a catch though, you have to go back through novice and theif.";
+ mes "You wanna do it?";
+ menu "Yes",Lnovice2,"No",Lcancel;
+Lnovice2:
+ mes "We shall start the ceremony....";
+ next;
+ jobchange 24;// Job: Job_Novice_High
+ resetlvl(1);
+ close;
+Lh1:
+ mes "[Stalker]";
+ mes "Ready to become a theif?";
+ menu "Yes",Lh12,"No",Lcancel;
+Lh12:
+ mes "[Stalker]";
+ mes "Hmf.";
+ next;
+ jobchange 30;// Job: Job_Thief_High
+ close;
+Lh2:
+ mes "[Stalker]";
+ mes "Hm. You're ready. Become a stalker?";
+ menu "Yes",Lh22,"No",Lcancel;
+Lh22:
+ mes "[Stalker]";
+ mes "Hmf.";
+ jobchange 41;// Job: Job_Stalker
+ close;
+Lcrazy:
+ mes "[Stalker]";
+ mes "I'm done with you.";
+ close;
+Lskpt:
+ mes "[Stalker]";
+ mes "Use your skillpoints first";
+ close;
+LCem:
+ mes "[Stalker]";
+ mes "You're not ready to go to the next level";
+ close;
+Lcancel:
+ mes "Bye";
+ close;
+}
diff --git a/npc/jobs/2-2/alchemist.txt b/npc/jobs/2-2/alchemist.txt new file mode 100644 index 000000000..45f1ae5a2 --- /dev/null +++ b/npc/jobs/2-2/alchemist.txt @@ -0,0 +1,1078 @@ +//===== eAthena Script =======================================
+//= Alchemist Job Quest
+//===== By: ================================================== +//= nestor_zulueta (Fusion)
+//= converted by Darkchild
+//===== Current Version: =====================================
+//= 1.1
+//===== 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 Raspuchin's test. (based of mRO website) [kobra_k88]
+//============================================================
+ + +//==================================================================================================// +// Registration and First Test +//==================================================================================================// +alde_alche.gat,27,185,4 script Parmry Gianino 744, +{ + mes "[Parmry Gianino]"; + if(Class == 5) goto L_Merc; + if(Class == 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... ^5533FFRaspuchin^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 "[Parmy 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 ^5533FFRaspuchin^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 Raspuchin Gregory 749, +{ + mes "[Raspuchin Gregory]"; + if(class == 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 "[Raspuchin Gregory]"; + mes "Am researching! Once this potion is complete... you will be able to take over an entire country!!"; + next; + mes "[Raspuchin 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 "[Raspuchin 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 "[Raspuchin 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 "[Raspuchin 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 "[Raspuchin 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 "[Raspuchin 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 "[Raspuchin 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 "[Raspuchin Gregory]"; + mes "12+23+34+45 =?"; + next; + input @num; + if(@num == 114) set @score,@score+10; + q2: + mes "[Raspuchin Gregory]"; + mes "1000-36-227-348 =?"; + next; + input @num; + if(@num == 389) set @score,@score+10; + q3: + mes "[Raspuchin Gregory]"; + mes "9765/3/5/7 =?"; + next; + input @num; + if(@num == 93) set @score,@score+10; + q4: + mes "[Raspuchin Gregory]"; + mes "(2646/7) + (13*28) =?"; + next; + input @num; + if(@num == 742) set @score,@score+10; + q5: + mes "[Raspuchin 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 "[Raspuchin 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 "[Raspuchin 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 == 22) set @score,@score+10; + q8: + mes "[Raspuchin 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 "[Raspuchin Gregory]"; + mes "Well, I'll let you go this one time..."; + mes "I forgive you ... Kekeke."; + mes "Do well this time..."; + next; + mes "[Raspuchin 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 "[Raspuchin Gregory]"; + mes "13+25+37+48=?"; + next; + input @num; + if(@num == 123) set @score,@score+10; + q12: + mes "[Raspuchin Gregory]"; + mes "1000-58-214-416 =?"; + next; + input @num; + if(@num == 312) set @score,@score+10; + q13: + mes "[Raspuchin Gregory]"; + mes "12*24*3=?"; + next; + input @num; + if(@num == 864) set @score,@score+10; + q14: + mes "[Raspuchin Gregory]"; + mes "10530/3/5/2=?"; + next; + input @num; + if(@num == 351) set @score,@score+10; + q15: + mes "[Raspuchin Gregory]"; + mes "(35*19) - (1792/7) =?"; + next; + input @num; + if(@num == 400) set @score,@score+10; + q16: + mes "[Raspuchin Gregory]"; + mes "(2368/8) + (24*17) = ?"; + next; + input @num; + if(@num == 704) set @score,@score+10; + q17: + mes "[Raspuchin Gregory]"; + mes "(2646/7) + (13*28)=?"; + next; + input @num; + if(@num == 742) set @score,@score+10; + q18: + mes "[Raspuchin 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 "[Raspuchin Gregory]"; + mes "What is the total weight of "; + mes "3 Ring Pommels Saber,"; + mes "4 Caps and 2 Boots?"; + next; + input @num; + if(@num == 550) set @score,@score+10; + q20: + mes "[Raspuchin Gregory]"; + mes "What is the total defense of a "; + mes "Bucler, Coat, Gas Mask, Big"; + mes "Ribbon, Ribbon, Sakkat and"; + mes "Glasses?"; + next; + input @num; + if(@num == 16) set @score,@score+10; + q21: + mes "[Raspuchin 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 "[Raspuchin 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 Raspuchin... Kikiki!"; + next; + mes "[Raspuchin 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 "[Raspuchin 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 "[Raspuchin 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 "[Raspuchin 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 "[Raspuchin 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(class == 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(class == 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(class == 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 Juno'^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 Juno. 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 Juno go help them."; + close; + +} + + +//==================================================================================================// +// Job Changer +//==================================================================================================// +alde_alche.gat,101,184,4 script Vincent Carsciallo 122, +{ + mes "[Vincent Carsciallo]"; + if(Class == 5) goto L_Merc; + if(Class == 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; + jobchange 18; + 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; +}
\ No newline at end of file diff --git a/npc/jobs/2-2/crusader.txt b/npc/jobs/2-2/crusader.txt new file mode 100644 index 000000000..076ef2ce6 --- /dev/null +++ b/npc/jobs/2-2/crusader.txt @@ -0,0 +1,1164 @@ +////===== eAthena Script =======================================
+//= Crusader Quest
+//===== By: ==================================================
+//= Made by: Black Dragon
+//= Converted by: Shin
+//=
+//===== Current Version: =====================================
+//= 1.1
+//===== 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
+//============================================================
+
+prt_castle.gat,178,99,6 script Lothar 752,{
+ mes "[^000080Lothar^000000]";
+ if (Class > 0) goto NEXT_0;
+ if (Class == 0) goto NOV;
+ mes "Hello "+ strcharinfo(0);
+ mes "I see that you've registered to the ^008000Swordsman's Association^000000.";
+ TALK:
+ next;
+ mes "[^000080Lothar^000000]";
+ mes "If you become a ^800000Swordsman^000000, you will gain the privelege of becoming a ^800000Knight^000000 or ^800000Crusader^000000.";
+ next;
+ mes "[^000080Lothar^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 (Class > 1) goto NEXT0;
+ if (Job_CR == 1) goto CONT;
+ if (Job_CR == 2) goto CONT0;
+ if (Job_CR == 3) goto CONT1;
+ if (Job_CR == 4) goto CONT2;
+ if (Job_CR > 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 "[^000080Lothar^000000]";
+ mes "Oh, all right.";
+ next;
+ mes "[^000080Lothar^000000]";
+ mes "If you decide to take the path of the ^800000Crusader^000000, feel free to come back.";
+ close;
+ JOB:
+ mes "[^000080Lothar^000000]";
+ mes "All right, let me take a look at you first.";
+ next;
+ mes "[^000080Lothar^000000]";
+ if (readparam(55) != 50) goto SKIP;
+ set JLCC,1;
+ set Job_CR,5;
+ goto TEST1;
+ SKIP:
+ if (readparam(55) > 39) goto OKAY;
+ mes "[^000080Lothar^000000]";
+ mes "I'm sorry, but you need to be at least at a job level of 40.";
+ next;
+ mes "[^000080Lothar^000000]";
+ mes "All 2nd jobs require that.";
+ close;
+ OKAY:
+ if (SkillPoint == 0) goto OKAY0;
+ JOB0:
+ mes "[^000080Lothar^000000]";
+ mes "In order to become a ^800000Crusader^000000, you have to have used all your available skill points first.";
+ close;
+ OKAY0:
+ mes "[^000080Lothar^000000]";
+ mes "Everything looks all right.";
+ set Job_CR,1;
+ next;
+ mes "[^000080Lothar^000000]";
+ mes "All right, shall we begin the tests?";
+ next;
+ menu "Yes, of course.",OKAY1,"Not yet.",-;
+ mes "[^000080Lothar^000000]";
+ mes "Oh, all right. Come back when you're ready.";
+ close;
+ OKAY1:
+ if (SkillPoint != 0) goto JOB0;
+ set Job_CR,2;
+ mes "[^000080Lothar^000000]";
+ mes "All right, the first test requires you to collect items.";
+ next;
+ set Job_CR, rand (2);
+ set Job_CR,Job_CR + 3;
+ mes "[^000080Lothar^000000]";
+ mes "Bring back the following items:";
+ if (Job_CR != 3) goto IT;
+ mes "- 10 ^FF0000Decayed Nail^000000";
+ mes "- 10 ^FF0000Danggies^000000";
+ mes "- 10 ^FF0000Stinky Scales^000000";
+ mes "- 10 ^FF0000Mementos^000000";
+ close;
+ IT:
+ mes "- 10 ^FF0000Decayed Nail^000000";
+ mes "- 10 ^FF0000Danggies^000000";
+ mes "- 10 ^FF0000Stinky Scales^000000";
+ mes "- 10 ^FF0000Mementos^000000";
+ close;
+
+ ASK:
+ mes "[^000080Lothar^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 "[^000080Lothar^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 "[^000080Lothar^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 "[^000080Lothar^000000]";
+ mes "I see... That's a shame.";
+ next;
+ mes "[^000080Lothar^000000]";
+ mes "Come back if you do want to.";
+ close;
+ CONT0:
+ mes "Well, hm...";
+ next;
+ mes "[^000080Lothar^000000]";
+ mes "I was expecting that someone like you would pass.";
+ next;
+ mes "[^000080Lothar^000000]";
+ mes "Mind to try again?";
+ next;
+ menu "Yes, of course.",OKAY1,"No, I'm all right.",-;
+ mes "[^000080Lothar^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: Danggie,
+ mes "You still miss the this item";
+ mes "- 10 ^FF0000Danggies^000000";
+ set @item, item +1;
+ ITEM8:
+ 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;
+ ITEM9:
+ if(countitem(934)>=10) goto ITEM10;//Items: Memento,
+ mes "You still miss the this item";
+ mes "- 10 ^FF0000Mementos^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: Danggie,
+ delitem 959,10;//Items: Stinky Scale,
+ delitem 934,10;//Items: Memento,
+ set Job_CR,5;
+ TEST1:
+ next;
+ mes "[^000080Lothar^000000]";
+ mes "All right, let's move on to the 2nd test.";
+ next;
+ mes "[^000080Lothar^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(932)>=10) goto ITEM11;//Items: Skel-Bone,
+ mes "You still miss the this item";
+ mes "- 10 ^FF0000Skel-Bones^000000";
+ set @item, item +1;
+ ITEM11:
+ if(countitem(1043)>=10) goto ITEM12;//Items: Orc Claw,
+ mes "You still miss the this item";
+ mes "- 10 ^FF0000Orc Claws^000000";
+ set @item, item +1;
+ ITEM12:
+ if(countitem(2408)>=1) goto ITEM13;//Items: Ball'n'Chain,
+ mes "You still miss the this item";
+ mes "- 1 ^FF0000Ball 'n Chain^000000";
+ set @item, item +1;
+ ITEM13:
+ if(countitem(901)>=10) goto ITEM14;//Items: Danggie,
+ mes "You still miss the this item";
+ mes "- 10 ^FF0000Danggie^000000";
+ set @item, item +1;
+ ITEM14:
+ if (@item== 0) GOTO DONE0;
+ close;
+ DONE0:
+ mes "Good job!";
+ mes "You collected everything!";
+ delitem 932,10;//Items: Skel-Bone,
+ delitem 1043,10;//Items: Orc Claw,
+ delitem 2408,1;//Items: Ball'n'Chain,
+ delitem 901,10;//Items: Danggie,
+ set Job_CR,5;
+ goto TEST1;
+ CONT3:
+ if (Job_CR == 8) goto CONT4;
+ if (Job_CR > 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 "[^000080Lothar^000000]";
+ mes "Now to move on to the ^FF8000Knowledge Test^000000.";
+ mes "Please talk to the Knight at the Cathedral, he will test your knowledge.";
+ set Job_CR,9;
+ close;
+ CONT5:
+ if (Job_CR == 13) goto CONT6;
+ if (Job_CR == 14) goto CONT7;
+ mes "Please go talk to the Knight 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 Job_CR,14;
+ mes "[^000080Lothar^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 (JLCC != 1) goto OTHR;
+ getitem (1408),1;
+ goto END_0;
+ OTHR:
+ getitem (1409),1;
+ END_0:
+ jobchange 14;// Job: Job_Crusader
+ set JobLevel,JobLevel+1;
+ callfunc "F_ClearJobVar"; // clears all job variables for the current player
+ close;
+NEXT0:
+ if (Class != 2) goto NEXT1;
+ mes "Hello, welcome to the ^008000Castle of Prontera^000000.";
+ mes "Hope you have a good day!";
+ close;
+NEXT1:
+ if (Class != 3) goto NEXT2;
+ mes "Good luck in your hunting.";
+ close;
+NEXT2:
+ if (Class != 4) goto NEXT3;
+ mes "Good day to you!";
+ mes "Hope you do well to find your path.";
+ close;
+NEXT3:
+ if (Class != 5) goto NEXT4;
+ mes "Hello, we don't currently need anything, sorry about that.";
+ close;
+NEXT4:
+ if (Class != 6) goto NEXT5;
+ mes "Better watch yourself.";
+ close;
+NEXT5:
+ if (Class != 7) goto NEXT6;
+ mes "Good day to you, " + strcharinfo(0);
+ close;
+NEXT6:
+ if (Class != 8) goto NEXT7;
+ mes "Good day, "+ strcharinfo(0);
+ mes "I would hope to believe that all is going well.";
+ close;
+NEXT7:
+ if (Class != 9) goto NEXT8;
+ mes "Hello, welcome to the ^008000Castle of Prontera^000000.";
+ mes "Nice to have you wish us.";
+ close;
+NEXT8:
+ if (Class != 10) goto NEXT9;
+ mes "Hello, we're not in need of any weapons or armour at the moment, thank you.";
+ close;
+NEXT9:
+ if (Class != 11) goto NEXT10;
+ mes "Hello, wish you luck for your success.";
+ close;
+NEXT10:
+ if (Class != 12) goto NEXT11;
+ mes "Stay out of trouble, you don't want the guards to come after you, now do you?";
+ close;
+NEXT11:
+ if (Class != 14) goto NEXT12;
+ mes "Good day, "+ strcharinfo(0);
+ close;
+NEXT12:
+ if (Class != 15) goto NEXT13;
+ mes "Hello, welcome to the ^008000Castle of Prontera^000000.";
+ close;
+NEXT13:
+ if (Class != 16) goto NEXT14;
+ mes "Welcome to the ^008000Castle of Prontera^000000, I hope you enjoy your stay.";
+ close;
+NEXT14:
+ if (Class != 17) goto NEXT15;
+ mes "Stay out of trouble if you know what's good for you.";
+ close;
+NEXT15:
+ if (Class != 18) goto NEXT16;
+ mes "So, how are the experiments going down in ^00FF00Al de Baran^000000?";
+ close;
+NEXT16:
+ if (Class != 19) goto NEXT17;
+ mes "Welcome to the castle, good sir.";
+ close;
+NEXT17:
+ if (Class != 20) goto NEXT18;
+ mes "Good day, miss.";
+ close;
+NEXT18:
+ if (Class != 22) goto NEXT19;
+ if (Gender != 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 Pain - Crusader Job Quest - 2nd Test
+// By Black Dragon based on the information at RagnaInfo
+//
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+prt_castle.gat,163,33,0 script Man in Pain 107,{
+
+ if (Job_CR == 7) goto CONT;
+ if (Job_CR > 7) goto CONT0;
+ mes "[^000080Man in Pain^000000]";
+ mes "Who... who are you?";
+ next;
+ if (Job_CR == 5) goto CHECK;
+
+ OTHER:
+ if (Job_CR == 6) goto EXIT1;
+ mes "[^000080Man in Pain^000000]";
+ mes "What do you want?";
+ mes "Leave me alone~!";
+ close;
+ CHECK:
+ if (countitem(2608) == 0) goto NOT;//Items: Rosary,
+
+ mes "[^000080Man in Pain^000000]";
+ mes "I see, you're here for the job.";
+ next;
+ mes "[^000080Man in Pain^000000]";
+ mes "It's torture.";
+ mes "They send me to that room time and time again.";
+ next;
+ mes "[^000080Man in Pain^000000]";
+ mes "I've grown awefully weak from it.";
+ next;
+ mes "[^000080Man in Pain^000000]";
+ mes "But if it's your wish, I will send to there.";
+ next;
+ menu "Yes.",-,"On second thought...",EXIT;
+ mes "[^000080Man in Pain^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 Job_CR,6;
+ warp "job_cru.gat",23,42;
+ EXIT0:
+ mes "[^000080Man in Pain^000000]";
+ mes "I'm sorry, there's already another person there right now.";
+ mes "Please wait a little longer.";
+ close;
+ EXIT:
+ mes "[^000080Man in Pain^000000]";
+ mes "Please do not disturb me then!";
+ close;
+ NOT:
+ mes "[^000080Man in Pain^000000]";
+ mes "Leave me alone!";
+ mes "Can't you leave someone in pain alone ?";
+ close;
+
+ CONT:
+ mes "[^000080Man in Pain^000000]";
+ mes "I see you've passed. Good work.";
+ set Job_CR,8;
+ close;
+ EXIT1:
+ mes "[^000080Man in Pain^000000]";
+ mes "Sorry but you're going to need to go again.";
+ goto GO;
+ CONT0:
+ mes "[^000080Man in Pain^000000]";
+ mes "There is nothing else you need from me.";
+ mes "Let me be...";
+ close;
+}
+
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+//
+// Arthur - Crusader Job Quest - Knowledge Test
+// By Black Dragon based on the information at RagnaInfo
+//
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+prt_church.gat,94,116,0 script Arthur 56,{
+ mes "[^000080Arthur^000000]";
+ if (Class != 0) goto NEXT_o;
+ mes "Hello young traveler.";
+ close;
+NEXT_o:
+ if (Class != 1) goto NEXT0;
+ mes "Hello," + strcharinfo(0);
+ next;
+ if (Job_CR != 9) goto EXIT;
+ BEGIN:
+ menu "Take the Knowledge test.",-,"Nothing.",EXIT;
+ mes "[^000080Arthur^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 "[^000080Arthur^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 "[^000080Arthur^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 "[^000080Arthur^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 "[^000080Arthur^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 "[^000080Arthur^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 "[^000080Arthur^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 "[^000080Arthur^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 "[^000080Arthur^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 "[^000080Arthur^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 "[^000080Arthur^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 "[^000080Arthur^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 "[^000080Arthur^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 "[^000080Arthur^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 "[^000080Arthur^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 "[^000080Arthur^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 "[^000080Arthur^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 "[^000080Arthur^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 "[^000080Arthur^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 "[^000080Arthur^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 "[^000080Arthur^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 "[^000080Arthur^000000]";
+ mes "You got "+ @ANS +" / 10 questions correct.";
+ next;
+ if (Job_CR != 10) goto secND;
+ if (@ANS < 8) goto NO;
+ PASS:
+ mes "[^000080Arthur^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 the Guardian Knight at ^008000Prontera Castle^000000.";
+ set Job_CR, 11;
+ close;
+ NO:
+ set Job_CR, 10;
+ mes "[^000080Arthur^000000]";
+ mes "I'm sorry, you didn't get enough to qualify.";
+ next;
+ mes "[^000080Arthur^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 "[^000080Arthur^000000]";
+ mes "I'm sorry, you didn't get enough correct.";
+ close;
+ EXIT:
+ if (Job_CR == 10) goto BEGIN;
+ if (Job_CR > 10) goto FINISH;
+ close;
+ FINISH:
+ mes "[^000080Arthur^000000]";
+ mes "Please go to the Guardian Knight at ^008000Prontera Castle^000000 to continue on to the ^FF8000Purification Test^000000.";
+ close;
+NEXT0:
+ if (Class != 2) goto NEXT1;
+ mes "Hello, welcome to the ^008000Prontera ChivalryY^000000.";
+ mes "Hope you have a good day!";
+ close;
+NEXT1:
+ if (Class != 3) goto NEXT2;
+ mes "Good luck in your hunting.";
+ close;
+NEXT2:
+ if (Class != 4) goto NEXT3;
+ mes "Good day to you!";
+ mes "Hope you do well to find your path.";
+ close;
+NEXT3:
+ if (Class != 5) goto NEXT4;
+ mes "Hello, we don't currently need anything, sorry about that.";
+ close;
+NEXT4:
+ if (Class != 6) goto NEXT5;
+ mes "Better watch yourself.";
+ close;
+NEXT5:
+ if (Class != 7) goto NEXT6;
+ mes "Good day to you, "+ strcharinfo(0);
+ close;
+NEXT6:
+ if (Class != 8) goto NEXT7;
+ mes "Good day, " + strcharinfo(0);
+ mes "I would hope to believe that all is going well.";
+ close;
+NEXT7:
+ if (Class != 9) goto NEXT8;
+ mes "Hello! Nice to have you wish us.";
+ close;
+NEXT8:
+ if (Class != 10) goto NEXT9;
+ mes "Hello, we're not in need of any weapons or armour at the moment, thank you.";
+ close;
+NEXT9:
+ if (Class != 11) goto NEXT10;
+ mes "Hello, wish you luck for your success.";
+ close;
+NEXT10:
+ if (Class != 12) goto NEXT11;
+ mes "Stay out of trouble, you don't want the guards to come after you, now do you?";
+ close;
+NEXT11:
+ if (Class != 14) goto NEXT12;
+ mes "Good day" + strcharinfo(0);
+ close;
+NEXT12:
+ if (Class != 15) goto NEXT13;
+ mes "Hello, welcome to the ^008000Knight's Headquarters^000000.";
+ close;
+NEXT13:
+ if (Class != 16) goto NEXT14;
+ mes "Welcome to the ^008000Knight's Headquarters^000000, I hope you enjoy your stay.";
+ close;
+NEXT14:
+ if (Class != 17) goto NEXT15;
+ mes "Stay out of trouble if you know what's good for you.";
+ close;
+NEXT15:
+ if (Class != 18) goto NEXT16;
+ mes "So, how are the experiments going down in ^00FF00Al de Baran^000000?";
+ close;
+NEXT16:
+ if (Class != 19) goto NEXT17;
+ mes "Welcome to the castle, good sir.";
+ close;
+NEXT17:
+ if (Class != 20) goto NEXT18;
+ mes "Good day, miss.";
+ close;
+NEXT18:
+ if (Class != 22) goto NEXT19;
+ if (Gender != 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;
+}
+
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+//
+// Harrison - Crusader Job Quest - Purification Test
+// By Black Dragon based on the information at RagnaInfo
+//
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+prt_in.gat,83,97,0 script Harrison 734,{
+ mes "[^000080Harrison^000000]";
+ if (Class != 0) goto NEXT_o;
+ mes "Hello, young traveler.";
+ mes "Welcome.";
+ close;
+NEXT_o:
+ if (Class != 1) goto NEXT0;
+ if (Job_CR == 11) goto PART1;
+ if (Job_CR == 12) goto PART2;
+ if (Job_CR != 13) goto EXIT;
+ mes "Well done!";
+ mes "Go talk to ^000080Lothar^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 "[^000080Harrison^000000]";
+ mes "Oh, okay then.";
+ close;
+ PART1:
+ mes "Hello, " + strcharinfo(0);
+ mes "I see that you've passed thus far.";
+ next;
+ mes "[^000080Harrison^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 "[^000080Harrison^000000]";
+ mes "Let me make sure it's empty first.";
+ next;
+ if( getmapusers("job_cru.gat")>0 ) goto EXIT1;
+ savepoint "prt_in.gat",81,100;
+ set Job_CR, 12;
+ warp "job_cru",167,175;
+ EXIT1:
+ mes "[^000080Harrison^000000]";
+ mes "I'm sorry, but someone else is inside at the moment.";
+ close;
+ EXIT0:
+ mes "[^000080Harrison^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 "[^000080Harrison^000000]";
+ mes "If you do, you'll find yourself coming back to me for one of the tests.";
+ close;
+ EXIT2:
+ if( getmapusers("job_cru.gat") != 0 ) goto PART2A;
+ mes "Well done!";
+ set Job_CR,13;
+ next;
+ mes "Return to ^000080Lothar^000000 and he will make you a ^800000Crusader^000000.";
+ close;
+NEXT0:
+ if (Class != 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 (Class != 3) goto NEXT2;
+ mes "Welcome, I hope you have a great day!";
+ close;
+NEXT2:
+ if (Class != 4) goto NEXT3;
+ mes "Good day to you!";
+ close;
+NEXT3:
+ if (Class != 5) goto NEXT4;
+ mes "Hello, sorry but I'm not in need of anything.";
+ close;
+NEXT4:
+ if (Class != 6) goto NEXT5;
+ mes "Don't think you can get away with theft in ^00FF00Prontera^000000, we have soldiers watching everywhere.";
+ close;
+NEXT5:
+ if (Class != 7) goto NEXT6;
+ mes "Welcome!";
+ mes "I hope you have a great day!";
+ close;
+NEXT6:
+ if (Class != 8) goto NEXT7;
+ mes "Welcome to ^00FF00Prontera^000000!";
+ mes "Hope you have a good day!";
+ close;
+NEXT7:
+ if (Class != 9) goto NEXT8;
+ mes "Hello! Glad to see people of your stature here!";
+ close;
+NEXT8:
+ if (Class != 10) goto NEXT9;
+ mes "I appreciate your presence, but I don't need anything at the moment.";
+ mes "Sorry about that.";
+ close;
+NEXT9:
+ if (Class != 11) goto NEXT10;
+ mes "How goes the hunting campaign?";
+ mes "Hope everything is going all right.";
+ close;
+NEXT10:
+ if (Class != 12) goto NEXT11;
+ mes "Stay out of trouble, you hear me?";
+ close;
+NEXT11:
+ if (Class != 14) goto NEXT12;
+ mes "Welcome! Good day to you!";
+ close;
+NEXT12:
+ if (Class != 15) goto NEXT13;
+ mes "Good day, I hope your stay in ^00FF00Prontera^000000 will be a peaceful one.";
+ close;
+NEXT13:
+ if (Class != 16) goto NEXT14;
+ mes "It's good to see people of your stature here in ^00FF00Prontera^000000!";
+ close;
+NEXT14:
+ if (Class != 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 (Class != 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 (Class != 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 (Class != 20) goto NEXT18;
+ mes "Welcome, good day to you!";
+ close;
+NEXT18:
+ if (Class != 22) goto NEXT19;
+ if (Gender != 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 dead -1,{
+ killmonster "job_cru.gat","dead";
+ enablenpc "Test_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 Test_2 139,8,8,{
+
+ if (Job_CR != 6) goto EXIT;
+ set @CR_etmp,1;
+ announce "Please endure here and go to exit",8;
+
+ monster "job_cru.gat",10,43,"Ghoul",1423,1,"dead";
+ monster "job_cru.gat",14,47,"Khalitzburg",1438,1,"dead";
+ monster "job_cru.gat",26,46,"Injustice",1446,1,"dead";
+ monster "job_cru.gat",31,46,"Requium",1468,1,"dead";
+ monster "job_cru.gat",16,52,"Raydric Archer",1453,0,"dead";
+ monster "job_cru.gat",22,53,"Khalitzburg",1438,1,"dead";
+ monster "job_cru.gat",28,49,"Injustice",1446,1,"dead";
+ monster "job_cru.gat",12,54,"Khalitzburg",1438,1,"dead";
+ monster "job_cru.gat",17,55,"Ghoul",1423,1,"dead";
+ monster "job_cru.gat",21,57,"Injustice",1446,1,"dead";
+ monster "job_cru.gat",30,58,"Khalitzburg",1438,1,"dead";
+ monster "job_cru.gat",11,64,"Raydric Archer",1453,1,"dead";
+ monster "job_cru.gat",19,67,"Injustice",1446,1,"dead";
+ monster "job_cru.gat",24,62,"Khalitzburg",1438,1,"dead";
+ monster "job_cru.gat",13,70,"Ghoul",1423,1,"dead";
+ monster "job_cru.gat",18,69,"Injustice",1446,1,"dead";
+ monster "job_cru.gat",29,67,"Khalitzburg",1438,1,"dead";
+ monster "job_cru.gat",32,68,"Requium",1468,1,"dead";
+ monster "job_cru.gat",16,75,"Raydric Archer",1453,1,"dead";
+ monster "job_cru.gat",21,74,"Khalitzburg",1438,1,"dead";
+ monster "job_cru.gat",27,76,"Injustice",1446,1,"dead";
+ monster "job_cru.gat",14,78,"Khalitzburg",1438,1,"dead";
+ monster "job_cru.gat",19,76,"Ghoul",1423,1,"dead";
+ monster "job_cru.gat",24,79,"Requium",1468,1,"dead";
+ monster "job_cru.gat",14,83,"Raydric Archer",1453,1,"dead";
+ monster "job_cru.gat",18,85,"Khalitzburg",1438,1,"dead";
+ monster "job_cru.gat",22,84,"Injustice",1446,1,"dead";
+ monster "job_cru.gat",33,86,"Khalitzburg",1438,1,"dead";
+ monster "job_cru.gat",13,89,"Ghoul",1423,1,"dead";
+ monster "job_cru.gat",17,92,"Injustice",1446,1,"dead";
+ monster "job_cru.gat",23,90,"Khalitzburg",1438,1,"dead";
+ monster "job_cru.gat",26,88,"Ghoul",1423,1,"dead";
+ monster "job_cru.gat",17,97,"Khalitzburg",1438,1,"dead";
+ monster "job_cru.gat",23,100,"Injustice",1446,1,"dead";
+ monster "job_cru.gat",31,101,"Ghoul",1423,1,"dead";
+ monster "job_cru.gat",13,103,"Raydric Archer",1453,1,"dead";
+ monster "job_cru.gat",22,105,"Injustice",1446,1,"dead";
+ monster "job_cru.gat",30,107,"Khalitzburg",1438,1,"dead";
+ disablenpc "Test_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 Exit_1 139,1,1,{
+
+if (@CR_etmp == 0) goto JUMP;
+ set Job_CR,7;
+ enablenpc "Test_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 kill -1,{
+
+ if (@cru2 == 43) goto good;
+
+ set @cru2,@cru2 +1;
+ announce " You killed another monster",3;
+ end;
+
+ good:
+ announce " You killed all monster, you may go to exit",3;
+ end;
+}
+
+
+job_cru.gat,167,175,0 script Test_4 139,1,1,{
+
+ if(Job_CR != 12) goto EXIT;
+ set @CRU2,1;
+ announce "Defeat all the enemies.",3;
+ monster "job_cru.gat",163,42,"Bongun",1188,1,"kill";
+ monster "job_cru.gat",171,66,"Bongun",1188,1,"kill";
+ monster "job_cru.gat",163,89,"Bongun",1188,1,"kill";
+ monster "job_cru.gat",171,115,"Bongun",1188,1,"kill";
+ monster "job_cru.gat",166,141,"Bongun",1188,1,"kill";
+ monster "job_cru.gat",168,166,"Bongun",1188,1,"kill";
+ monster "job_cru.gat",164,170,"Munak",1026,1,"kill";
+ monster "job_cru.gat",173,153,"Munak",1026,1,"kill";
+ monster "job_cru.gat",164,138,"Munak",1026,1,"kill";
+ monster "job_cru.gat",166,128,"Munak",1026,1,"kill";
+ monster "job_cru.gat",171,117,"Munak",1026,1,"kill";
+ monster "job_cru.gat",163,102,"Munak",1026,1,"kill";
+ monster "job_cru.gat",172,84,"Munak",1026,1,"kill";
+ monster "job_cru.gat",162,76,"Munak",1026,1,"kill";
+ monster "job_cru.gat",167,65,"Munak",1026,1,"kill";
+ monster "job_cru.gat",171,58,"Munak",1026,1,"kill";
+ monster "job_cru.gat",162,48,"Munak",1026,1,"kill";
+ monster "job_cru.gat",170,33,"Munak",1026,1,"kill";
+ monster "job_cru.gat",170,26,"Skeleton",1076,1,"kill";
+ monster "job_cru.gat",166,37,"Skeleton",1076,1,"kill";
+ monster "job_cru.gat",171,47,"Skeleton",1076,1,"kill";
+ monster "job_cru.gat",165,61,"Skeleton",1076,1,"kill";
+ monster "job_cru.gat",172,65,"Skeleton",1076,1,"kill";
+ monster "job_cru.gat",163,77,"Skeleton",1076,1,"kill";
+ monster "job_cru.gat",164,86,"Skeleton",1076,1,"kill";
+ monster "job_cru.gat",165,98,"Skeleton",1076,1,"kill";
+ monster "job_cru.gat",170,101,"Skeleton",1076,1,"kill";
+ monster "job_cru.gat",163,110,"Skeleton",1076,1,"kill";
+ monster "job_cru.gat",164,117,"Skeleton",1076,1,"kill";
+ monster "job_cru.gat",166,129,"Skeleton",1076,1,"kill";
+ monster "job_cru.gat",165,139,"Skeleton",1076,1,"kill";
+ monster "job_cru.gat",166,151,"Skeleton",1076,1,"kill";
+ monster "job_cru.gat",168,160,"Skeleton",1076,1,"kill";
+ monster "job_cru.gat",162,169,"Skeleton",1076,1,"kill";
+ monster "job_cru.gat",171,171,"Skeleton",1076,1,"kill";
+ monster "job_cru.gat",162,32,"Zombie",1015,1,"kill";
+ monster "job_cru.gat",165,51,"Zombie",1015,1,"kill";
+ monster "job_cru.gat",172,73,"Zombie",1015,1,"kill";
+ monster "job_cru.gat",170,92,"Zombie",1015,1,"kill";
+ monster "job_cru.gat",173,111,"Zombie",1015,1,"kill";
+ monster "job_cru.gat",170,124,"Zombie",1015,1,"kill";
+ monster "job_cru.gat",171,147,"Zombie",1015,1,"kill";
+ monster "job_cru.gat",163,162,"Zombie",1015,1,"kill";
+ disablenpc "Test_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 Exit4 139,2,2,{
+enablenpc "Test_4";
+warp "prt_in.gat",81,100;
+}
diff --git a/npc/jobs/2-2/noquest/crusader.txt b/npc/jobs/2-2/noquest/crusader.txt new file mode 100644 index 000000000..b977baf71 --- /dev/null +++ b/npc/jobs/2-2/noquest/crusader.txt @@ -0,0 +1,54 @@ +//Crusader NPC for Athena by DiaDz
+//1.1 Added SkillPoint check [Lupus]
+
+//Crusader prt_in 88 103
+prt_in.gat,88,103,3 script Crusader Trainer 752,{
+ if(Class==14) goto crus;
+ if(Class !=1) goto notsword;
+
+ mes "[Crusader Trainer]";
+mes "Welcome Have you come to Join our ranks?.";
+ next;
+ mes "[Crusader Trainer]";
+ mes "How may I be of Service to you?";
+ next;
+ menu "Change Job into a Crusader.",case1,"The Requirements.",case2,"Quit.",case3;
+ case1:
+ if(JobLevel < 40) goto notlvl;
+ mes "[Crusader Trainer]";
+ if(SkillPoint > 0) mes "You need to use up all of your skill points before I can make you a Crusader.";
+ if(SkillPoint > 0) close;
+ mes "Welcome to the Crusaders Guild";
+ jobchange 14;// Job: Job_Crusader
+ close;
+
+ notlvl:
+ mes "[Crusader Trainer]";
+ mes "you need to be at least Job level 40";
+ close;
+
+ case2:
+ mes "[Crusader Trainer]";
+ mes "You need to be a Swordsman of Job Level 40 to become a Crusader";
+ next;
+ mes "[Crusader Trainer]";
+ mes "We are destined to protect all who live in Midgard";
+ close;
+
+ case3:
+ mes "[Crusader Trainer]";
+ mes "Please come again sometime";
+ close;
+
+ crus:
+ mes "[Crusader Trainer]";
+ mes "You are already a Mighty Crusader";
+ mes "May the Blessings of the Gods go with you";
+ close;
+
+ notsword:
+ mes "[Crusader Trainer]";
+ mes "I'm sorry but there is nothing I can help you with.";
+ mes "Only stout Swordsman can follow the holy path in order to become a 'Crusader'.";
+ close;
+}
diff --git a/npc/jobs/2-2/noquest/dancer-bard.txt b/npc/jobs/2-2/noquest/dancer-bard.txt new file mode 100644 index 000000000..352708ac2 --- /dev/null +++ b/npc/jobs/2-2/noquest/dancer-bard.txt @@ -0,0 +1,72 @@ +//Dancer/Bard NPC for Athena by DiaDz
+//No Quests, just npc on location
+//1.1 Added SkillPoint check [Lupus]
+
+//Dancer & Bard - Comodo 189 166 4_F_07
+comodo.gat,189,166,4 script Performance Master 741,{
+ if(Class==19) goto bard;
+ if(Class==20) goto dance;
+ if(Class !=3) goto notarch;
+
+ mes "[Performance Master]";
+ mes "Welcome to Comodo and the Performers Guild.";
+ next;
+ mes "[Performance Master]";
+ mes "What can I do for you , a Song or Dance perhaps?";
+ next;
+ menu "Change Job into a Bard/Dancer.",case1,"The Requirements.",case2,"Quit.",case3;
+ case1:
+ if(JobLevel < 40) goto notlvl;
+ if(sex==1) goto M;
+ mes "[Performance Master]";
+ if(SkillPoint > 0) mes "You need to use up all of your skill points before I can make you a Dancer.";
+ if(SkillPoint > 0) close;
+ mes "Welcome Glorious Dancer";
+ jobchange 20;// Job: Job_Dancer
+ close;
+
+ M:
+ mes "[Performance Master]";
+ if(SkillPoint > 0) mes "You need to use up all of your skill points before I can make you a Bard.";
+ if(SkillPoint > 0) close;
+ mes "Welcome Master Bard";
+ jobchange 19;// Job: Job_Bard
+ close;
+
+ notlvl:
+ mes "[Performance Master]";
+ mes "you need to be at least Job level 40";
+ close;
+
+ case2:
+ mes "[Performance Master]";
+ mes "Archers of Job Level 40 and above may become Dancers or Bards";
+ next;
+ mes "[Performance Master]";
+ mes "Its a Great Time to become a Bard or Dancer they are in Much demand!";
+ mes "You can't miss the perfect chance!";
+ close;
+
+ case3:
+ mes "[Performance Master]";
+ mes "Please come again sometime";
+ close;
+
+ dance:
+ mes "[Performance Master]";
+ mes "You are already a Glorious Dancer.";
+ mes "Roam our world and bring joy and harmony to the masses of Midgard.";
+ close;
+
+ bard:
+ mes "[Performance Master]";
+ mes "You are already a Masterful Bard.";
+ mes "Roam our world and bring joy and harmony to the masses of Midgard.";
+ close;
+
+ notarch:
+ mes "[Performance Master]";
+ mes "I'm sorry but there is nothing I can help you with.";
+ mes "Only Archers are nimble and dexterous enough to be as graceful as a 'Dancer' or 'Bard'.";
+ close;
+}
diff --git a/npc/jobs/2-2/noquest/monk.txt b/npc/jobs/2-2/noquest/monk.txt new file mode 100644 index 000000000..36072dcdd --- /dev/null +++ b/npc/jobs/2-2/noquest/monk.txt @@ -0,0 +1,54 @@ +//Monk NPC for Athena by DiaDz
+//No Quests, just npc on location
+//1.1 Added SkillPoint check [Lupus]
+
+//Monk Job Change Monk_in 99 64 4_M_MONK (new temp 55 cause of error)
+monk_in.gat,99,64,5 script Master Monk 753,{
+ if(Class==15) goto monk;
+ if(Class !=4) goto notaco;
+
+ mes "[Master Monk]";
+ mes "Good Day,This is the Monk's Guild.";
+ next;
+ mes "[Master Monk]";
+ mes "How may I be of Service to you?";
+ next;
+ menu "Change Job into a Monk.",Lcase1,"The Requirements.",Lcase2,"Quit.",Lcase3;
+ Lcase1:
+ if(JobLevel < 40) goto notlvl;
+ mes "[Master Monk]";
+ if(SkillPoint > 0) mes "You need to use up all of your skill points before I can make you a Monk.";
+ if(SkillPoint > 0) close;
+ mes "Your Welcome to Stay here at the Abbey since you are now a Monk.";
+ jobchange 15;// Job: Job_Monk
+ close;
+
+ notlvl:
+ mes "[Master Monk]";
+ mes "you need to be at least Job level 40";
+ close;
+
+ Lcase2:
+ mes "[Master Monk]";
+ mes "You need to be a Acolyte of Job Level 40 to become a Monk";
+ next;
+ mes "[Master Monk]";
+ mes "We Monks are the masters of Hand to Hand Combat";
+ close;
+
+ Lcase3:
+ mes "[Master Monk]";
+ mes "Please come again sometime";
+ close;
+
+ monk:
+ mes "[Master Monk]";
+ mes "You are already a Monk of much Skill and prowess";
+ close;
+
+ notaco:
+ mes "[Master Monk]";
+ mes "I'm sorry but there is nothing I can help you with.";
+ mes "Divine fists can only be forged by Divine Acolytes in order to become a 'Monk'.";
+ close;
+}
diff --git a/npc/jobs/2-2/rogue.txt b/npc/jobs/2-2/rogue.txt new file mode 100644 index 000000000..15f37ba25 --- /dev/null +++ b/npc/jobs/2-2/rogue.txt @@ -0,0 +1,943 @@ +//===== eAthena Script =======================================
+//= Rogue Job Quest
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.0
+//===== 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: =================================
+//= Working.
+//============================================================
+
+
+
+//=======================================================================================================//
+// Markie: Test 1 and Jobchange //
+//***********************************************************************************************************************************************************//
+in_rogue.gat,363,123,3 script Markie 747,{
+
+ mes "[Markie]";
+ if(Class == Job_Thief) goto L_Thief;
+ if(Class == 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;
+ 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 "30",-, "40",sM1_1, "160",sM1_1, "20",sM1_1;
+
+ set @score, @score + 10;
+
+ sM1_1:
+
+ mes "[Markie]";
+ mes "2) Choose a monster that can detect a hidden or cloaked character?";
+ next;
+ menu "Worm Tail",-, "Argos",sM1_2, "Mummy",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 ^5533FFStalk^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 ^5533FFSlyness^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, "Stalk",-, "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]";
+ 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;
+ 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;
+ mes "[Markie]";
+ mes "Tada! Congratulations on becoming a Rogue. You showed a lot of effort and deserve a reward for it......";
+ setlook 7,0;
+ jobchange 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 == 40) 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;
+}
+
+
+
+//=======================================================================================================//
+// Mr. Smith: Tests 2 and 3 //
+//***********************************************************************************************************************************************************//
+in_rogue.gat,376,23,3 script Mr. Smith 57,{
+
+ mes "[Mr. Smith]";
+ if(Class == Job_Thief) goto L_Thief;
+ if(Class == 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 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 "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 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 "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(Class!=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;
+}
+
+
diff --git a/npc/jobs/2-2/sage.txt b/npc/jobs/2-2/sage.txt new file mode 100644 index 000000000..38d128d11 --- /dev/null +++ b/npc/jobs/2-2/sage.txt @@ -0,0 +1,2146 @@ +//===== eAthena Script =======================================
+//= Sage Job Quest
+//===== By: ==================================================
+//= jAthena (1.0) - I guess
+//= Unknown Translator (2.0)
+//= Darkchild (3.0)
+//===== Current Version: =====================================
+//= 3.0
+//===== 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
+//============================================================
+
+//==================================
+//Sage Castle
+//==================================
+yuno_in02.gat,38,61,4 script Magic Academy Headmaster 743,{
+ if (Class == 16) goto L_Menu3_3;
+ if (Class != 2) goto L_Menu2_1;
+ if (job2nd_sage == 11) goto L_Menu3_1;
+ if (job2nd_sage >= 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:
+ jobchange 16;
+ 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 (Class == 16) goto L_Menu3_2;
+ if (Class != 2) goto L_Menu1_1;
+ if (job2nd_sage == 11) goto L_Menu3_1;
+ if (job2nd_sage2 == 8) goto L_Menu2_1;
+ if (job2nd_sage2 == 9) goto L_Menu2_3;
+ if (job2nd_sage2 == 10) goto L_Menu2_5;
+ if (job2nd_sage2 == 11) goto L_ThesisStart1;
+ if (job2nd_sage == 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 job2nd_sage2,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 job2nd_sage2,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 job2nd_sage2,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 job2nd_sage2,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 Rabbit Headband",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 Rabbit Headband.";
+ 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 "Rabbit Headbands 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 "Rabbit Headbands 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 job2nd_sage,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 (Class == 16) goto L_Menu5_4;
+ if (Class != 2) goto L_Menu1_1;
+ if (job2nd_sage == 11) goto L_Menu5_3;
+ if ((job2nd_sage2 >= 1) && (job2nd_sage2 <= 3)) goto L_Menu3_1;
+ if ((job2nd_sage2 >= 4) && (job2nd_sage2 <= 6)) goto L_Menu4_1;
+ if (job2nd_sage2 == 7) goto L_Menu5_1;
+ if (job2nd_sage == 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 job2nd_sage2,1;
+ mes "^3051FD5x Tendons^000000";
+ mes "^3051FD5x Nippers^000000";
+ mes "^3051FD5x Sharp Scales^000000";
+ next;
+ goto L_Menu2_6;
+ L_Menu2_4:
+ set job2nd_sage2,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 job2nd_sage2,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) && (job2nd_sage2 == 1)) goto L_Menu3_4;
+ if ((countitem(966) >= 5) && (countitem(960) >= 5) && (countitem(950) >= 5) && (job2nd_sage2 == 2)) goto L_Menu3_4;
+ if ((countitem(1052) >= 5) && (countitem(962) >= 5) && (countitem(1023) >= 5) && (job2nd_sage2 == 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 (job2nd_sage2 == 2) goto L_Menu3_2;
+ if (job2nd_sage2 == 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_5,"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 Deva",-;
+//==================================
+//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 Penomeni and starfish 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 Penomeni and starfish 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 job2nd_sage2,4;
+ mes "^3051FD5x Cobweb^000000";
+ mes "^3051FD5x Shell^000000";
+ mes "^3051FD5x Insect Feeler^000000";
+ next;
+ goto L_Menu2_6;
+ L_Menu3_10:
+ set job2nd_sage2,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 job2nd_sage2,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) && (job2nd_sage2 == 4)) goto L_Menu4_4;
+ if ((countitem(1057) >= 5) && (countitem(946) >= 5) && (countitem(947) >= 5) && (job2nd_sage2 == 5)) goto L_Menu4_4;
+ if ((countitem(1031) >= 5) && (countitem(955) >= 5) && (countitem(1013) >= 5) && (job2nd_sage2 == 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 (job2nd_sage2 == 5) goto L_Menu4_2;
+ if (job2nd_sage2 == 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 job2nd_sage2,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) && (job2nd_sage2 == 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 job2nd_sage,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,{
+ if (Class == 16) goto L_Menu6_4;
+ if (Class != 2) goto L_Menu1_1;
+ if (job2nd_sage == 11) goto L_Menu6_3;
+ if (job2nd_sage >= 4) goto L_Menu6_2;
+ if (job2nd_sage == 3) goto L_Menu6_1;
+ if (job2nd_sage == 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 and 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 job2nd_sage,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) >= 1) && (countitem(1007) >= 1)) goto L_Menu5_4;
+ if (Zeny < 70000) goto L_Menu5_2;
+ set Zeny,Zeny-70000;
+ set job2nd_sage,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 (job2nd_sage == 3) goto L_Menu5_6;
+ if ((countitem(1006) >= 1) || (countitem(1007) >= 1)) goto L_Menu5_7;
+ if (Zeny < 70000) goto L_Menu5_2;
+ set Zeny,Zeny-70000;
+ set job2nd_sage,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 job2nd_sage,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 (job2nd_sage != 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:
+//==================================
+//mes–¢‰ñŽû
+ if (Zeny < 30000) goto L_Menu5_8;
+ delitem 916,50;
+ delitem 914,50;
+ delitem 705,50;
+ delitem 949,50;
+ set Zeny,Zeny-30000;
+ set job2nd_sage,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 job2nd_sage,3;
+ next;
+ goto L_Menu5_5;
+ L_Menu5_4:
+ delitem 1006,1;
+ delitem 1007,1;
+ set job2nd_sage,3;
+ mes "[Mathias]";
+ mes "Oh, you have the special items.";
+ mes "I'll accept those in lieu of tuition.";
+ next;
+ goto L_Menu5_5;
+ L_Menu5_7:
+ delitem 1006,1;
+ delitem 1007,1;
+ set job2nd_sage,3;
+ mes "[Mathias]";
+ mes "Oh, you have the special items.";
+ mes "I'll accept those 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 (Class == 16) goto L_Menu4_5;
+ if (Class != 2) goto L_Menu1_1;
+ if (job2nd_sage == 5) goto L_Menu2_1;
+ if (job2nd_sage == 6) goto L_Menu2_3;
+ if (job2nd_sage == 7) goto L_Menu3_1;
+ if (job2nd_sage == 8) goto L_Menu4_1;
+ if (job2nd_sage == 9) goto L_Menu4_2;
+ if (job2nd_sage == 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 (job2nd_sage == 3) goto L_Menu1_2;
+ if (job2nd_sage >= 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 job2nd_sage,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 job2nd_sage,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 job2nd_sage,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 (Class == 16) goto L_Menu2_2;
+ if (Class != 2) goto L_Menu1_1;
+ if (job2nd_sage == 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 (Class == 16) goto L_Menu3_4;
+ if (Class != 2) goto L_Menu1_1;
+ if (job2nd_sage == 11) goto L_Menu3_3;
+ if (job2nd_sage >= 6) goto L_Menu3_2;
+ if (job2nd_sage == 3) goto L_Menu1_2;
+ if (job2nd_sage == 4) goto L_Menu2_1;
+ if (job2nd_sage == 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 job2nd_sage,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 Rabbit Headband?";
+ 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 job2nd_sage,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 mapflag nobranch dummy
+job_sage.gat mapflag noteleport dummy
+job_sage.gat mapflag nopenalty dummy
+job_sage.gat mapflag nosave SavePoint
+
+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 job2nd_sage,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;
+}
diff --git a/npc/jobs/custom/jobchange.txt b/npc/jobs/custom/jobchange.txt new file mode 100644 index 000000000..a83a6dcdd --- /dev/null +++ b/npc/jobs/custom/jobchange.txt @@ -0,0 +1,758 @@ +//Jobchanger for Athena by Script&DB Team
+//Added missing param into resetlevel [Lupus]
+
+prontera.gat,160,186,6 script Jobchanger 94,{
+mes "[ ^0065DFJobra^000000 ]";
+mes "Sup? I'm the insanely cool and supra-l337 jobchanger thingy for Athena! First of all, what class would you like to change into (must meet preliminary requirements for each class..)";
+next;
+menu "First Class",LFirstClass,"Second Class (2-1)",LSecondClass,"Second Class (2-2)",LSecondClass2,"Novice High",LNovice2,"Advance First Class",LFirstClass1,"Advance Second Class (2-1-1)",LASecondClass,"Advance Second Class (2-2-1)",LASecondClass2;
+LNovice2:
+ if(class < 7) goto LClass2;
+ if(baselevel<99) goto LReq;
+ if(joblevel<50) goto LReq2;
+ if(SkillPoint != 0) goto Lskillpt;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "So... getting your reborn, eh? Thats cool, we all need a rebirth sometime I guess...";
+ next;
+ jobchange 24;// Job: Job_Novice_High
+ resetlvl(1);
+ close;
+LReq:
+ mes "You need to be level 99";
+ mes "To Be Reborn";
+ close;
+LReq2:
+ mes "You need to be job level 50";
+ mes "To Be Reborn";
+ close;
+LFirstClass:
+ if(class !=0) goto Lnovice;
+ if(joblevel<10) goto Ljobten;
+ if(SkillPoint != 0) goto Lskillpt;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "So... getting your first job, eh? Thats cool, we all need to grow up sometime I guess...";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Pick a job, any job! Bwahaha.........";
+ menu "Swordsman",LSword,"Mage",LMage,"Thief",LThief,"Merchant",LMerc,"Acolyte",LAco,"Archer",LArch,"Cancel",LCancel;
+
+Lnovice:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Ummmm, excuse me... o.O...";
+ mes "You don't LOOK like a novice...";
+ mes "Hey! You're no novice! Get away, punk! *rolls eyes*";
+ mes "Only NOVICES can change into the First Job... jeeze.";
+ cutin "kafra_01",255;
+ close;
+
+LClass2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Ummmm, excuse me... o.O...";
+ mes "You don't MEET the class requirements...";
+ mes "Hey! You're not read! Get away, punk! *rolls eyes*";
+ mes "Only 2nd Classes and Alternate 2nd Classes can change into the Novice High... jeeze.";
+ cutin "kafra_01",255;
+ close;
+
+Ljobten:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Ugh, you need to have at least a Job Level of 10 before changing into the first class... go kill some porings or something.. >.>'";
+ cutin "kafra_01",255;
+ close;
+
+LSword:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Wow, fantastic! Doesn't all that hard work feel like its paid off? *kekeke* I see the ^B70004BLOOD of Porings^000000 on your hands! You truly are fit for the ^0005CESwordsman^000000 job! ^_^";
+ cutin "kafra_01",255;
+ jobchange 1;// Job: Job_Swordman
+ close;
+
+LMage:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Nice, now you can finally wield the power of ^2200DFM^7600F9A^AF00FBN^DA00DFA^000000, your spiritual energy!!!";
+ cutin "kafra_01",255;
+ jobchange 2;// Job: Job_Mage
+ close;
+
+LThief:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Those devious hand of yours really look like they need to grab something (no comment)..... go forth and steal!!";
+ cutin "kafra_01",255;
+ jobchange 6;// Job: Job_Thief
+ close;
+
+LMerc:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Oh yeah, Mr. Moneybags, SOMEBODY here just loves the sound of coins jinglin'...";
+ mes "Well its not me!.. >_>..... <_<... bah.. ";
+ cutin "kafra_01",255;
+ jobchange 5;// Job: Job_Merchant
+ close;
+
+LAco:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Yay.. go read a Bible.. or whatever.. er..yeah";
+ cutin "kafra_01",255;
+ jobchange 4;// Job: Job_Acolyte
+ close;
+
+LArch:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "I used to poke things with a stick when I was a child..";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "I guess you're like me! You hurl pointed sticks at things! Kekeke...";
+ cutin "kafra_01",255;
+ jobchange 3;// Job: Job_Archer
+ close;
+
+LSecondClass:
+ if(SkillPoint != 0) goto Lskillpt;
+ if(joblevel<40) goto Ljobforty;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Nice... you are ready to change into the Second Job! Things get really fun after this!";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "What would you like to be? (Please be the preliminary job)";
+ menu "Knight",LKnight,"Wizard",LWizard,"Hunter",LHunter,"Blacksmith",LBlacksmith,"Assassin",LAssassin,"Priest",LPriest,"Cancel",LCancel;
+
+ Ljobforty:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "You must be at least Job Level 40 before even thinking about changing into the Second Job.";
+ cutin "kafra_01",255;
+ close;
+ LKnight:
+ if(class !=1) goto LNotSword;
+ goto LKnight2;
+
+ LNotSword:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Well... you see, there's a little, teensy-weensy problem with YOU becoming a Knight.";
+ mes "Please be a Swordman before even thinking about 'magically' turning into a Knight... jeeze. *rolls eyes*";
+ cutin "kafra_01",255;
+ close;
+
+ LKnight2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "w00t w00t! You are Job Level 40, you've been a Swordie all your life...";
+ mes "Alrite, you are ready to become the doer of Justice, the embodiment of Heroism, the very soul and life of Valor! ";
+ mes "...";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Yes! You are ready to become... a Knight! ";
+ mes "Go save a Damsel in Distress or something..";
+ cutin "kafra_01",255;
+ jobchange 7;// Job: Job_Knight
+ close;
+
+
+ LHunter:
+ if(class !=3) goto LNotArcher;
+ goto LHun2;
+
+ LNotArcher:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Guess what? ^_^";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "YOU'RE NOT AN ARCHER >_<....";
+ mes "WTF?! Do you really think you can magically turn into a Hunter!? I DONT THINK SO BIYATCH!!! >8-(...";
+ mes "Go away! *grumble grumble*";
+ cutin "kafra_01",255;
+ close;
+
+ LHun2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Oh goodie, you've met all the requirements... did you have fun hurling pointed sticks at monsters? Well guess what?";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Now you can hurl pointed sticks at monsters AND keep them in one place! w00t, yea! Traps are a great thing...";
+ jobchange 11;// Job: Job_Hunter
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "You know what... since I'm just soooo nice... (as long as you dont piss me off *grumble grumble*)";
+ mes "I'm gonna give you a complimentary falcon! Use it well! Oh.. and you might wanna wear a hat, this falcon sometimes, uh... poops..";
+ cutin "kafra_01",255;
+ setfalcon;
+ close;
+
+ LBlacksmith:
+ mes "[ ^0065DFJobra^000000 ]";
+ if(class !=5) goto LNotMerc;
+ goto LBla2;
+
+ LNotMerc:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "No, uh-uh, you are no Merchant! Go away! Only MERCHANTS can change into Blacksmiths!!";
+ mes "Its like the cycle of life or something! Stop trying to disrupt the order of the universe >_<!!";
+ close;
+
+ LBla2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Oooo~~ Goodie goodie gumdrops! You meet allll the requirements! Guess what I'm gonna do ^_^...";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "YUP! You guessed it! I turned you into a Blacksmith! Aren't you PROUD of yourself... Go and make a few weapons! Open up shops across the nation! Yea yea yea! Go go go! w00t! Ho yeah! ";
+ jobchange 10;// Job: Job_Blacksmith
+ close;
+
+ LAssassin:
+ if(class !=6) goto LNotThief;
+ goto LAssass2;
+
+ LNotThief:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes ".... You're not even a thief.. >_>... go away..";
+ close;
+
+
+ LAssass2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Did you know I used to be a male Assassin? Well, I had a few things done to my hair, got a face lift, some implants here and there...";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Oh my, too much information, right? Kekeke, okay, go off and become the most sinister of all Jobs in this world... ^6500BFAssassin...";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Poof! Kekeke... ";
+ jobchange 12;// Job: Job_Assassin
+ close;
+
+ LPriest:
+ if(class !=4) goto LNotAco;
+ goto LPri2;
+
+ LNotAco:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Okay I'm getting tired of this.. you are NOT an Acolyte... I bet you haven't even read the Bible ONCE! You're going to HELL!";
+ close;
+
+ LPri2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "I bet you are GODDAMNED TIRED of NOT having Sp Recovery, right? Well I am tired of hearing little Jesus-Hugging Acolytes scream this every time they're low on Sp... ";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Yay! You've now reached Priesthood! It's sorta like Manhood.. but not really, see with Manhood, you get this little thingy between your legs.. WHOOPs, I am getting so off topic..";
+ jobchange 8;// Job: Job_Priest
+ close;
+
+ LWizard:
+ if(class !=2) goto LNotMage;
+ goto LWiz2;
+
+ LNotMage:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "I bet you've never cast a spell in your life.. go away >_>...";
+ close;
+
+ LWiz2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Weeee, doesn't it feel great to finally become a Wizard? It's like a warm bath.... ahhhhhhh......";
+ jobchange 9;// Job: Job_Wizard
+ close;
+
+LSecondClass2:
+ if(SkillPoint != 0) goto Lskillpt;
+ if(joblevel<40) goto Ljobforty;
+ if(sex==0) goto LFsecond2;
+ if(sex==1) goto LMsecond2;
+
+LFsecond2:
+mes "[ ^0065DFJobra^000000 ]";
+mes "Wow, your ready to become second job already?!";
+next;
+mes "[ ^0065DFJobra^000000 ]";
+mes "Very well then, what would you like to be?";
+menu "Crusader",LCrusader,"Sage",LSage,"Dancer",LDancer,"Alchemist",LAlchemist,"Rogue",LRogue,"Monk",LMonk,"Cancel",LCancel;
+
+LMsecond2:
+mes "[ ^0065DFJobra^000000 ]";
+mes "Wow, your ready to become second job already?!";
+next;
+mes "[ ^0065DFJobra^000000 ]";
+mes "Very well then, what would you like to be?";
+menu "Crusader",LCrusader,"Sage",LSage,"Bard",LBard,"Alchemist",LAlchemist,"Rogue",LRogue,"Monk",LMonk,"Cancel",LCancel;
+
+ LCrusader:
+ if(class !=1) goto LNotSword2;
+ goto LCrus2;
+
+ LNotSword2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Nuh-uh... you ain't no Swordman! Get out of here! Scat!";
+ mes ".......Everybody can't be a Crusader.";
+ close;
+
+ LCrus2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Mmmmm, I always liked Crusaders.. their Broad Shoulders always turned me on....";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Oooo~~~ yeah, thats it... yummy...";
+ jobchange 14;// Job: Job_Crusader
+ close;
+
+
+ LBard:
+ if(class !=3) goto LNotArch3;
+ goto LBard2;
+
+ LNotArch3:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Nope.. you got it wrong bub.. you gotta be an ARCHER before becoming a Bard..";
+ mes "Silly players.. just don't know when to stop...";
+ close;
+
+ LBard2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Yay! Go play some ballads for some Dancers or something, I just can't stand your clothes... ewww.";
+ jobchange 19;// Job: Job_Bard
+ close;
+
+ LDancer:
+ if(class !=3) goto LNotArch2;
+ goto LDanc2;
+
+ LNotArch2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Nope.. you got it wrong girl.. you gotta be an ARCHER before becoming a Dancer..";
+ mes "Silly players.. just don't know when to stop...";
+ close;
+
+ LDanc2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Uh-huh, swivel those hips girl ^_~ Dancers are sooo sexy.. too bad I'm stuck in this ugly Kafra dress.. blah, if only I could strip down to a little thong too... *sigh*";
+ jobchange 20;// Job: Job_Dancer
+ close;
+
+ LAlchemist:
+ mes "[ ^0065DFJobra^000000 ]";
+ if(class !=5) goto LNotMerc2;
+ goto LAlch2;
+
+ LNotMerc2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Ummm... no, you gotta be a Merchant first...";
+ close;
+
+ LAlch2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Cool! Go make some potions! Open a Pharmacy! yeah yeah yeah! ^_^";
+ jobchange 18;// Job: Job_Alchem
+ close;
+
+ LRogue:
+ if(class !=6) goto LNotThief2;
+ goto LRogue2;
+
+ LNotThief2:
+ mes "[ Second Master ]";
+ mes "Look... you gotta be a THIEF before becoming a Rogue..";
+ mes "I know you think they are really cool.. but NO is NO!";
+ close;
+
+ LRogue2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Wow! ^_^ You.. are.. SOOOOO COOOL!! KYAAHH XD!! *drools*";
+ jobchange 17;// Job: Job_Rogue
+ close;
+
+ LMonk:
+ if(class !=4) goto LNotAco2;
+ goto LMonk2;
+
+ LNotAco2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Go read a Bible.. you're not an Acolyte.. and guess what?";
+ mes "YOU GOTTA BE A ACO BEFORE BECOMING A MONK!!! >_<";
+ close;
+
+ LMonk2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Nice.... Monks are pretty darn cool!";
+ jobchange 15;// Job: Job_Monk
+ close;
+
+ LSage:
+ if(class !=2) goto LNotMage2;
+ goto LSage2;
+
+ LNotMage2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Other jobs except `Mage' are not permitted to be Sages.";
+ close;
+
+ LSage2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Ahhhh, soo cool! I'll never get tired of seeing people turn into those new 2-2 sprites.. KYAHH XD!!";
+ mes "Go forth Sage! Show those wizzies what a real mana-wielder can do! Mwahaha...";
+ jobchange 16;// Job: Job_Sage
+ close;
+LFirstClass1:
+ if(class !=4001) goto Lnovice3;
+ if(joblevel<10) goto Ljobten;
+ if(SkillPoint != 0) goto Lskillpt;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "So... getting your first advance job, eh? Thats cool, we all need to advance sometimes I guess...";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Pick a job, any advance job! Bwahaha.........";
+ menu "Swordsman High",LSword2,"Mage High",LMage2,"Thief High",LThief2,"Merchant High",LMerc2,"Acolyte High",LAco2,"Archer High",LArch2,"Cancel",LCancel;
+
+Lnovice3:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Ummmm, excuse me... o.O...";
+ mes "You don't LOOK like a novice high...";
+ mes "Hey! You're no novice high! Get away, punk! *rolls eyes*";
+ mes "Only NOVICE HIGHS can change into the First Advance Job... jeeze.";
+ cutin "kafra_01",255;
+ close;
+
+LSword2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Wow, fantastic! Doesn't all that hard work feel like its paid off? *kekeke* I see the ^B70004BLOOD of Porings^000000 on your hands! You truly are fit for the ^0005CESwordsman^000000 job! ^_^";
+ cutin "kafra_01",255;
+ jobchange 25;// Job: Job_Swordman_High
+ close;
+
+LMage2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Nice, now you can finally wield the power of ^2200DFM^7600F9A^AF00FBN^DA00DFA^000000, your spiritual energy!!!";
+ cutin "kafra_01",255;
+ jobchange 26;// Job: Job_Mage_High
+ close;
+
+LThief2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Those devious hand of yours really look like they need to grab something (no comment)..... go forth and steal!!";
+ cutin "kafra_01",255;
+ jobchange 30;// Job: Job_Thief_High
+ close;
+
+LMerc2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Oh yeah, Mr. Moneybags, SOMEBODY here just loves the sound of coins jinglin'...";
+ mes "Well its not me!.. >_>..... <_<... bah.. ";
+ cutin "kafra_01",255;
+ jobchange 29;// Job: Job_Merchant_High
+ close;
+
+LAco2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Yay.. go read a Bible.. or whatever.. er..yeah";
+ cutin "kafra_01",255;
+ jobchange 28;// Job: Job_Acolyte_High
+ close;
+
+LArch2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "I used to poke things with a stick when I was a child..";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "I guess you're like me! You hurl pointed sticks at things! Kekeke...";
+ cutin "kafra_01",255;
+ jobchange 27;// Job: Job_Archer_High
+ close;
+LASecondClass:
+ if(SkillPoint != 0) goto Lskillpt;
+ if(joblevel<40) goto Ljobforty2;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Nice... you are ready to change into the Second Advance Job! Things get really fun after this!";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "What would you like to be? (Please be the preliminary job)";
+ menu "Lord Knight",L_LordKnight,"High Wizard",LHighWizard,"Sniper",LSniper,"Whitesmith",LWhitesmith,"Assassin Cross",LAssassinCross,"High Priest",LHighPriest,"Cancel",LCancel;
+
+L_LordKnight:
+ if(class !=4002) goto LNotSwordHigh;
+ goto L_LordKnight2;
+
+LNotSwordHigh:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Well... you see, there's a little, teensy-weensy problem with YOU becoming a Lord Knight.";
+ mes "Please be a Swordman High before even thinking about 'magically' turning into a Lord Knight... jeeze. *rolls eyes*";
+ cutin "kafra_01",255;
+ close;
+
+L_LordKnight2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "w00t w00t! You are Job Level 40, you've been a Swordie High all your life...";
+ mes "Alrite, you are ready to become the doer of Justice, the embodiment of Heroism, the very soul and life of Valor! ";
+ mes "...";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Yes! You are ready to become... a Lord Knight! ";
+ mes "Go save a Damsel in Distress or something..";
+ cutin "kafra_01",255;
+ jobchange 31;// Job: Job_Lord_Knight
+ close;
+
+
+LSniper:
+ if(class !=4004) goto LNotArcherHigh;
+ goto LSniper2;
+
+LNotArchHigh:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Guess what? ^_^";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "YOU'RE NOT AN ARCHER HIGH >_<....";
+ mes "WTF?! Do you really think you can magically turn into a Sniper!? I DONT THINK SO BIYATCH!!! >8-(...";
+ mes "Go away! *grumble grumble*";
+ cutin "kafra_01",255;
+ close;
+
+LSniper2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Oh goodie, you've met all the requirements... did you have fun hurling pointed sticks at monsters? Well guess what?";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Now you can hurl pointed sticks at monsters AND keep them in one place! w00t, yea! Traps are a great thing...";
+ jobchange 35;// Job: Job_Sniper
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "You know what... since I'm just soooo nice... (as long as you dont piss me off *grumble grumble*)";
+ mes "I'm gonna give you a complimentary falcon! Use it well! Oh.. and you might wanna wear a hat, this falcon sometimes, uh... poops..";
+ cutin "kafra_01",255;
+ setfalcon;
+ close;
+
+LWhitesmith:
+ mes "[ ^0065DFJobra^000000 ]";
+ if(class !=4006) goto LNotMercHigh;
+ goto LWhite2;
+
+LNotMercHigh:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "No, uh-uh, you are no Merchant! Go away! Only MERCHANTS can change into Blacksmiths!!";
+ mes "Its like the cycle of life or something! Stop trying to disrupt the order of the universe >_<!!";
+ close;
+
+LWhite2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Oooo~~ Goodie goodie gumdrops! You meet all the requirements! Guess what I'm gonna do ^_^...";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "YUP! You guessed it! I turned you into a Whitesmith! Aren't you PROUD of yourself... Go and make a few weapons! Open up shops across the nation! Yea yea yea! Go go go! w00t! Ho yeah! ";
+ jobchange 34;// Job: Job_Whitesmith
+ close;
+
+ LAssassinCross:
+ if(class !=4007) goto LNotThiefHigh;
+ goto LAssassC2;
+
+ LNotThiefHigh:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes ".... You're not even a thief.. >_>... go away..";
+ close;
+
+
+ LAssassC2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Did you know I used to be a male Assassin? Well, I had a few things done to my hair, got a face lift, some implants here and there...";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Oh my, too much information, right? Kekeke, okay, go off and become the most sinister of all Jobs in this world... ^6500BFAssassin...";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Poof! Kekeke... ";
+ jobchange 36;// Job: Job_Assassin_Cross
+ close;
+
+LHighPriest:
+ if(class !=4005) goto LNotAcoHigh;
+ goto LHPri2;
+
+LNotAcoHigh:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Okay I'm getting tired of this.. you are NOT an Acolyte... I bet you haven't even read the Bible ONCE! You're going to HELL!";
+ close;
+
+LHPri2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "I bet you are GODDAMNED TIRED of NOT having Sp Recovery, right? Well I am tired of hearing little Jesus-Hugging Acolytes scream this every time they're low on Sp... ";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Yay! You've now reached Priesthood! It's sorta like Manhood.. but not really, see with Manhood, you get this little thingy between your legs.. WHOOPs, I am getting so off topic..";
+ jobchange 32;// Job: Job_High_Priest
+ close;
+
+LHighWizard:
+ if(class !=4003) goto LNotMageH;
+ goto LHWiz2;
+
+LNotMageH:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "I bet you've never cast a spell in your life.. go away >_>...";
+ close;
+
+LHWiz2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Weeee, doesn't it feel great to finally become a Wizard? It's like a warm bath.... ahhhhhhh......";
+ jobchange 33;// Job: Job_High_Wizard
+ close;
+LASecondClass2:
+ if(SkillPoint != 0) goto Lskillpt;
+ if(joblevel<40) goto Ljobforty2;
+ if(sex==0) goto LAFsecond2;
+ if(sex==1) goto LAMsecond2;
+
+LAFsecond2:
+mes "[ ^0065DFJobra^000000 ]";
+mes "Wow, your ready to become second advance alternate job already?!";
+next;
+mes "[ ^0065DFJobra^000000 ]";
+mes "Very well then, what would you like to be?";
+menu "Paladin",LPaladin,"Professor",LProfessor,"Gypsy",LGypsy,"Creator",LCreator,"Stalker",LStalker,"Champion",LChampion,"Cancel",LCancel;
+
+LAMsecond2:
+mes "[ ^0065DFJobra^000000 ]";
+mes "Wow, your ready to become second advance alternate job already?!";
+next;
+mes "[ ^0065DFJobra^000000 ]";
+mes "Very well then, what would you like to be?";
+menu "Paladin",LPaladin,"Professor",LProfessor,"Clown",LClown,"Creator",LCreator,"Stalker",LStalker,"Champion",LChampion,"Cancel",LCancel;
+
+LPaladin:
+ if(class !=4002) goto LNotSword3;
+ goto LPaladin2;
+
+LNotSword3:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Nuh-uh... you ain't no Swordman! Get out of here! Scat!";
+ mes ".......Everybody can't be a holy servant of God.";
+ close;
+
+LPaladin2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Mmmmm, I always liked Crusaders.. their Broad Shoulders always turned me on....";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Go Forth On Your Mission To Serve God";
+ mes "This Mission is Free of Charge";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "That means your not getting paid dumbass (/gg)";
+ jobchange 38;// Job: Job_Paladin
+ close;
+
+
+LClown:
+ if(class !=4004) goto LNotArch4;
+ goto LBard2;
+
+LNotArch4:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Nope.. you got it wrong bub.. you gotta be an ARCHER before becoming a Bard..";
+ mes "Silly players.. just don't know when to stop...";
+ close;
+
+LClown2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Yay! Go play some ballads for some Dancers or something, I just can't stand your clothes... ewww.";
+ jobchange 43;// Job: Job_Clown
+ close;
+
+LGypsy:
+ if(class !=4004) goto LNotArch5;
+ goto LGypsy2;
+
+ LNotArch5:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Nope.. you got it wrong girl.. you gotta be an ARCHER HIGH before becoming a Gypsy..";
+ mes "Silly players.. just don't know when to stop...";
+ close;
+
+LGypsy2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Uh-huh, swivel those hips girl ^_~ Gypsies are sooo sexy.. too bad I'm stuck in this ugly Kafra dress.. blah, if only I could strip down to a little thong too... *sigh*";
+ jobchange 44;// Job: Job_Gypsy
+ close;
+
+LCreator:
+ mes "[ ^0065DFJobra^000000 ]";
+ if(class !=4006) goto LNotMerc5;
+ goto LCre2;
+
+LNotMerc5:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Ummm... no, you gotta be a Merchant High first...";
+ close;
+
+L:Cre2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Cool! Go make some potions! Open a Pharmacy! yeah yeah yeah! ^_^";
+ jobchange 42;// Job: Job_Creator
+ close;
+
+LStalker:
+ if(class !=4007) goto LNotThiefH2;
+ goto LStalker2;
+
+LNotThiefH2:
+ mes "[ Second Master ]";
+ mes "Look... you gotta be a THIEF HIGH before becoming a Stalker..";
+ mes "I know you think they are really cool.. but NO is NO!";
+ close;
+
+LStalker2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "How goes the stalking lately?";
+ mes "Found Any New Victims?";
+ jobchange 41;// Job: Job_Stalker
+ close;
+
+LChampion:
+ if(class !=4005) goto LNotAco2;
+ goto LChamp2;
+
+LNotAcoH2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Go read a Bible.. you're not an Acolyte High.. and guess what?";
+ mes "YOU GOTTA BE A ACO BEFORE BECOMING A MONK!!! >_<";
+ close;
+
+LChamp2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "You are the Champion of the Weak and Poor.";
+ mes "Wow it must suck being you ^_^!!!";
+ jobchange 39;// Job: Job_Champion
+ close;
+
+LProfessor:
+ if(class !=4003) goto LNotMageH2;
+ goto LSage2;
+
+LNotMageH2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Other jobs except `Mage Highs' are not permitted to be Professors.";
+ close;
+
+LProfessor2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Time for you to teach your first quantum physics class";
+ jobchange 40;// Job: Job_Professor
+ next;
+ mes "OMG YOUR MY COLLEGE PROFESSOR";
+ mes ".... Well Not Really But You Sure DO LOOK like him";
+ close;
+
+Lskillpt:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Please use up all your skill points before changing into the next job! ^_^";
+ cutin "kafra_01",255;
+ close;
+
+Ljobforty2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "You must be at least Job Level 40 before even thinking about changing into the Second Advance Job.";
+ cutin "kafra_01",255;
+ close;
+
+LCancel:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Blah.. be that way.. >_>..";
+ cutin "kafra_01",255;
+ close;
+}
diff --git a/npc/jobs/custom/reset.txt b/npc/jobs/custom/reset.txt new file mode 100644 index 000000000..5caaf6ad2 --- /dev/null +++ b/npc/jobs/custom/reset.txt @@ -0,0 +1,40 @@ +//Reset NPC for Athena by Script&DB Team
+prontera.gat,150,193,4 script Reset Girl 124,{
+ mes "[Reset Girl]";
+ mes "I am a Reset Girl.";
+ mes "Reset Stats: 5,000z";
+ mes "Reset Skills: 5,000z";
+ mes "Reset Both: 9,000z";
+ next;
+ mes "Please select the service you want:";
+ menu "^FF3355Reset Skills",L0,"Reset Stats",L1,"Reset Both^000000",L2,"Quit",LEnd;
+
+ L0:
+ mes "[Reset Girl]";
+ if (Zeny < 5000) goto NeedZenys;
+ mes "Alright, here we go now.. Remember, changes won't take effect until you log back on!";
+ set Zeny,zeny-5000;
+ ResetSkill;
+ close;
+ L1:
+ mes "[Reset Girl]";
+ if (Zeny < 5000) goto NeedZenys;
+ mes "Alright, here we go now.. Remember, changes won't take effect until you log back on!";
+ set Zeny,zeny-5000;
+ ResetStatus;
+ close;
+ L2:
+ mes "[Reset Girl]";
+ if (Zeny < 9000) goto NeedZenys;
+ mes "Alright, here we go now.. Remember, changes won't take effect until you log back on!";
+ set Zeny,zeny-9000;
+ ResetSkill;
+ ResetStatus;
+ close;
+
+ NeedZenys:
+ mes "Sorry, you don't have enough Zeny.";
+ close;
+ LEnd:
+ close;
+}
\ No newline at end of file diff --git a/npc/jobs/novice/novice.txt b/npc/jobs/novice/novice.txt new file mode 100644 index 000000000..4710d6cda --- /dev/null +++ b/npc/jobs/novice/novice.txt @@ -0,0 +1,2338 @@ +//===== 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 sun 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.";
+ Lmenu:
+ 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'.";
+ goto Lmenu;
+
+ 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,56;
+ close;
+ L0a:
+ if (@TEMP != 1) goto L0b;
+ warp "new_1-4.gat",98,56;
+ close;
+ L0b:
+ if (@TEMP != 2) goto L0c;
+ warp "new_1-4.gat",102,56;
+ close;
+ L0c:
+ warp "new_1-4.gat",106,56;
+ 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-5_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/supernovice.txt b/npc/jobs/novice/supernovice.txt new file mode 100644 index 000000000..873025fcd --- /dev/null +++ b/npc/jobs/novice/supernovice.txt @@ -0,0 +1,273 @@ +//===== eAthena Script =======================================
+//= Super Novice Script
+//===== By: ==================================================
+//= Darkchild
+//===== Current Version: =====================================
+//= 1.1
+//===== 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)
+//============================================================
+
+// -- Jobchanger --
+aldeba_in.gat,223,167,3 script Tozel 709,{
+ if(job_snovice == 1) goto L_Start2;
+ if(Class == 23) goto L_Twice;
+ if(Class != 0) 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 job_snovice,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;
+ 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;
+ jobchange 23;
+ delitem 938,30;
+ delitem 907,30;
+ getitem 2339,1;
+ 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.";
+ set job_snovice,2;
+ 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(Class == 23) goto L_Supernovice;
+ if(Class != 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(Class != 23) 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(Zeny < 1900) goto L_Error;
+ set Zeny,Zeny-1900;
+ if(getskilllv(39)==0) goto L_End;
+ 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;
+}
|