summaryrefslogtreecommitdiff
path: root/npc/quests/skills/archer_skills.txt
blob: c59aab995e1c0b593c20528a34aeacb1b501cb5c (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
//===== eAthena Script =======================================
//= Archer Skill Quest
//===== By: ==================================================
//= eAthena dev team
//===== Current Version: =====================================
//= 1.4
//===== Compatible With: =====================================
//= eAthena 7.15 +
//===== Description: =========================================
//= Arrow crafting, Arrow Repel skills
//===== Additional Comments: =================================
//= v1.0 Roberto message text is based off RO npc.  Jason message
//= text is custom from old version.
//= All items are from official quests though.[kobra_k88]
//= v1.0a Now using functions found in "Global_Functions.txt"
//= for class checks.[kobra_k88]
//= 1.2 Added Baby Class Support [Lupus]
//= 1.3 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon]
//= 1.4 Fixed exploits [Lupus]
//= 1.4a Fixed some typos [IVBela]
//============================================================



//<======================== Roberto: Arrow crafting =========================>\\
morocc.gat,121,109,5	script	Roberto	88,{
	mes "[Roberto]";
	if (baseClass == Job_Archer) goto L_Start;

L_Other:
	mes "Eh?... First time seeing an archer or something? Why don't you just";
	mes "go about your business and leave me be.  I only talk to high level";
	mes "Archer types........";
	emotion e_what;
	close;
L_Start:
	if (BaseJob==Job_Archer && JobLevel<35) goto L_LowLvl;
	if (getskilllv(147)>0) goto L_GotSkill;
	if (ARWCRFT == 1) goto L_GetSkill;
	mes "Hmmm?.... Oh you seem to be a high level Archer type.  Why don't we";
	mes "converse for a while, eh? Let me start off by talking about my";
	mes "childhood.... . . . . . . . . . . .";
	next;
	mes "[Roberto]";
	mes "When I turned 15, I decided I'd work for a Blacksmith........";
	next;
	mes "[Roberto]";
	mes "............... ~(blah blah blah)~...................";
	next;
	mes "[Roberto]";
	mes ".... man was my Junior Prom a mess...........";
	next;
	mes "[Roberto]";
	mes "..~(blah blah)~........ ~(blah blah)~.........";
	next;
	mes "(many grueling hours later.....)";
	next;
	mes "[Roberto]";
	mes "So that's how I found out how to create all of these different";
	mes "kinds of arrows for myself.  It definitely comes in handy.";
	next;
	mes "[Roberto]";
	mes "Say, would you like me to teach you?  We've had such a nice talk";
	mes "that I feel like can trust you with this knowledge.......";
	next;
	menu "Zzz... Eh!! Uh, Arrows... making... yes, teach.",M_0, "Zzzzz... Eh! Uh... where am I????",M_1;

	M_0:
		mes "[Roberto]";
		mes "Alright then!  In order for me to teach you the art of ^5533FF'Arrow";
		mes "Crafting'^000000, you must first bring me these items:";
		mes "^FF335520 Resin,";
		mes "7 Poison Spores,";
		mes "41 Pointed Scales,";
		mes "13 Trunks,";
		mes "1 Red potion^000000";
		set ARWCRFT, 1;
		emotion e_ic;
		close;
	M_1:
		mes "[Roberto]";
		mes "................................................................";
		emotion e_ag;
		next;
		mes "[Roberto]";
		mes "Let me teach you this special skill.... It's called, my boot up";
		mes "your A........";
		emotion e_pif;
		next;
		mes "!!!!SMACK!!!!";
		percentheal -5,0;
		close;

L_GetSkill:
	if ((countitem(907)<20) || (countitem(7033)<7) || (countitem(906)<41) || (countitem(1019)<13) || (countitem(501)<1)) goto L_NotEnuf;
	delitem 907, 20;
	delitem 7033, 7;
	delitem 906, 41;
	delitem 1019, 13;
	delitem 501, 1;
	mes "You've brought all of the items... very good.  Lets begin.....";
	next;
	mes "~ hands you a very long list of ingredients ~";
	next;
	mes "[Roberto]";
	mes "There you are.  You're all set.";
	next;
	mes ".......................";
	next;
	mes "[Roberto]";
	mes "Hmm?...... What do you mean 'that's it'?....... What else were you";
	mes "expecting...... With that list you will be able to make any kind of";
	mes "arrows you want.......";
	next;
	mes "[Roberto]";
	mes "I hope you didn't expect some kind of elaborate ceremony or some";
	mes "kind of unique and lengthy training.......";
	next;
	skill 147,1,0;
	set ARWCRFT, 0;
	mes "[Roberto]";
	mes "...... Well good luck and have fun making arrows.  I've got other";
	mes "things to do if you don't mind.......";
	close;

	L_NotEnuf:
		mes "You don't have everything I need.";
		next;
		goto M_0;
L_GotSkill:
	mes "Hmmm?.... Sorry but I've got nothing left to teach you.  Just keep";
	mes "on making those arrows..... For us Archer types there can never be";
	mes "too many arrows.....";
	close;
L_LowLvl:
	mes "Hmm?... Do you have something to say to me? Unfortunately I have";
	mes "nothing to say to you.....";
	emotion e_what;
	next;
	mes "[Roberto]";
	mes "It's sad but conversations with people who have ^5533FFlow job levels^000000 such";
	mes "as yourself always seem to end abruptly..... Maybe if you trained a";
	mes "little bit longer we would have more to talk about............";
	close;
}


//<============================== Arrow Repel ===============================>\\
payon.gat,103,63,5	script	Jason	88,{
	mes "[Jason]";
	if (baseClass == Job_Archer) goto L_Start;

L_Other:
	mes "What does life need from a lonely lad like me?";
	close;
L_Start:
	if (getskilllv(148)>0) goto L_GotSkill;
	if (BaseJob == Job_Archer && JobLevel < 35) goto L_LowLvl;
	if (ARWREP == 1) goto L_Check;
	mes "Hi, I'm the master of the skill ^0033FFArrow Repel^000000. I might be able to";
	mes "teach you the skill, but only if you help me get the ingredients";
	mes "for my Grandma's soup.";
	next;
	mes "[Jason]";
	mes "Arrow Repel allows you to use your arrows to repel, push back, an";
	mes "enemy and keep them at a distance.  This is a great skill for us";
	mes "Archer types.";
	next;

	L_List:
	mes "[Jason]";
	mes "I need the following:";
	mes "- 2 ^FF0000Emeralds^000000";
	mes "- 3 ^FF0000Yoyo tails^000000";
	mes "- 10 ^FF0000Tentacles^000000";
	mes "- 10 ^FF0000Bill of birds^000000";
	mes "- 36 ^FF0000Banana Juices^000000";
	next;
	mes "[Jason]";
	mes "Hurry hurry!";
	set ARWREP, 1;
	close;

L_LowLvl:
	mes "Oh I think you're a bit inexperienced to learn anything from me,";
	mes "come back later!  Maybe around ^5533FFjob level 35^000000 or so.....";
	close;

L_Check:
	if ((countitem(721)<2) || (countitem(942)<3) || (countitem(962)<10) || (countitem(925)<10) || (countitem(532)<36)) goto L_NotEnuf;
	delitem 721,2;
	delitem 942,3;
	delitem 962,10;
	delitem 925,10;
	delitem 532,36;
	mes "OH! Marvelous you brought me all the ingredients!";
	mes "Now it'll be my pleasure to teach you the skill ^0033FFArrow Repel^000000";
	next;
	skill 148,1,0;
	set ARWREP, 0;
	mes "[Jason]";
	mes "There you go! Happy hunting in the future.";
	close;

	L_NotEnuf:
		mes "You don't have everything I need.";
		next;
		goto L_List;
L_GotSkill:
	mes "Hey! It's you again? I'm afraid I've taught you everything I know.";
	close;
}