//===== eAthena Script =======================================
//= Archer Job Quest
//===== By: ==================================================
//= kobra_k88
//===== Current Version: =====================================
//= 1.6
//===== Compatible With: =====================================
//= eAthena 1.0 +
//===== Description: =========================================
//= <Description>
//===== Additional Comments: =================================
//= Fully working
//= v1.1 Added instant job change for High Novice [Lupus]
//= v1.3 Added Baby Class support [Lupus]
//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller]
//= 1.5 Now saves/restores all quest skills [Lupus]
//= 1.6 Merged back JFunc [Lupus]
//============================================================
// -- Archer Guildsman --
payon_in02.gat,64,71,4 script Archer Guildsman 59,{
callfunc "F_ToHigh",Job_Archer_High,"High Archer",Job_Sniper,"Archer Guildsman";
mes "[Archer Guildsman]";
if(BaseJob == Job_Novice && job_archer_q == 1) goto L_Check;
mes "Good Day. How may I help you?";
next;
menu "I would like to become an Archer.",M_0,"What are the Requirements?",M_1,"Never mind.",M_End;
M_0:
mes "[Archer Guildsman]";
if(BaseJob == Job_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 e_heh;
close;
}
if(BaseJob != Job_Novice) {
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;
}
mes "You have made an excellent 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) {
mes "It seems that you are not qualified to become an Archer yet. Please take a look at the job requirements once more.";
close;
}
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;
M_1:
mes "[Archer Guildsman]";
if(BaseJob == Job_Archer) goto sM_1a;
if(BaseJob != Job_Novice) goto sM_1b;
mes "Let me explain the requirements for becoming an archer to you:";
next;
mes "[Archer Guildsman]";
mes "First of all, you have to have a job level of 9 and you must learn all of the skills that come with that job level.";
next;
mes "[Archer Guildsman]";
mes "Secondly, you will have to take a test that will determine whether or not you have the skills to become an archer.";
next;
mes "[Archer Guildsman]";
mes "Those are the requirements. Fullfill them and you will be able to live life as only an Archer can.";
close;
sM_1a:
mes "Have you already forgotten how you became an Archer?....";
emotion 1;
close;
sM_1b:
mes "Telling you the requirements won't help you become an Archer since you already have another job.";
close;
M_End:
mes "[Archer Guildsman]";
mes "Ok then, take care.";
close;
L_Check:
mes "Oh, I see you've come back.";
next;
mes "[Archer Guildsman]";
if((countitem(1066) == 0) && (countitem(1067) == 0) && (countitem(1068) == 0) && (countitem(1019) == 0)) goto sL_NotRdy;
if(SkillPoint > 0) goto sL_SkPoints;
set @Trunk1, countitem(1066)*5;
set @Trunk2, countitem(1067)*3;
set @Trunk3, countitem(1068)*2;
set @Trunk4, countitem(1019);
set @TrunkTotal, @Trunk1 + @Trunk2 + @Trunk3 + @Trunk4;
mes "Lets see.....";
next;
mes "[Archer Guildsman]";
mes "You have:";
mes "^0000FF" +countitem(1066)+ "^000000 Fine grained trunks for ^ff0000" +@Trunk1+ "^000000 points,";
mes "^0000FF" +countitem(1067)+ "^000000 Solid trunks for ^ff0000" +@Trunk2+ "^000000 points,";
mes "^0000FF" +countitem(1068)+ "^000000 Barren trunks for ^ff0000" +@Trunk3+ "^000000 points,";
mes "^0000FF" +countitem(1019)+ "^000000 Trunks for ^ff0000" +@Trunk4+ "^000000 points.....";
next;
mes "[Archer Guildsman]";
mes "That gives you a total score of: ^ff0000" +@TrunkTotal+"^000000";
next;
mes "[Archer Guildsman]";
if(@TrunkTotal < 25) goto sL_Failed;
mes "Very good! You have passed the test. Congratulations, you are now fully qualified to become an archer.";
emotion 21;
next;
mes "[Archer Guildsman]";
mes "I will now transform you...";
next;
callfunc "Job_Change",Job_Archer;
callfunc "F_ClearJobVar"; // clears all job variables for the current player
mes "[Archer Guildsman]";
mes "In exchange for the trunks you brought in I will give you this Bow and some arrows. Please take them.";
next;
getitem 1702,1;//Items: Bow_,
getitem 1750,200;//Items: Arrow,
delitem 1066, countitem(1066);//Items: Fine-grained_Trunk,
delitem 1067, countitem(1067);//Items: Solid_Trunk,
delitem 1068, countitem(1068);//Items: Barren_Trunk,
delitem 1019, countitem(1019);//Items: Trunk,
mes "[Archer Guildsman]";
mes "An Archer knows no bounds so live your life to its fullest. I know you will make an exellent archer.";
next;
mes "[Archer Guildsman]";
mes "Farewell and good luck on your journey.";
close;
sL_NotRdy:
mes "What? You didn't bring any trunks back for me to grade? Let me explain the test requirements again just in case you forgot...";
emotion 1;
next;
mes "[Archer Guildsman]";
mes "There are a total of ^5555FF4 different kind of Trunks^000000 each with a different point value.";
mes "Gather a variety of Trunks and bring them back here for me to grade.";
next;
mes "[Archer Guildsman]";
mes "You can find Trunks by battling ^0000ff'Willows'^000000, a type of tree monster found outside of town in Payon forest.";
close;
sL_SkPoints:
mes "You need to use up all of your skill points before I can make you an Archer.";
close;
sL_Failed:
mes "I'm sorry but your score is too low. I'm afraid that you have failed the test.";
next;
mes "[Archer Guildsman]";
mes "Fortunatley for you I'm somewhat softhearted so I'll give you another chance. Go gather some more trunks and come back.";
next;
mes "[Archer Guildsman]";
mes "Hopefull they will be of a high enough quality for you to pass the test.";
close;
}