diff options
author | daegaladh <daegaladh@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-08-01 04:29:56 +0000 |
---|---|---|
committer | daegaladh <daegaladh@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-08-01 04:29:56 +0000 |
commit | 8832adba3ec9df0f7f890154f69f0993b8d1d8e5 (patch) | |
tree | 0e73afe6a780abf29fe035301f1354f24762da7a /npc/pre-re/jobs/1-1/archer.txt | |
parent | fa533907d49c7e288be33efb55fcb094f8e48591 (diff) | |
download | hercules-8832adba3ec9df0f7f890154f69f0993b8d1d8e5.tar.gz hercules-8832adba3ec9df0f7f890154f69f0993b8d1d8e5.tar.bz2 hercules-8832adba3ec9df0f7f890154f69f0993b8d1d8e5.tar.xz hercules-8832adba3ec9df0f7f890154f69f0993b8d1d8e5.zip |
Full npc folder reorganization. (I hope I didn't break anything D:)
-Now common scripts goes to the main npc folder, and pre-re-only/re-only ones goes to their respective folders.
-NPCs with practically the same script but little differences have been left in the main folder and uses the command checkre() for the differences.
-For those NPCs with different coordinates but same script, the script has been left in the main folder but the NPCs splitted as duplicates.
-All pre-renewal files has been reverted back to their pre-renewal behavior.
TODO:
-Correct pre-re quest rewards.
-Check for pre-re/re differences in mapflags.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16545 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'npc/pre-re/jobs/1-1/archer.txt')
-rw-r--r-- | npc/pre-re/jobs/1-1/archer.txt | 205 |
1 files changed, 161 insertions, 44 deletions
diff --git a/npc/pre-re/jobs/1-1/archer.txt b/npc/pre-re/jobs/1-1/archer.txt index 46325309c..754d874cf 100644 --- a/npc/pre-re/jobs/1-1/archer.txt +++ b/npc/pre-re/jobs/1-1/archer.txt @@ -1,16 +1,29 @@ //===== rAthena Script ======================================= -//= Renewal Archer Job Change +//= Archer Job Quest //===== By: ================================================== -//= Kisuka +//= kobra_k88; L0ne_W0lf //===== Current Version: ===================================== -//= 1.0 +//= 1.9 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= Job Change to Archer Class +//= [Aegis Conversion] +//= Job quest for Archer classes //===== Additional Comments: ================================= -//= 1.0 First Version. [Kisuka] +//= Fully working +//= v1.1 Added instant job change for High Novice [Lupus] +//= v1.3 Added Baby Class support [Lupus] +//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] +//= 1.5 Now saves/restores all quest skills [Lupus] +//= 1.6 Merged back JFunc [Lupus] +//= 1.7 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] +//= Arrow reward is now equal to the type sof trunks brought. +//= No longer uses function "F_ToHigh" +//= 1.7a Fixed minor dialogue bug at Grade==25 [Lupus] +//= 1.8 Fixed mistake in condition check. [L0ne_W0lf] +//= 1.9 Added Quest Log commands. [L0ne_W0lf] //============================================================ + payon_in02,64,71,4 script Archer Guildsman#archer 85,{ if (Upper == 1) { if (Class == Job_Novice_High && (ADVJOB == Job_Sniper || ADVJOB == Job_Clown || ADVJOB == Job_Gypsy)) { @@ -46,7 +59,8 @@ payon_in02,64,71,4 script Archer Guildsman#archer 85,{ mes "Although there's no special"; mes "reward for you this time, I hope you understand. Take care of yourself."; close; - }else{ + } + else { mes "[Archer Guildsman]"; mes "Oh...?"; mes "Hey, what are"; @@ -59,71 +73,174 @@ payon_in02,64,71,4 script Archer Guildsman#archer 85,{ } } mes "[Archer Guildsman]"; - mes "Nice to meet you. How may I help you?"; + mes "Good day. How may I help you?"; next; switch(select("I want to be an Archer.:I need the requirements, please.:Nothing, thanks.")) { case 1: - if(Class != Job_Novice) { + if (BaseJob == Job_Archer) { mes "[Archer Guildsman]"; - if(Class == Job_Archer) { - mes "Haha, you are kidding me.."; - }else{ - mes "I feel sorry but only Novices can change their job."; - mes "You already have your own decent job, don't you?"; - } + mes "You've already become an Archer..."; close; - }else{ + } + else if (BaseJob != Job_Archer && BaseJob != Job_Novice) { mes "[Archer Guildsman]"; - mes "You are... "+strcharinfo(0)+". right?"; + mes "Hmm..."; + mes "You don't look much like a Novice at all..."; next; - if (getskilllv("NV_BASIC") < 9) { + mes "[Archer Guildsman]"; + mes "Anyway, whatever you are, you can't choose a job as an Archer because you have a job already."; + close; + } + if (job_archer_q == 0) { + mes "[Archer Guildsman]"; + mes "Do you want to be an Archer?"; + mes "If so, you need to fill out this application form."; + next; + if (select("Apply.:Cancel") == 1) { + set job_archer_q,1; + setquest 1004; mes "[Archer Guildsman]"; - mes "Well, you're not at the right skill level."; - mes "Your job level must be at least ^4A4AFF10^000000 and your Basic Skill level should reach ^4A4AFFlevel 9"; + mes "Okay, sign here. Alright, um, I'll promote you once you meet the requirements."; next; mes "[Archer Guildsman]"; - mes "Because an Archer needs extremely high concentration, so we do not accept those who have little patience."; - close; + mes "If you think you've met them already, we can check that now."; + mes "Are you ready?"; + next; + if (select("Yes, I am.:No, not yet.") == 1) { + mes "[Archer Guildsman]"; + mes "Alright, let me check."; + next; + } + else { + mes "[Archer Guildsman]"; + mes "I understand. Be my guest if you want to look at the requirements."; + close; + } } mes "[Archer Guildsman]"; - mes "Your Basic Skill is now enough.."; - mes "....Hm~~ so you are now ready to be an Archer. I will take the step right away."; - next; + mes "Well, alright."; + mes "See you next time."; + close; + } + mes "[Archer Guildsman]"; + mes "Are you..." + strcharinfo(0) + "?"; + next; + if (getskilllv("NV_BASIC") < 9) { mes "[Archer Guildsman]"; - mes "Congratulations! You are now an Archer! Also, we hope that you actively participate in many programs for the revival of the Archer Guild."; - mes "Ah, items have arrived from the Production Department. Here, take these! These are all yours!"; - jobchange Job_Archer; - getitem 1742,1; // N_Composite_Bow - getitem 12004,1; // Arrow_Container - getitem 12009,1; // Silver_Arrow_Container - getitem 12008,1; // Fire_Arrow_Container + mes "Well, you're not at the right job level. Please check the requirements again."; next; mes "[Archer Guildsman]"; - mes "Having a bow and arrows, now you became a real Archer."; - mes "If you open the arrow container, there are arrows in it and then you can equip them."; - mes "Well, I expect to hear better news from you. It's time to say goodbye."; - mes "Bye."; + mes "Your job level must be at least 10, and don't forget you should learn all of the Basic Skills. Once you've done that, come back."; close; } + if (job_archer_q == 1) { + set .@archer_item1,countitem(1066) * 5; + set .@archer_item2,countitem(1067) * 3; + set .@archer_item3,countitem(1068) * 2; + set .@archer_item4,countitem(1019); + set .@total_archer,.@archer_item1 + .@archer_item2 + .@archer_item3 + .@archer_item4; + set .@total_archer2,(((.@archer_item2 + .@archer_item3) * 2) + .@archer_item4); + mes "[Archer Guildsman]"; + mes "Excellent!"; + mes "Now then,"; + mes "let's see..."; + next; + mes "[Archer Guildsman]"; + mes "I will appraise the value of the various types of Trunks, needed to produce a Bow, that you've brought."; + next; + if (countitem(1066) == 0 && countitem(1067) == 0 && countitem(1068) == 0 && countitem(1019) == 0) { + mes "[Archer Guildsman]"; + mes "Um..."; + mes "Unfortunately you didn't bring any of the required items. There's nothing for me to appraise."; + close; + } + mes "[Archer Guildsman]"; + if (countitem(1066) != 0) mes " Grade S : " + countitem(1066) + " ea, Grade: " + .@archer_item1 + " . "; + if (countitem(1067) != 0) mes " Grade A : " + countitem(1067) + " ea, Grade : " + .@archer_item2 + " . "; + if (countitem(1068) != 0) mes " Grade B : " + countitem(1068) + " ea, Grade : " + .@archer_item3 + " . "; + if (countitem(1019) != 0) mes " Grade C : " + countitem(1019) + " ea, Grade : " + .@archer_item4 + " . "; + if (.@total_archer < 25) { + mes "Total Grades: ^FF0000" + .@total_archer + "^000000 / 40"; + next; + mes "[Archer Guildsman]"; + mes "Less than 25!? You have to get a grade of at least 25! Come on, try harder!"; + close; + } + else { + mes "Total Grades: ^0000FF" + .@total_archer + "^000000 / 40"; + next; + mes "[Archer Guildsman]"; + if (.@total_archer > 40) { + mes "Wow! More than 40!"; + mes "Excellent! Congratulations!"; + } + else if (.@total_archer > 30) { + mes "More than 30! Nice job!"; + mes "Congratulations!"; + } + else { + mes "*Sigh* Well, you just barely passed... Anyway, well done."; + } + } + next; + mes "[Archer Guildsman]"; + mes "I'll transfer these Trunks to our Bow Production Department. Now that you've met the requirements, let me promote you right away!"; + if (countitem(1066) != 0) delitem 1066,countitem(1066); //Tree_Of_Archer_1 + if (countitem(1067) != 0) delitem 1067,countitem(1067); //Tree_Of_Archer_2 + if (countitem(1068) != 0) delitem 1068,countitem(1068); //Tree_Of_Archer_3 + if (countitem(1019) != 0) delitem 1019,countitem(1019); //Wooden_Block + } + next; + callfunc "Job_Change",Job_Archer; + callfunc "F_ClearJobVar"; + completequest 1004; + mes "[Archer Guildsman]"; + mes "Congratulations!"; + mes "You are now an Archer!"; + next; + mes "[Archer Guildsman]"; + mes "Of course, we expect that you will help contribute towards the future of the Archer Guild with your efforts."; + next; + mes "[Archer Guildsman]"; + mes "Ah, your bow has arrived from the Bow Production Department. Here, take it! It's yours~"; + getitem 1702,1; //Bow_ + getitem 1750,.@total_archer2; //Arrow + next; + mes "[Archer Guildsman]"; + mes "Now, off you go. Hunt with pride, knowing you were trained by one of the best!"; + close; case 2: mes "[Archer Guildsman]"; - mes "An Archer has skills using a bow and has various talents."; - mes "The greatest ability of an Archer is attacking enemies from a long distance."; + mes "I will explain the requirements for being an Archer."; + if (BaseJob != Job_Novice) { + if (BaseJob == Job_Archer) { + next; + mes "[Archer Guildsman]"; + mes "But..."; + mes "You're already an Archer. You should know these already..."; + } + else { + next; + mes "[Archer Guildsman]"; + mes "Wait a second. You've chosen a different job already. You don't need to know this~"; + } + mes "So...Yeah...no real reason to tell you the requirements..."; + } next; mes "[Archer Guildsman]"; - mes "Although an Archer has weaker HP, he or she can shoot enemies at a long range,"; - mes "so an Archer is safer in a real battle."; + mes "First of all, you have to the Job Level 9 as a Novice, and know all of the Basic Skills."; next; mes "[Archer Guildsman]"; - mes "Although an Archer in Ragnarok has lower HP, he or she has high accuracy and attack rate so that the archer can kill monsters before they get close to an Archer."; + mes "An Archer needs extremely high concentration and reflexes, so we do not accept those who have little patience."; next; mes "[Archer Guildsman]"; - mes "^8C2121An Archer can change jobs to a Hunter.^000000"; - mes "^8C2121Other than Hunter, if you are a man, you can change your job to Bard and if you are a woman, you can change your job to Dancer.^000000"; + mes "You also have to gather ^FF0000Trunks^000000. There are 4 different types of Trunks, each of differing quality. You'll be given different grades for your Trunks, depending on their quality."; + next; + mes "[Archer Guildsman]"; + mes "In order to become an Archer, you must receive a grade of at least ^0000FF25^000000 points out of 40. You can get Trunks from 'Willow,' the tree. Be careful, though. They can be tough monsters."; close; case 3: - mes "[Archer Guildsman]"; - mes "If you have any questions, feel free to come and ask me."; close; } } + |