1 | //===== eAthena Script ======================================= |
---|
2 | //= Swordsman Job Quest |
---|
3 | //===== By: ================================================== |
---|
4 | //= kobra_k88; L0ne_W0lf |
---|
5 | //===== Current Version: ===================================== |
---|
6 | //= 2.0 |
---|
7 | //===== Compatible With: ===================================== |
---|
8 | //= eAthena SVN |
---|
9 | //===== Description: ========================================= |
---|
10 | //= [Aegis Conversion] |
---|
11 | //= Job quest for Swordman classes |
---|
12 | //= Uses Job_sword1 as opposed to sword_1-1 -> sword_3-1. |
---|
13 | //= EXPLOITABLE in a sense because while the sword_x-1 maps |
---|
14 | //= are marked as "inside" by the client, job_sword1 is not. |
---|
15 | //= giving players FREE camera rotation while doing the job quest. |
---|
16 | //===== Additional Comments: ================================= |
---|
17 | //= Fully working. I have created a custom warp to get into the test room so disable |
---|
18 | //= the one in your warp script or scripts. It is this warp: "izlude_in",40,170. |
---|
19 | //= 1.1 Added instant job change for High Novice [Lupus] |
---|
20 | //= 1.3 Added Baby Class support [Lupus] |
---|
21 | //= 1.4 Changed the timing system to initnpctimer, now you do get warnings about time |
---|
22 | //= and are limited to 7min to complete the quest [Fredzilla] |
---|
23 | //= 1.5 Optimised and moved first checker to Jfunc1-1 [massdriller] |
---|
24 | //= 1.5.1 Fixed possible EXP abuse [Lupus] |
---|
25 | //= 1.5.2 Now saves/restores all quest skills [Lupus] |
---|
26 | //= 1.5.3 Removed Duplicates [Silent] |
---|
27 | //= 1.6 Merged back JFunc, CHANGED NUMBERS TO CONSTANTS [Lupus] |
---|
28 | //= 1.7 changed location from its clone to the original [Lupus] |
---|
29 | //= 1.7.1 Fixed warp on timeout [KarLaeda] |
---|
30 | //= 1.8 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] |
---|
31 | //= Removed "green" traps, quest is no longer timed. |
---|
32 | //= No longer uses function "F_ToHigh" |
---|
33 | //= 1.9 Dialog is official, but the Script is now custom as far as maps go. [L0ne_W0lf] |
---|
34 | //= 1.9b Fixed usage of wrong jobchange func messing up baby classes [ultramage] |
---|
35 | //= 2.0 Corrected NPC names to fall within proper resctrictions. [L0ne_W0lf] |
---|
36 | //============================================================ |
---|
37 | |
---|
38 | izlude_in,74,172,4 script Swordman#swd_1 119,{ |
---|
39 | if (Upper == 1) { |
---|
40 | if (Class == Job_Novice_High && ADVJOB == Job_Lord_Knight || ADVJOB == Job_Paladin) { |
---|
41 | mes "[Swordman]"; |
---|
42 | mes "It..."; |
---|
43 | mes "Can't be..."; |
---|
44 | mes "You've been reborn, haven't you?"; |
---|
45 | next; |
---|
46 | mes "[Swordman]"; |
---|
47 | mes "I see you're retreading the path of the Swordman! Once you've gotten used to brandishing a sword, you can never go back!!"; |
---|
48 | next; |
---|
49 | if (getskilllv("NV_BASIC") < 9) { |
---|
50 | mes "[Swordman]"; |
---|
51 | mes "Hmm? Ah, you must first master the Basic Skills before you are ready to become a Swordman."; |
---|
52 | next; |
---|
53 | mes "[Swordman]"; |
---|
54 | mes "Come back to me when you have finished learning the Basic Novice Skills."; |
---|
55 | close; |
---|
56 | } |
---|
57 | mes "[Swordman]"; |
---|
58 | mes "Excellent! Let me promote you to a Swordman right away!"; |
---|
59 | next; |
---|
60 | skill 143,0,0; |
---|
61 | jobchange Job_Swordman_High; |
---|
62 | skill 144,1,0; |
---|
63 | skill 145,1,0; |
---|
64 | skill 146,1,0; |
---|
65 | mes "[Swordman]"; |
---|
66 | mes "Hmm... You look like a well-experienced Swordman. Still, I'm sure that you must train to improve your skills and gain strength!"; |
---|
67 | close; |
---|
68 | } |
---|
69 | else { |
---|
70 | mes "[Swordman]"; |
---|
71 | mes "Hm...?"; |
---|
72 | mes "You're a reborn"; |
---|
73 | mes "warrior, aren't you?"; |
---|
74 | next; |
---|
75 | mes "[Swordman]"; |
---|
76 | mes "Hmmm..."; |
---|
77 | mes "It seems that being"; |
---|
78 | mes "a Swordman is not part"; |
---|
79 | mes "of your destiny. I'm sorry,"; |
---|
80 | mes "but it seems there is nothing"; |
---|
81 | mes "I can do for you."; |
---|
82 | close; |
---|
83 | } |
---|
84 | } |
---|
85 | mes "[Swordman]"; |
---|
86 | mes "Welcome to the"; |
---|
87 | mes "Swordman Association!"; |
---|
88 | next; |
---|
89 | mes "[Swordman]"; |
---|
90 | mes "So..."; |
---|
91 | mes "What business"; |
---|
92 | mes "brings you to us?"; |
---|
93 | next; |
---|
94 | switch(select("Job Change:About Swordman.:About the Job requirements.:Cancel.")) { |
---|
95 | case 1: |
---|
96 | if (BaseJob == Job_Swordman) { |
---|
97 | mes "[Swordman]"; |
---|
98 | mes "Job change? Muhahaha! But you're already a Swordman! Be proud and be strong!"; |
---|
99 | close; |
---|
100 | } |
---|
101 | else if (BaseJob != Job_Novice) { |
---|
102 | mes "[Swordman]"; |
---|
103 | mes "Haha! Oh boy. I'm flattered, but you already have another job! Still, I can't blame you..."; |
---|
104 | close; |
---|
105 | } |
---|
106 | if (job_sword_q == 0) { |
---|
107 | mes "[Swordman]"; |
---|
108 | mes "So you wish to become a proud Swordman? By all means, please sign up!"; |
---|
109 | next; |
---|
110 | if (select("Sign up.:Cancel.") == 1) { |
---|
111 | savepoint "izlude_in",65,165; |
---|
112 | set job_sword_q,1; |
---|
113 | mes "[Swordman]"; |
---|
114 | mes "Ah, yes. Your application will be reviewed as soon as possible."; |
---|
115 | next; |
---|
116 | mes "[Swordman]"; |
---|
117 | mes "If you have already met the requirements, you can take an interview right now. Would you like to?"; |
---|
118 | next; |
---|
119 | if (select("Yes.:No.") == 1) { |
---|
120 | mes "[Swordman]"; |
---|
121 | mes "Good, good."; |
---|
122 | mes "Now, let's see..."; |
---|
123 | next; |
---|
124 | } |
---|
125 | else { |
---|
126 | mes "[Swordman]"; |
---|
127 | mes "Alright then. Feel free to come back whenever you are ready. All you ahve to do now is meet our requirements. Good luck to you."; |
---|
128 | close; |
---|
129 | } |
---|
130 | } |
---|
131 | else { |
---|
132 | mes "[Swordman]"; |
---|
133 | mes "Hm? Alright, come back whenever you change your mind. The world can always use another Swordman!"; |
---|
134 | close; |
---|
135 | } |
---|
136 | } |
---|
137 | mes "[Swordman]"; |
---|
138 | if (getskilllv("NV_BASIC") < 9) { |
---|
139 | mes "Hm, you still haven't learned all of the Basic Skills. You need to do that before you can become a Swordman."; |
---|
140 | next; |
---|
141 | mes "[Swordman]"; |
---|
142 | mes "Check the requirements for job change again, and come back when you are ready."; |
---|
143 | close; |
---|
144 | } |
---|
145 | else if (job_sword_q <= 3) { |
---|
146 | mes "Hm, you've learned all of the Basic Skills but didn't take the test yet. You must first pass the exam before you can change your job to Swordman."; |
---|
147 | next; |
---|
148 | mes "[Swordman]"; |
---|
149 | mes "Enter the room to my right so that you can take the test. You'll need to speak to my right so you can enter the examination area."; |
---|
150 | close; |
---|
151 | } |
---|
152 | else if (job_sword_q == 4) { |
---|
153 | mes "Hahaha! Congratulations! Now you are fully qualified to be a real Swordman! I will transform you right away!"; |
---|
154 | next; |
---|
155 | callfunc "Job_Change",Job_Swordman; |
---|
156 | set job_sword_q,0; |
---|
157 | mes "[Swordman]"; |
---|
158 | mes "Once again, congratulations. I expect that you will be a good representative of the Swordman Association."; |
---|
159 | close; |
---|
160 | } |
---|
161 | case 2: |
---|
162 | mes "[Swordman]"; |
---|
163 | mes "So you wish to know more about the mighty Swordman job? Well, then..."; |
---|
164 | next; |
---|
165 | mes "[Swordman]"; |
---|
166 | mes "Amongst the First Class jobs, the Swordman is the best melee fighter for three reasons."; |
---|
167 | mes "There are 3 reasons why Swordy is the best to approch a fight!"; |
---|
168 | next; |
---|
169 | mes "[Swordman]"; |
---|
170 | mes "First, Swordman has the benefit of additional HP. Second, Swordman generally have access to a wider selection fo weapons than the other First Class jobs."; |
---|
171 | next; |
---|
172 | mes "[Swordman]"; |
---|
173 | mes "And third, most of the Swordman skills are crushing physical attacks! In my opinion, being a Swordman is the best job ever!"; |
---|
174 | close; |
---|
175 | case 3: |
---|
176 | mes "[Swordman]"; |
---|
177 | mes "Hmmm..."; |
---|
178 | if (BaseJob != Job_Novice) { |
---|
179 | if (BaseJob == Job_Swordman) |
---|
180 | mes "But there's no need to tell you the requirements. You've met them and already became a Swordman! Well, anyway..."; |
---|
181 | else |
---|
182 | mes "It's too late for you to become a Swordman. You already have another job. Still, there's no harm in telling you..."; |
---|
183 | } |
---|
184 | next; |
---|
185 | mes "[Swordman]"; |
---|
186 | mes "First, you must learn all 9 of the Basic Skills. If you can't complete this requirement, you won't be able to change to any job."; |
---|
187 | next; |
---|
188 | mes "[Swordman]"; |
---|
189 | mes "Second, you must pass the Swordman Test. Inquire the Test Manager located in the waiting room of the Swordman Test."; |
---|
190 | next; |
---|
191 | mes "[Swordman]"; |
---|
192 | mes "If you can complete these 2 requirements, you can change to a Swordman anytime you want."; |
---|
193 | close; |
---|
194 | case 4: |
---|
195 | mes "[Swordman]"; |
---|
196 | mes "Ha ha ha!"; |
---|
197 | mes "Ah, youth!"; |
---|
198 | close; |
---|
199 | } |
---|
200 | } |
---|
201 | |
---|
202 | izlude_in,62,170,6 script Swordman#swd_2 85,{ |
---|
203 | mes "[Swordman]"; |
---|
204 | if (BaseJob == Job_Swordman) { |
---|
205 | mes "Sorry guy, but I can only allow Novices to enter the Test Hall."; |
---|
206 | close; |
---|
207 | } |
---|
208 | else if (BaseJob != Job_Novice) { |
---|
209 | mes "Who the hell are you?! Nobody, other than Novices, is permitted to come in here!"; |
---|
210 | close; |
---|
211 | } |
---|
212 | else if (getskilllv("NV_BASIC") < 9) { |
---|
213 | mes "Stop! I can't let you in until you learn all of the Basic Skills. The Test Hall isn't for goofing off!"; |
---|
214 | close; |
---|
215 | } |
---|
216 | else if (job_sword_q == 4) { |
---|
217 | mes "Hey. You need to talk to the Swordman in the center of the room, not me."; |
---|
218 | close; |
---|
219 | } |
---|
220 | else if (job_sword_q == 0) { |
---|
221 | mes "Stop! If you want to take the Swordman Test, you'll need to fill out an application first."; |
---|
222 | next; |
---|
223 | mes "[Swordman]"; |
---|
224 | mes "The Swordman in the center of the room can help you with that, got it?"; |
---|
225 | close; |
---|
226 | } |
---|
227 | else { |
---|
228 | savepoint "izlude_in",65,165; |
---|
229 | warp "izlude_in",39,170; |
---|
230 | end; |
---|
231 | } |
---|
232 | } |
---|
233 | |
---|
234 | izlude_in,30,175,4 script Swordman#swd_3 92,{ |
---|
235 | mes "[Swordman]"; |
---|
236 | mes "I will tell you about the Test! Listen carefully, I won't repeat myself."; |
---|
237 | next; |
---|
238 | mes "[Swordman]"; |
---|
239 | mes "The purpose of this test is to confirm whether or not you are qualified to be a Swordman. As you know, a Swordman needs physical strength and spirit!"; |
---|
240 | next; |
---|
241 | mes "[Swordman]"; |
---|
242 | mes "Without those, you won't be able to become a Swordman. Now, the conditions for completing this test are very simple."; |
---|
243 | next; |
---|
244 | mes "[Swordman]"; |
---|
245 | mes "You will travel through three courses and must reach the final checkpoint within ^FF000010 minutes^000000."; |
---|
246 | next; |
---|
247 | mes "[Swordman]"; |
---|
248 | mes "If you choose to 'Surrender,' or if you run out of time, you will not pass the test."; |
---|
249 | next; |
---|
250 | mes "[Swordman]"; |
---|
251 | mes "If you find that you are not strong enough to pass the test, head to the entrance of the course and talk to the checkpoint manager."; |
---|
252 | next; |
---|
253 | mes "[Swordman]"; |
---|
254 | mes "As you travel through the three courses, you may fall to a random, underground area. The course is designed so that you can still find your way back."; |
---|
255 | next; |
---|
256 | mes "[Swordman]"; |
---|
257 | mes "However, be careful, as this will waste your time! Godspeed to you."; |
---|
258 | close; |
---|
259 | } |
---|
260 | |
---|
261 | izlude_in,30,163,0 script Test Hall Staff#swd_1 105,{ |
---|
262 | mes "[Test Hall Staff]"; |
---|
263 | if (BaseJob == Job_Swordman) { |
---|
264 | mes "Hm? How did you get inside? You're not supposed to be in here, so please leave now."; |
---|
265 | close2; |
---|
266 | warp "izlude_in",66,170; |
---|
267 | end; |
---|
268 | } |
---|
269 | else if (BaseJob != Job_Novice) { |
---|
270 | mes "Who are you?! This place is for the Swordman Test! You're not allowed to be in here! Leave now!"; |
---|
271 | close2; |
---|
272 | warp "izlude_in",66,170; |
---|
273 | end; |
---|
274 | } |
---|
275 | if (job_sword_q == 1) { |
---|
276 | mes "So are you the one who wants to be a Swordman? Alright! You look reliable!"; |
---|
277 | next; |
---|
278 | mes "[Test Hall Staff]"; |
---|
279 | mes "Try to relax and do your best. This course isn't so difficult."; |
---|
280 | set job_sword_q,2; |
---|
281 | } |
---|
282 | else if (job_sword_q == 2) { |
---|
283 | mes "Retesting? Try not to worry about it. It's good that you don't back down from a challenge! Here, take these and cheer up!"; |
---|
284 | getitem 512,5; //Apple |
---|
285 | set job_sword_q,3; |
---|
286 | } |
---|
287 | else if (job_sword_q == 3) |
---|
288 | mes "Don't ever give up! Now retesting!"; |
---|
289 | close2; |
---|
290 | warp "job_sword1",10,245; |
---|
291 | end; |
---|
292 | } |
---|
293 | |
---|
294 | // Examination Courses NPCs |
---|
295 | //============================================================ |
---|
296 | // 1-1 |
---|
297 | job_sword1,230,245,2 script Medic#swd_1 105,{ |
---|
298 | callfunc "F_JobSwdMedic","1st"; |
---|
299 | } |
---|
300 | job_sword1,230,242,2 script Test Hall Staff#swd_2 105,{ |
---|
301 | callfunc "F_JobSwdStaff",1; |
---|
302 | } |
---|
303 | job_sword1,230,207,2 script Medic#2swd_2 105,{ |
---|
304 | callfunc "F_JobSwdMedic","2nd"; |
---|
305 | } |
---|
306 | job_sword1,230,204,2 script Test Hall Staff#2swd_3 105,{ |
---|
307 | callfunc "F_JobSwdStaff",1; |
---|
308 | } |
---|
309 | job_sword1,223,167,2 script Mae#swd_1_success 92,{ |
---|
310 | mapannounce "job_sword1","Applicant " + strcharinfo(0) + ". You successfully passed the test.",bc_map; |
---|
311 | set job_sword_q,4; |
---|
312 | mes "[Mae]"; |
---|
313 | mes "I sencerely congratulate you for passing the test!"; |
---|
314 | mes "I already sent your test result to the Job Department.Please inquire at the Officer in Centre.Thank you."; |
---|
315 | close2; |
---|
316 | warp "izlude_in",66,173; |
---|
317 | end; |
---|
318 | } |
---|
319 | |
---|
320 | // Examination Course Functions |
---|
321 | //============================================================ |
---|
322 | function script F_JobSwdMedic { |
---|
323 | percentheal 100,0; |
---|
324 | mes "[Medic]"; |
---|
325 | mes "This is the "+getarg(0)+" check point!Cheer up!"; |
---|
326 | close; |
---|
327 | } |
---|
328 | |
---|
329 | function script F_JobSwdStaff { |
---|
330 | mes "[Test Hall Staff]"; |
---|
331 | mes "Do you surrender?"; |
---|
332 | next; |
---|
333 | if (select("Yes.:No.") == 1) { |
---|
334 | mapannounce "job_sword1","Applicant " + strcharinfo(0) + " quit the test.",bc_map; |
---|
335 | warp "izlude_in",65,165; |
---|
336 | end; |
---|
337 | } |
---|
338 | mes "[Test Hall Staff]"; |
---|
339 | mes "Bravo! Go for it again!"; |
---|
340 | close; |
---|
341 | } |
---|
342 | |
---|
343 | function script F_JobSwdTestStaff { |
---|
344 | OnTouch: |
---|
345 | mes "[Test Hall Staff]"; |
---|
346 | mes "Applicant " + strcharinfo(0) + ". Do you surrender??"; |
---|
347 | next; |
---|
348 | if (select("Yes.:No.") == 1) { |
---|
349 | mapannounce "job_sword1","Applicant " + strcharinfo(0) + " quit the test..",bc_map; |
---|
350 | warp "izlude_in",65,165; |
---|
351 | end; |
---|
352 | } |
---|
353 | warp "job_sword1",getarg(0),getarg(1); |
---|
354 | end; |
---|
355 | } |
---|
356 | |
---|
357 | function script F_JobSwdTestStaff2 { |
---|
358 | OnTouch: |
---|
359 | mapannounce "job_sword1","Applicant " + strcharinfo(0) + ". Pass the "+getarg(0)+" course.",bc_map; |
---|
360 | warp "job_sword1",getarg(1),getarg(2); |
---|
361 | end; |
---|
362 | } |
---|
363 | |
---|
364 | // Examination Course 1 |
---|
365 | //============================================================ |
---|
366 | job_sword1,223,243,0 warp checkp1-2#swd_1 1,1,job_sword1,11,206; |
---|
367 | job_sword1,223,205,0 warp checkp2-3#swd_1 1,1,job_sword1,11,168; |
---|
368 | |
---|
369 | job_sword1,7,245,0 script Test Hall Staff#swd_4 45,1,3,{ |
---|
370 | callfunc "F_JobSwdTestStaff",10,245; |
---|
371 | } |
---|
372 | |
---|
373 | job_sword1,8,207,0 script Test Hall Staff#swd_5 45,1,6,{ |
---|
374 | callfunc "F_JobSwdTestStaff",11,207; |
---|
375 | } |
---|
376 | |
---|
377 | job_sword1,8,169,0 script Test Hall Staff#swd_6 45,1,6,{ |
---|
378 | callfunc "F_JobSwdTestStaff",11,169; |
---|
379 | } |
---|
380 | |
---|
381 | job_sword1,192,244,0 script Test Hall Staff#swd_7 45,1,3,{ |
---|
382 | callfunc "F_JobSwdTestStaff2","1st",215,244; |
---|
383 | } |
---|
384 | |
---|
385 | job_sword1,193,207,0 script Test Hall Staff#swd_8 45,1,3,{ |
---|
386 | callfunc "F_JobSwdTestStaff2","2nd",215,205; |
---|
387 | warp "job_sword1",215,205; |
---|
388 | } |
---|
389 | |
---|
390 | job_sword1,193,168,0 script Test Hall Staff#swd_9 45,1,3,{ |
---|
391 | callfunc "F_JobSwdTestStaff2","3rd",215,167; |
---|
392 | } |
---|
393 | |
---|
394 | // Pitfalls (Set 1) |
---|
395 | //============================================================ |
---|
396 | job_sword1,65,117,0 warp ÇÔÁ€01-01 1,1,job_sword1,10,245; |
---|
397 | job_sword1,98,27,0 warp ÇÔÁ€02-01 1,1,job_sword1,11,207; |
---|
398 | job_sword1,161,27,0 warp ÇÔÁ€02-02 1,1,job_sword1,11,207; |
---|
399 | job_sword1,239,117,0 warp ÇÔÁ€03-01 1,1,job_sword1,11,169; |
---|
400 | |
---|
401 | job_sword1,16,251,0 script 1_blank_1_a::SwdTrap1 -1,0,1,{ |
---|
402 | OnTouch: |
---|
403 | switch(rand(1,5)) { |
---|
404 | case 1: warp "job_sword1",65,56; end; |
---|
405 | case 2: warp "job_sword1",29,26; end; |
---|
406 | case 3: warp "job_sword1",43,16; end; |
---|
407 | case 4: warp "job_sword1",23,112; end; |
---|
408 | case 5: warp "job_sword1",58,83; end; |
---|
409 | } |
---|
410 | } |
---|
411 | job_sword1,19,251,0 duplicate(SwdTrap1) 1_blank_1_b -1,0,1 |
---|
412 | job_sword1,17,250,0 duplicate(SwdTrap1) 1_blank_1_c -1,1,0 |
---|
413 | job_sword1,16,238,0 duplicate(SwdTrap1) 1_blank_2_a -1,0,1 |
---|
414 | job_sword1,19,238,0 duplicate(SwdTrap1) 1_blank_2_b -1,0,1 |
---|
415 | job_sword1,17,239,0 duplicate(SwdTrap1) 1_blank_2_c -1,0,1 |
---|
416 | job_sword1,28,247,0 duplicate(SwdTrap1) 1_blank_3_a -1,4,0 |
---|
417 | job_sword1,33,245,0 duplicate(SwdTrap1) 1_blank_3_b -1,0,2 |
---|
418 | job_sword1,29,242,0 duplicate(SwdTrap1) 1_blank_3_c -1,4,0 |
---|
419 | job_sword1,24,244,0 duplicate(SwdTrap1) 1_blank_3_d -1,0,2 |
---|
420 | job_sword1,38,251,0 duplicate(SwdTrap1) 1_blank_4_a -1,0,1 |
---|
421 | job_sword1,41,251,0 duplicate(SwdTrap1) 1_blank_4_b -1,0,1 |
---|
422 | job_sword1,39,250,0 duplicate(SwdTrap1) 1_blank_4_c -1,1,0 |
---|
423 | job_sword1,38,238,0 duplicate(SwdTrap1) 1_blank_5_a -1,0,1 |
---|
424 | job_sword1,41,238,0 duplicate(SwdTrap1) 1_blank_5_b -1,0,1 |
---|
425 | job_sword1,39,239,0 duplicate(SwdTrap1) 1_blank_5_c -1,1,0 |
---|
426 | job_sword1,54,251,0 duplicate(SwdTrap1) 1_blank_6_a -1,0,1 |
---|
427 | job_sword1,71,251,0 duplicate(SwdTrap1) 1_blank_6_b -1,0,1 |
---|
428 | job_sword1,62,250,0 duplicate(SwdTrap1) 1_blank_6_c -1,9,0 |
---|
429 | job_sword1,62,247,0 duplicate(SwdTrap1) 1_blank_7_a -1,8,0 |
---|
430 | job_sword1,71,244,0 duplicate(SwdTrap1) 1_blank_7_b -1,0,2 |
---|
431 | job_sword1,63,242,0 duplicate(SwdTrap1) 1_blank_7_c -1,8,0 |
---|
432 | job_sword1,54,244,0 duplicate(SwdTrap1) 1_blank_7_d -1,0,2 |
---|
433 | job_sword1,54,238,0 duplicate(SwdTrap1) 1_blank_8_a -1,0,1 |
---|
434 | job_sword1,71,238,0 duplicate(SwdTrap1) 1_blank_8_b -1,0,1 |
---|
435 | job_sword1,62,239,0 duplicate(SwdTrap1) 1_blank_8_c -1,9,0 |
---|
436 | job_sword1,102,247,0 duplicate(SwdTrap1) 1_blank_9_a -1,2,0 |
---|
437 | job_sword1,105,245,0 duplicate(SwdTrap1) 1_blank_9_b -1,0,2 |
---|
438 | job_sword1,103,242,0 duplicate(SwdTrap1) 1_blank_9_c -1,2,0 |
---|
439 | job_sword1,100,244,0 duplicate(SwdTrap1) 1_blank_9_d -1,0,2 |
---|
440 | job_sword1,156,249,0 duplicate(SwdTrap1) 1_blank_10_a -1,14,0 |
---|
441 | job_sword1,156,248,0 duplicate(SwdTrap1) 1_blank_10_b -1,14,0 |
---|
442 | job_sword1,170,249,0 duplicate(SwdTrap1) 1_blank_10_c -1,1,0 |
---|
443 | job_sword1,170,248,0 duplicate(SwdTrap1) 1_blank_10_d -1,1,0 |
---|
444 | job_sword1,156,245,0 duplicate(SwdTrap1) 1_blank_11_a -1,14,0 |
---|
445 | job_sword1,156,244,0 duplicate(SwdTrap1) 1_blank_11_b -1,14,0 |
---|
446 | job_sword1,170,245,0 duplicate(SwdTrap1) 1_blank_11_c -1,1,0 |
---|
447 | job_sword1,170,244,0 duplicate(SwdTrap1) 1_blank_11_d -1,1,0 |
---|
448 | job_sword1,156,241,0 duplicate(SwdTrap1) 1_blank_12_a -1,14,0 |
---|
449 | job_sword1,156,240,0 duplicate(SwdTrap1) 1_blank_12_b -1,14,0 |
---|
450 | job_sword1,170,241,0 duplicate(SwdTrap1) 1_blank_12_c -1,1,0 |
---|
451 | job_sword1,170,240,0 duplicate(SwdTrap1) 1_blank_12_d -1,1,0 |
---|
452 | job_sword1,180,251,0 duplicate(SwdTrap1) 1_blank_13_a -1,0,1 |
---|
453 | job_sword1,183,251,0 duplicate(SwdTrap1) 1_blank_13_b -1,0,1 |
---|
454 | job_sword1,181,250,0 duplicate(SwdTrap1) 1_blank_13_c -1,1,0 |
---|
455 | job_sword1,180,238,0 duplicate(SwdTrap1) 1_blank_14_a -1,0,1 |
---|
456 | job_sword1,183,238,0 duplicate(SwdTrap1) 1_blank_14_b -1,0,1 |
---|
457 | job_sword1,181,239,0 duplicate(SwdTrap1) 1_blank_14_c -1,1,0 |
---|
458 | |
---|
459 | job_sword1,193,245,0 warp 1_rest 1,3,job_sword1,215,244; |
---|
460 | |
---|
461 | // Pitfalls (Set 2) |
---|
462 | //============================================================ |
---|
463 | job_sword1,56,212,0 script 2_blank_1_a::SwdTrap2 -1,40,0,{ |
---|
464 | OnTouch: |
---|
465 | switch(rand(1,5)) { |
---|
466 | case 1: warp "job_sword1",162,120; end; |
---|
467 | case 2: warp "job_sword1",94,120; end; |
---|
468 | case 3: warp "job_sword1",94,85; end; |
---|
469 | case 4: warp "job_sword1",162,85; end; |
---|
470 | case 5: warp "job_sword1",130,47; end; |
---|
471 | } |
---|
472 | } |
---|
473 | |
---|
474 | job_sword1,95,212,0 duplicate(SwdTrap2) 2_blank_1_b -1,2,0 |
---|
475 | job_sword1,56,210,0 duplicate(SwdTrap2) 2_blank_2_a -1,40,0 |
---|
476 | job_sword1,95,210,0 duplicate(SwdTrap2) 2_blank_2_b -1,2,0 |
---|
477 | job_sword1,16,206,0 duplicate(SwdTrap2) 2_blank_2_c -1,0,3 |
---|
478 | job_sword1,97,206,0 duplicate(SwdTrap2) 2_blank_2_d -1,0,3 |
---|
479 | job_sword1,56,203,0 duplicate(SwdTrap2) 2_blank_2_e -1,40,0 |
---|
480 | job_sword1,95,203,0 duplicate(SwdTrap2) 2_blank_2_f -1,2,0 |
---|
481 | job_sword1,56,201,0 duplicate(SwdTrap2) 2_blank_3_a -1,40,0 |
---|
482 | job_sword1,95,201,0 duplicate(SwdTrap2) 2_blank_3_b -1,2,0 |
---|
483 | |
---|
484 | job_sword1,113,212,0 duplicate(SwdTrap2) 2_blank_4_a -1,14,0 |
---|
485 | job_sword1,125,212,0 duplicate(SwdTrap2) 2_blank_4_b -1,2,0 |
---|
486 | job_sword1,113,210,0 duplicate(SwdTrap2) 2_blank_5_a -1,14,0 |
---|
487 | job_sword1,125,210,0 duplicate(SwdTrap2) 2_blank_5_b -1,2,0 |
---|
488 | job_sword1,100,206,0 duplicate(SwdTrap2) 2_blank_5_c -1,0,3 |
---|
489 | job_sword1,127,206,0 duplicate(SwdTrap2) 2_blank_5_d -1,0,3 |
---|
490 | job_sword1,113,203,0 duplicate(SwdTrap2) 2_blank_5_e -1,14,0 |
---|
491 | job_sword1,125,210,0 duplicate(SwdTrap2) 2_blank_5_f -1,2,0 |
---|
492 | job_sword1,113,201,0 duplicate(SwdTrap2) 2_blank_6_a -1,14,0 |
---|
493 | job_sword1,113,201,0 duplicate(SwdTrap2) 2_blank_6_b -1,2,0 |
---|
494 | |
---|
495 | job_sword1,155,212,0 duplicate(SwdTrap2) 2_blank_7_a -1,21,0 |
---|
496 | job_sword1,181,212,0 duplicate(SwdTrap2) 2_blank_7_b -1,2,0 |
---|
497 | job_sword1,155,210,0 duplicate(SwdTrap2) 2_blank_8_a -1,21,0 |
---|
498 | job_sword1,181,210,0 duplicate(SwdTrap2) 2_blank_8_b -1,2,0 |
---|
499 | job_sword1,130,206,0 duplicate(SwdTrap2) 2_blank_8_c -1,0,3 |
---|
500 | job_sword1,183,206,0 duplicate(SwdTrap2) 2_blank_8_d -1,0,3 |
---|
501 | job_sword1,155,203,0 duplicate(SwdTrap2) 2_blank_8_e -1,21,0 |
---|
502 | job_sword1,181,203,0 duplicate(SwdTrap2) 2_blank_8_f -1,2,0 |
---|
503 | job_sword1,155,201,0 duplicate(SwdTrap2) 2_blank_9_a -1,40,0 |
---|
504 | job_sword1,181,201,0 duplicate(SwdTrap2) 2_blank_9_b -1,2,0 |
---|
505 | |
---|
506 | // Pitfalls (Set 3) |
---|
507 | //============================================================ |
---|
508 | job_sword1,17,174,0 script 3_blank_1_a::SwdTrap3 -1,2,0,{ |
---|
509 | OnTouch: |
---|
510 | switch(rand(1,5)) { |
---|
511 | case 1: warp "job_sword1",195,15; end; |
---|
512 | case 2: warp "job_sword1",195,38; end; |
---|
513 | case 3: warp "job_sword1",231,30; end; |
---|
514 | case 4: warp "job_sword1",198,65; end; |
---|
515 | case 5: warp "job_sword1",196,116; end; |
---|
516 | } |
---|
517 | } |
---|
518 | |
---|
519 | job_sword1,17,163,0 duplicate(SwdTrap3) 3_blank_2_a -1,2,0 |
---|
520 | job_sword1,29,171,0 duplicate(SwdTrap3) 3_blank_3_a -1,2,0 |
---|
521 | job_sword1,31,168,0 duplicate(SwdTrap3) 3_blank_3_b -1,0,2 |
---|
522 | job_sword1,28,166,0 duplicate(SwdTrap3) 3_blank_3_c -1,2,0 |
---|
523 | job_sword1,26,168,0 duplicate(SwdTrap3) 3_blank_3_d -1,0,2 |
---|
524 | job_sword1,36,169,0 duplicate(SwdTrap3) 3_blank_4_a -1,0,0 |
---|
525 | job_sword1,37,169,0 duplicate(SwdTrap3) 3_blank_4_b -1,0,0 |
---|
526 | job_sword1,37,168,0 duplicate(SwdTrap3) 3_blank_4_c -1,0,0 |
---|
527 | job_sword1,36,168,0 duplicate(SwdTrap3) 3_blank_4_c2 -1,0,0 |
---|
528 | job_sword1,40,175,0 duplicate(SwdTrap3) 3_blank_5_a -1,0,1 |
---|
529 | job_sword1,41,175,0 duplicate(SwdTrap3) 3_blank_5_b -1,0,1 |
---|
530 | job_sword1,41,171,0 duplicate(SwdTrap3) 3_blank_6_a -1,1,0 |
---|
531 | job_sword1,41,170,0 duplicate(SwdTrap3) 3_blank_6_b -1,1,0 |
---|
532 | job_sword1,41,167,0 duplicate(SwdTrap3) 3_blank_6_c -1,1,0 |
---|
533 | job_sword1,41,166,0 duplicate(SwdTrap3) 3_blank_6_d -1,1,0 |
---|
534 | job_sword1,42,169,0 duplicate(SwdTrap3) 3_blank_6_e -1,0,1 |
---|
535 | job_sword1,43,170,0 duplicate(SwdTrap3) 3_blank_6_f -1,0,1 |
---|
536 | job_sword1,43,167,0 duplicate(SwdTrap3) 3_blank_6_g -1,0,1 |
---|
537 | job_sword1,40,162,0 duplicate(SwdTrap3) 3_blank_7_a -1,0,1 |
---|
538 | job_sword1,41,162,0 duplicate(SwdTrap3) 3_blank_7_b -1,0,1 |
---|
539 | job_sword1,46,175,0 duplicate(SwdTrap3) 3_blank_8_a -1,0,1 |
---|
540 | job_sword1,51,175,0 duplicate(SwdTrap3) 3_blank_8_b -1,0,1 |
---|
541 | job_sword1,47,174,0 duplicate(SwdTrap3) 3_blank_8_c -1,1,0 |
---|
542 | job_sword1,50,174,0 duplicate(SwdTrap3) 3_blank_8_d -1,1,0 |
---|
543 | job_sword1,48,173,0 duplicate(SwdTrap3) 3_blank_8_e -1,0,1 |
---|
544 | job_sword1,49,173,0 duplicate(SwdTrap3) 3_blank_8_f -1,0,1 |
---|
545 | job_sword1,46,162,0 duplicate(SwdTrap3) 3_blank_9_a -1,0,1 |
---|
546 | job_sword1,51,162,0 duplicate(SwdTrap3) 3_blank_9_b -1,0,1 |
---|
547 | job_sword1,47,163,0 duplicate(SwdTrap3) 3_blank_9_c -1,1,0 |
---|
548 | job_sword1,50,163,0 duplicate(SwdTrap3) 3_blank_9_d -1,1,0 |
---|
549 | job_sword1,48,164,0 duplicate(SwdTrap3) 3_blank_9_e -1,0,1 |
---|
550 | job_sword1,49,164,0 duplicate(SwdTrap3) 3_blank_9_f -1,0,1 |
---|
551 | job_sword1,54,170,0 duplicate(SwdTrap3) 3_blank_10_a -1,0,1 |
---|
552 | job_sword1,55,170,0 duplicate(SwdTrap3) 3_blank_10_b -1,0,1 |
---|
553 | job_sword1,54,167,0 duplicate(SwdTrap3) 3_blank_10_c -1,0,1 |
---|
554 | job_sword1,55,167,0 duplicate(SwdTrap3) 3_blank_10_d -1,0,1 |
---|
555 | job_sword1,53,169,0 duplicate(SwdTrap3) 3_blank_10_e -1,1,0 |
---|
556 | job_sword1,53,168,0 duplicate(SwdTrap3) 3_blank_10_f -1,1,0 |
---|
557 | job_sword1,56,169,0 duplicate(SwdTrap3) 3_blank_10_g -1,1,0 |
---|
558 | job_sword1,56,168,0 duplicate(SwdTrap3) 3_blank_10_h -1,1,0 |
---|
559 | job_sword1,58,175,0 duplicate(SwdTrap3) 3_blank_11_a -1,0,1 |
---|
560 | job_sword1,59,174,0 duplicate(SwdTrap3) 3_blank_11_b -1,1,0 |
---|
561 | job_sword1,60,173,0 duplicate(SwdTrap3) 3_blank_11_c -1,0,1 |
---|
562 | job_sword1,61,172,0 duplicate(SwdTrap3) 3_blank_11_d -1,1,0 |
---|
563 | job_sword1,58,162,0 duplicate(SwdTrap3) 3_blank_12_a -1,0,1 |
---|
564 | job_sword1,59,163,0 duplicate(SwdTrap3) 3_blank_12_b -1,1,0 |
---|
565 | job_sword1,60,164,0 duplicate(SwdTrap3) 3_blank_12_c -1,0,1 |
---|
566 | job_sword1,61,165,0 duplicate(SwdTrap3) 3_blank_12_d -1,1,0 |
---|
567 | job_sword1,76,172,0 duplicate(SwdTrap3) 3_blank_13_a -1,1,0 |
---|
568 | job_sword1,77,173,0 duplicate(SwdTrap3) 3_blank_13_b -1,0,1 |
---|
569 | job_sword1,78,174,0 duplicate(SwdTrap3) 3_blank_13_c -1,1,0 |
---|
570 | job_sword1,79,175,0 duplicate(SwdTrap3) 3_blank_13_d -1,0,1 |
---|
571 | job_sword1,76,165,0 duplicate(SwdTrap3) 3_blank_14_a -1,1,0 |
---|
572 | job_sword1,77,164,0 duplicate(SwdTrap3) 3_blank_14_b -1,0,1 |
---|
573 | job_sword1,78,163,0 duplicate(SwdTrap3) 3_blank_14_c -1,1,0 |
---|
574 | job_sword1,79,162,0 duplicate(SwdTrap3) 3_blank_14_d -1,0,1 |
---|
575 | job_sword1,94,175,0 duplicate(SwdTrap3) 3_blank_15_a -1,0,1 |
---|
576 | job_sword1,95,174,0 duplicate(SwdTrap3) 3_blank_15_b -1,1,0 |
---|
577 | job_sword1,98,174,0 duplicate(SwdTrap3) 3_blank_15_c -1,1,0 |
---|
578 | job_sword1,99,175,0 duplicate(SwdTrap3) 3_blank_16_d -1,0,1 |
---|
579 | job_sword1,96,169,0 duplicate(SwdTrap3) 3_blank_17_a -1,0,0 |
---|
580 | job_sword1,97,169,0 duplicate(SwdTrap3) 3_blank_17_b -1,0,0 |
---|
581 | job_sword1,97,168,0 duplicate(SwdTrap3) 3_blank_17_c -1,0,0 |
---|
582 | job_sword1,96,168,0 duplicate(SwdTrap3) 3_blank_17_d -1,0,0 |
---|
583 | job_sword1,94,162,0 duplicate(SwdTrap3) 3_blank_18_a -1,0,1 |
---|
584 | job_sword1,95,163,0 duplicate(SwdTrap3) 3_blank_18_b -1,1,0 |
---|
585 | job_sword1,98,163,0 duplicate(SwdTrap3) 3_blank_18_c -1,1,0 |
---|
586 | job_sword1,99,162,0 duplicate(SwdTrap3) 3_blank_18_d -1,0,1 |
---|
587 | job_sword1,114,175,0 duplicate(SwdTrap3) 3_blank_19_a -1,0,1 |
---|
588 | job_sword1,115,175,0 duplicate(SwdTrap3) 3_blank_19_b -1,0,1 |
---|
589 | job_sword1,114,162,0 duplicate(SwdTrap3) 3_blank_20_a -1,0,1 |
---|
590 | job_sword1,115,162,0 duplicate(SwdTrap3) 3_blank_20_b -1,0,1 |
---|
591 | job_sword1,126,175,0 duplicate(SwdTrap3) 3_blank_21_a -1,0,1 |
---|
592 | job_sword1,127,175,0 duplicate(SwdTrap3) 3_blank_21_b -1,0,1 |
---|
593 | job_sword1,126,162,0 duplicate(SwdTrap3) 3_blank_23_a -1,0,1 |
---|
594 | job_sword1,127,162,0 duplicate(SwdTrap3) 3_blank_23_b -1,0,1 |
---|
595 | job_sword1,160,174,0 duplicate(SwdTrap3) 3_blank_24_a -1,0,2 |
---|
596 | job_sword1,161,174,0 duplicate(SwdTrap3) 3_blank_24_b -1,0,2 |
---|
597 | job_sword1,160,163,0 duplicate(SwdTrap3) 3_blank_25_a -1,0,2 |
---|
598 | job_sword1,161,163,0 duplicate(SwdTrap3) 3_blank_25_b -1,0,2 |
---|
599 | job_sword1,168,175,0 duplicate(SwdTrap3) 3_blank_26_a -1,0,2 |
---|
600 | job_sword1,169,175,0 duplicate(SwdTrap3) 3_blank_26_b -1,0,2 |
---|
601 | job_sword1,168,162,0 duplicate(SwdTrap3) 3_blank_27_a -1,0,2 |
---|
602 | job_sword1,169,162,0 duplicate(SwdTrap3) 3_blank_27_b -1,0,2 |
---|
603 | job_sword1,176,174,0 duplicate(SwdTrap3) 3_blank_28_a -1,0,2 |
---|
604 | job_sword1,177,174,0 duplicate(SwdTrap3) 3_blank_28_b -1,0,2 |
---|
605 | job_sword1,178,173,0 duplicate(SwdTrap3) 3_blank_28_c -1,1,0 |
---|
606 | job_sword1,178,172,0 duplicate(SwdTrap3) 3_blank_28_d -1,1,0 |
---|
607 | job_sword1,181,174,0 duplicate(SwdTrap3) 3_blank_28_e -1,2,0 |
---|
608 | job_sword1,179,169,0 duplicate(SwdTrap3) 3_blank_29_a -1,3,0 |
---|
609 | job_sword1,179,168,0 duplicate(SwdTrap3) 3_blank_29_b -1,3,0 |
---|
610 | job_sword1,182,169,0 duplicate(SwdTrap3) 3_blank_29_c -1,0,2 |
---|
611 | job_sword1,183,169,0 duplicate(SwdTrap3) 3_blank_29_d -1,0,2 |
---|
612 | job_sword1,181,167,0 duplicate(SwdTrap3) 3_blank_29_e -1,1,0 |
---|
613 | job_sword1,181,166,0 duplicate(SwdTrap3) 3_blank_29_f -1,1,0 |
---|
614 | job_sword1,183,167,0 duplicate(SwdTrap3) 3_blank_29_g -1,0,1 |
---|
615 | job_sword1,176,163,0 duplicate(SwdTrap3) 3_blank_30_a -1,0,2 |
---|
616 | job_sword1,177,163,0 duplicate(SwdTrap3) 3_blank_30_b -1,0,2 |
---|
617 | job_sword1,181,163,0 duplicate(SwdTrap3) 3_blank_30_c -1,2,0 |
---|
618 | |
---|
619 | // Monsters (all three courses) |
---|
620 | //============================================================ |
---|
621 | job_sword1,0,0,0,0 monster Chonchon 1183,20,0,0,0 |
---|
622 | job_sword1,35,79,0,0 monster Fabre 1184,3,60000,30000,0 |
---|
623 | job_sword1,50,108,0,0 monster Fabre 1184,3,60000,30000,0 |
---|
624 | job_sword1,61,28,0,0 monster Fabre 1184,3,60000,30000,0 |
---|
625 | job_sword1,61,92,0,0 monster Fabre 1184,3,60000,30000,0 |
---|
626 | job_sword1,110,112,0,0 monster Fabre 1184,2,60000,30000,0 |
---|
627 | job_sword1,161,94,0,0 monster Fabre 1184,2,60000,30000,0 |
---|
628 | job_sword1,130,76,0,0 monster Fabre 1184,2,60000,30000,0 |
---|
629 | job_sword1,103,58,0,0 monster Fabre 1184,2,60000,30000,0 |
---|
630 | job_sword1,130,24,0,0 monster Fabre 1184,5,60000,30000,0 |
---|
631 | job_sword1,201,36,0,0 monster Fabre 1184,2,60000,30000,0 |
---|
632 | job_sword1,201,16,0,0 monster Fabre 1184,2,60000,30000,0 |
---|
633 | job_sword1,239,44,0,0 monster Fabre 1184,3,60000,30000,0 |
---|
634 | job_sword1,239,76,0,0 monster Fabre 1184,2,60000,30000,0 |
---|
635 | job_sword1,231,101,0,0 monster Fabre 1184,2,60000,30000,0 |
---|
636 | job_sword1,234,117,0,0 monster Fabre 1184,2,60000,30000,0 |
---|
637 | job_sword1,198,91,0,0 monster Fabre 1184,2,60000,30000,0 |
---|
638 | job_sword1,200,63,0,0 monster Fabre 1184,2,60000,30000,0 |
---|
639 | |
---|
640 | |
---|
641 | //============================================================ |
---|
642 | // mapflag |
---|
643 | //============================================================ |
---|
644 | job_sword1 mapflag nomemo |
---|
645 | job_sword1 mapflag noteleport |
---|
646 | job_sword1 mapflag nosave SavePoint |
---|
647 | job_sword1 mapflag nopenalty |
---|
648 | job_sword1 mapflag nobranch |
---|