summaryrefslogtreecommitdiff
path: root/npc/pre-re/jobs/1-1/archer.txt
blob: fc8bf42c412ac862f4c1a086f70ef52ddb54f943 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
//================= Hercules Script =======================================
//=       _   _                     _
//=      | | | |                   | |
//=      | |_| | ___ _ __ ___ _   _| | ___  ___
//=      |  _  |/ _ \ '__/ __| | | | |/ _ \/ __|
//=      | | | |  __/ | | (__| |_| | |  __/\__ \
//=      \_| |_/\___|_|  \___|\__,_|_|\___||___/
//================= License ===============================================
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
//= Copyright (C) 2012-2015  Hercules Dev Team
//= Copyright (C)  massdriller
//= Copyright (C)  Lupus
//= Copyright (C)  L0ne_W0lf
//= Copyright (C)  kobra_k88
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
//= the Free Software Foundation, either version 3 of the License, or
//= (at your option) any later version.
//=
//= This program is distributed in the hope that it will be useful,
//= but WITHOUT ANY WARRANTY; without even the implied warranty of
//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//= GNU General Public License for more details.
//=
//= You should have received a copy of the GNU General Public License
//= along with this program.  If not, see <http://www.gnu.org/licenses/>.
//=========================================================================
//= Archer Job Quest (Pre-Renewal)
//================= Description ===========================================
//= Job quest for Archer classes
//================= Current Version =======================================
//= 1.9
//=========================================================================

payon_in02,64,71,4	script	Archer Guildsman#archer	4_M_03,{
	if (Upper == 1) {
		if (Class == Job_Novice_High && (ADVJOB == Job_Sniper || ADVJOB == Job_Clown || ADVJOB == Job_Gypsy)) {
			mes "[Archer Guildsman]";
			mes "Hey, I know you.";
			mes "You took this test";
			mes "before, didn't you?";
			next;
			mes "[Archer Guildsman]";
			mes "Ah, you must have been";
			mes "to Valhalla and been reborn.";
			mes "Wow, that's so impressive!";
			next;
			if (getskilllv("NV_BASIC") < 9) {
				mes "[Archer Guildsman]";
				mes "Err...";
				mes "You'd better learn all the Basic Skills first before you can become an Archer.";
				next;
				mes "[Archer Guildsman]";
				mes "Alright, see you later.";
				close;
			}
			mes "[Archer Guildsman]";
			mes "Well then. I don't";
			mes "need to say anything else.";
			mes "I know you'll make a great Archer...";
			next;
			skill 143,0,0;
			jobchange Job_Archer_High;
			skill 147,1,0;
			skill 148,1,0;
			mes "[Archer Guildsman]";
			mes "Although there's no special";
			mes "reward for you this time, I hope you understand. Take care of yourself.";
			close;
		}
		else {
			mes "[Archer Guildsman]";
			mes "Oh...?";
			mes "Hey, what are";
			mes "you doing here...?";
			next;
			mes "[Archer Guildsman]";
			mes "I can tell that you're not cut out to be an Archer. It sort of feels like you're meant to do";
			mes "something else...";
			close;
		}
	}
	mes "[Archer Guildsman]";
	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 (BaseJob == Job_Archer) {
			mes "[Archer Guildsman]";
			mes "You've already become an Archer...";
			close;
		}
		else if (BaseJob != Job_Archer && BaseJob != Job_Novice) {
			mes "[Archer Guildsman]";
			mes "Hmm...";
			mes "You don't look much like a Novice at all...";
			next;
			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) {
				job_archer_q = 1;
				setquest 1004;
				mes "[Archer Guildsman]";
				mes "Okay, sign here. Alright, um, I'll promote you once you meet the requirements.";
				next;
				mes "[Archer Guildsman]";
				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 "Well, alright.";
			mes "See you next time.";
			close;
		}
		mes "[Archer Guildsman]";
		mes "Are you..." + strcharinfo(PC_NAME) + "?";
		next;
		if (getskilllv("NV_BASIC") < 9) {
			mes "[Archer Guildsman]";
			mes "Well, you're not at the right job level. Please check the requirements again.";
			next;
			mes "[Archer Guildsman]";
			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) {
			.@archer_item1 = countitem(Tree_Of_Archer_1) * 5;
			.@archer_item2 = countitem(Tree_Of_Archer_2) * 3;
			.@archer_item3 = countitem(Tree_Of_Archer_3) * 2;
			.@archer_item4 = countitem(Wooden_Block);
			.@total_archer = .@archer_item1 + .@archer_item2 + .@archer_item3 + .@archer_item4;
			.@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(Tree_Of_Archer_1) == 0 && countitem(Tree_Of_Archer_2) == 0 && countitem(Tree_Of_Archer_3) == 0 && countitem(Wooden_Block) == 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(Tree_Of_Archer_1) != 0) mes " Grade S : " + countitem(Tree_Of_Archer_1) + " ea, Grade: " + .@archer_item1 + " . ";
			if (countitem(Tree_Of_Archer_2) != 0) mes " Grade A : " + countitem(Tree_Of_Archer_2) + " ea, Grade : " + .@archer_item2 + " . ";
			if (countitem(Tree_Of_Archer_3) != 0) mes " Grade B : " + countitem(Tree_Of_Archer_3) + " ea, Grade : " + .@archer_item3 + " . ";
			if (countitem(Wooden_Block) != 0) mes " Grade C : " + countitem(Wooden_Block) + " 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(Tree_Of_Archer_1) != 0) delitem Tree_Of_Archer_1,countitem(Tree_Of_Archer_1);
			if (countitem(Tree_Of_Archer_2) != 0) delitem Tree_Of_Archer_2,countitem(Tree_Of_Archer_2);
			if (countitem(Tree_Of_Archer_3) != 0) delitem Tree_Of_Archer_3,countitem(Tree_Of_Archer_3);
			if (countitem(Wooden_Block) != 0) delitem Wooden_Block,countitem(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 Bow_,1;
		getitem Arrow,.@total_archer2;
		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 "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 "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 "An Archer needs extremely high concentration and reflexes, so we do not accept those who have little patience.";
		next;
		mes "[Archer Guildsman]";
		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:
		close;
	}
}