root/npc/jobs/1-1/archer.txt @ 1

Revision 1, 8.9 kB (checked in by jinshiro, 17 years ago)
RevLine 
[1]1//===== eAthena Script =======================================
2//= Archer Job Quest
3//===== By: ==================================================
4//= kobra_k88; L0ne_W0lf
5//===== Current Version: =====================================
6//= 1.7a
7//===== Compatible With: =====================================
8//= eAthena SVN
9//===== Description: =========================================
10//= [Aegis Conversion]
11//= Job quest for Archer classes
12//===== Additional Comments: =================================
13//= Fully working
14//= v1.1 Added instant job change for High Novice [Lupus]
15//= v1.3 Added Baby Class support [Lupus]
16//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller]
17//= 1.5 Now saves/restores all quest skills [Lupus]
18//= 1.6 Merged back JFunc [Lupus]
19//= 1.7 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf]
20//=     Arrow reward is now equal to the type sof trunks brought.
21//=     No longer uses function "F_ToHigh"
22//= 1.7a Fixed minor dialogue bug at Grade==25 [Lupus]
23//============================================================
24
25payon_in02,64,71,4      script  Archer Guildsman#archer 85,{
26        if (Upper == 1) {
27                if (Class == Job_Novice_High && ADVJOB == Job_Sniper || ADVJOB == Job_Clown || ADVJOB == Job_Gypsy) {
28                        mes "[Archer Guildsman]";
29                        mes "Hey, I know you.";
30                        mes "You took this test";
31                        mes "before, didn't you?";
32                        next;
33                        mes "[Archer Guildsman]";
34                        mes "Ah, you must have been";
35                        mes "to Valhalla and been reborn.";
36                        mes "Wow, that's so impressive!";
37                        next;
38                        if (getskilllv("NV_BASIC") < 9) {
39                                mes "[Archer Guildsman]";
40                                mes "Err...";
41                                mes "You'd better learn all the Basic Skills first before you can become an Archer.";
42                                next;
43                                mes "[Archer Guildsman]";
44                                mes "Alright, see you later.";
45                                close;
46                        }
47                        mes "[Archer Guildsman]";
48                        mes "Well then. I don't";
49                        mes "need to say anything else.";
50                        mes "I know you'll make a great Archer...";
51                        next;
52                        skill 143,0,0;
53                        jobchange Job_Archer_high;
54                        skill 147,1,0;
55                        skill 148,1,0;
56                        mes "[Archer Guildsman]";
57                        mes "Although there's no special";
58                        mes "reward for you this time, I hope you understand. Take care of yourself.";
59                        close;
60                }
61                else {
62                        mes "[Archer Guildsman]";
63                        mes "Oh...?";
64                        mes "Hey, what are";
65                        mes "you doing here...?";
66                        next;
67                        mes "[Archer Guildsman]";
68                        mes "I can tell that you're not cut out to be an Archer. It sort of feels like you're meant to do";
69                        mes "something else...";
70                        close;
71                }
72        }
73        mes "[Archer Guildsman]";
74        mes "Good day. How may I help you?";
75        next;
76        switch(select("I want to be an Archer.:I need the requirements, please.:Nothing, thanks.")) {
77        case 1:
78                if (BaseJob == Job_Archer) {
79                        mes "[Archer Guildsman]";
80                        mes "You've already become an Archer...";
81                        close;
82                }
83                else if (BaseJob != Job_Archer && BaseJob != Job_Novice) {
84                        mes "[Archer Guildsman]";
85                        mes "Hmm...";
86                        mes "You don't look much like a Novice at all...";
87                        next;
88                        mes "[Archer Guildsman]";
89                        mes "Anyway, whatever you are, you can't choose a job as an Archer because you have a job already.";
90                        close;
91                }
92                if (job_archer_q == 0) {
93                        mes "[Archer Guildsman]";
94                        mes "Do you want to be an Archer?";
95                        mes "If so, you need to fill out this application form.";
96                        next;
97                        if (select("Apply.:Cancel") == 1) {
98                                set job_archer_q,1;
99                                mes "[Archer Guildsman]";
100                                mes "Okay, sign here. Alright, um, I'll promote you once you meet the requirements.";
101                                next;
102                                mes "[Archer Guildsman]";
103                                mes "If you think you've met them already, we can check that now.";
104                                mes "Are you ready?";
105                                next;
106                                if (select("Yes, I am.:No, not yet.") == 1) {
107                                        mes "[Archer Guildsman]";
108                                        mes "Alright, let me check.";
109                                        next;
110                                }
111                                else {
112                                        mes "[Archer Guildsman]";
113                                        mes "I understand. Be my guest if you want to look at the requirements.";
114                                        close;
115                                }
116                        }
117                        mes "[Archer Guildsman]";
118                        mes "Well, alright.";
119                        mes "See you next time.";
120                        close;
121                }
122                mes "[Archer Guildsman]";
123                mes "Are you..." + strcharinfo(0) + "?";
124                next;
125                if (getskilllv("NV_BASIC") < 9) {
126                        mes "[Archer Guildsman]";
127                        mes "Well, you're not at the right job level. Please check the requirements again.";
128                        next;
129                        mes "[Archer Guildsman]";
130                        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.";
131                        close;
132                }
133                if (job_archer_q == 1) {
134                        set .@archer_item1,countitem(1066) * 5;
135                        set .@archer_item2,countitem(1067) * 3;
136                        set .@archer_item3,countitem(1068) * 2;
137                        set .@archer_item4,countitem(1019);
138                        set .@total_archer,.@archer_item1 + .@archer_item2 + .@archer_item3 + .@archer_item4;
139                        set .@total_archer2,(((.@archer_item2 + .@archer_item3) * 2) + .@archer_item4);
140                        mes "[Archer Guildsman]";
141                        mes "Excellent!";
142                        mes "Now then,";
143                        mes "let's see...";
144                        next;
145                        mes "[Archer Guildsman]";
146                        mes "I will appraise the value of the various types of Trunks, needed to produce a Bow, that you've brought.";
147                        next;
148                        if (countitem(1066) == 0 && countitem(1067) == 0 && countitem(1068) == 0 && countitem(1019) == 0) {
149                                mes "[Archer Guildsman]";
150                                mes "Um...";
151                                mes "Unfortunately you didn't bring any of the required items. There's nothing for me to appraise.";
152                                close;
153                        }
154                        mes "[Archer Guildsman]";
155                        if (countitem(1066) != 0) mes " Grade S : " + countitem(1066) + " ea, Grade: " + .@archer_item1 + " . ";
156                        if (countitem(1067) != 0) mes " Grade A : " + countitem(1067) + " ea, Grade : " + .@archer_item2 + " . ";
157                        if (countitem(1068) != 0) mes " Grade B : " + countitem(1068) + " ea, Grade : " + .@archer_item3 + " . ";
158                        if (countitem(1019) != 0) mes " Grade C : " + countitem(1019) + " ea, Grade : " + .@archer_item4 + " . ";
159                        if (.@total_archer < 25) {
160                                mes "Total Grades: ^FF0000" + .@total_archer + "^000000 / 40";
161                                next;
162                                mes "[Archer Guildsman]";
163                                mes "Less than 25!? You have to get a grade of at least 25! Come on, try harder!";
164                                close;
165                        }
166                        else {
167                                mes "Total Grades: ^0000FF" + .@total_archer + "^000000 / 40";
168                                next;
169                                mes "[Archer Guildsman]";
170                                if (.@total_archer > 40) {
171                                        mes "Wow! More than 40!";
172                                        mes "Excellent! Congratulations!";
173                                }
174                                else if (.@total_archer > 30) {
175                                        mes "More than 30! Nice job!";
176                                        mes "Congratulations!";
177                                }
178                                else {
179                                        mes "*Sigh* Well, you just barely passed... Anyway, well done.";
180                                }
181                        }
182                        next;
183                        mes "[Archer Guildsman]";
184                        mes "I'll transfer these Trunks to our Bow Production Department. Now that you've met the requirements, let me promote you right away!";
185                        if (countitem(1066) != 0) delitem 1066,countitem(1066); //Tree_Of_Archer_1
186                        if (countitem(1067) != 0) delitem 1067,countitem(1067); //Tree_Of_Archer_2
187                        if (countitem(1068) != 0) delitem 1068,countitem(1068); //Tree_Of_Archer_3
188                        if (countitem(1019) != 0) delitem 1019,countitem(1019); //Wooden_Block
189                }
190                next;
191                callfunc "Job_Change",Job_Archer;
192                callfunc "F_ClearJobVar";
193                mes "[Archer Guildsman]";
194                mes "Congratulations!";
195                mes "You are now an Archer!";
196                next;
197                mes "[Archer Guildsman]";
198                mes "Of course, we expect that you will help contribute towards the future of the Archer Guild with your efforts.";
199                next;
200                mes "[Archer Guildsman]";
201                mes "Ah, your bow has arrived from the Bow Production Department. Here, take it! It's yours~";
202                getitem 1702,1; //Bow_
203                getitem 1750,.@total_archer2; //Arrow
204                next;
205                mes "[Archer Guildsman]";
206                mes "Now, off you go. Hunt with pride, knowing you were trained by one of the best!";
207                close;
208        case 2:
209                mes "[Archer Guildsman]";
210                mes "I will explain the requirements for being an Archer.";
211                if (BaseJob != Job_Novice) {
212                        if (BaseJob == Job_Archer) {
213                                next;
214                                mes "[Archer Guildsman]";
215                                mes "But...";
216                                mes "You're already an Archer. You should know these already...";
217                        }
218                        else {
219                                next;
220                                mes "[Archer Guildsman]";
221                                mes "Wait a second. You've chosen a different job already. You don't need to know this~";
222                        }
223                        mes "So...Yeah...no real reason to tell you the requirements...";
224                }
225                next;
226                mes "[Archer Guildsman]";
227                mes "First of all, you have to the Job Level 9 as a Novice, and know all of the Basic Skills.";
228                next;
229                mes "[Archer Guildsman]";
230                mes "An Archer needs extremely high concentration and reflexes, so we do not accept those who have little patience.";
231                next;
232                mes "[Archer Guildsman]";
233                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.";
234                next;
235                mes "[Archer Guildsman]";
236                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.";
237                close;
238        case 3:
239                close;
240        }
241}
242
Note: See TracBrowser for help on using the browser.