1 | //===== eAthena Script ======================================= |
---|
2 | //= Monster vs Monster |
---|
3 | //===== By: ================================================== |
---|
4 | //= acky - god@acky.com |
---|
5 | //===== Current Version: ===================================== |
---|
6 | //= 1.1.5 |
---|
7 | //===== Compatible With: ===================================== |
---|
8 | //= eAthena SVN |
---|
9 | //===== Description: ========================================= |
---|
10 | //= Players train monsters and battle other players. |
---|
11 | //= Experience can be earned and monsters upgraded. |
---|
12 | //===== Additional Comments: ================================= |
---|
13 | //= To add monsters, add lines after the commends labled: |
---|
14 | //= '// #. ---Change to Add Monsters--- //' |
---|
15 | //= There are 6 steps to add a monster at the moment. |
---|
16 | //= Added Duel Room |
---|
17 | //= --------------------------------------------------------- |
---|
18 | //= Script is messy! Be careful! |
---|
19 | //= 1.1.2 Changed all gmcommand to atcommand as Poki#3 suggested. [Vicious] |
---|
20 | //= 1.1.3 Removed Duplicate Names [Silent] |
---|
21 | //= 1.1.4 Fixed SummonPad syntax. [KarLaeda] |
---|
22 | //= 1.1.5 Some cleanup & optimization [KarLaeda] |
---|
23 | //============================================================ |
---|
24 | |
---|
25 | // Entrance // |
---|
26 | prontera,158,193,6 script Monster Arena 702,{ |
---|
27 | mes "[Monster Arena]"; |
---|
28 | mes "Would you like to enter the Monster Arena?"; |
---|
29 | mes "Currently ^FF0000" + getmapusers("gon_test") + "^000000 players"; |
---|
30 | mes "^FF0000Note:^000000 Pecos, Falcons and Carts will be lost on entry."; |
---|
31 | L_Menu: |
---|
32 | next; |
---|
33 | menu "Enter",-,"Information",L_Info,"Cancel",L_Exit; |
---|
34 | |
---|
35 | set @marena,1; |
---|
36 | savepoint "gon_test",56,99; |
---|
37 | set @battle,0; |
---|
38 | warp "gon_test",57,99; |
---|
39 | close; |
---|
40 | |
---|
41 | L_Exit: |
---|
42 | mes "[Monster Arena]"; |
---|
43 | mes "Come back any time."; |
---|
44 | close; |
---|
45 | |
---|
46 | L_Info: |
---|
47 | mes "[Monster Arena]"; |
---|
48 | mes "You must purchase a pet from the Monster Tamer to start fighting."; |
---|
49 | next; |
---|
50 | mes "[Monster Arena]"; |
---|
51 | mes "Then talk to the Usher and tell him you would like to compete."; |
---|
52 | next; |
---|
53 | mes "[Monster Arena]"; |
---|
54 | mes "Talk to the referee to summon your monster."; |
---|
55 | mes "Once your monster has fought, you must talk to the Usher again and choose to spectate."; |
---|
56 | next; |
---|
57 | mes "[Monster Arena]"; |
---|
58 | mes "Talk to the Monster Trainer, he will ask you to heal your pet."; |
---|
59 | next; |
---|
60 | mes "[Monster Arena]"; |
---|
61 | mes "To do this, click the Nurse repearedly until it says your pet is healed."; |
---|
62 | next; |
---|
63 | mes "[Monster Arena]"; |
---|
64 | mes "The more monsters you kill, the more exp you get and the quicker you can upgrade."; |
---|
65 | next; |
---|
66 | mes "[Monster Arena]"; |
---|
67 | mes "The stronger your monster is, the longer it will take to summon again."; |
---|
68 | |
---|
69 | goto L_Menu; |
---|
70 | } |
---|
71 | |
---|
72 | // Monster Summon Function // |
---|
73 | function script monstersummon { |
---|
74 | // 1. ---Change to Add Monsters--- // |
---|
75 | if (#monster == 10) summon strcharinfo(0) + "'s Poring",1002, "OnPoringKilled"; |
---|
76 | if (#monster == 20) summon strcharinfo(0) + "'s Fabre",1007, "OnFaberKilled"; |
---|
77 | if (#monster == 30) summon strcharinfo(0) + "'s Lunatic",1063, "OnLunaticKilled"; |
---|
78 | if (#monster == 31) summon strcharinfo(0) + "'s Drops",1113, "OnDropsKilled"; |
---|
79 | if (#monster == 32) summon strcharinfo(0) + "'s Picky",1049, "OnPickyKilled"; |
---|
80 | if (#monster == 40) summon strcharinfo(0) + "'s ChonChon",1011, "OnChonChonKilled"; |
---|
81 | if (#monster == 41) summon strcharinfo(0) + "'s Super Picky",1050, "OnSPickyKilled"; |
---|
82 | if (#monster == 42) summon strcharinfo(0) + "'s Willow",1010, "OnWillowKilled"; |
---|
83 | if (#monster == 50) summon strcharinfo(0) + "'s Roda Frog",1012, "OnRodaKilled"; |
---|
84 | if (#monster == 51) summon strcharinfo(0) + "'s Condor",1009, "OnCondorKilled"; |
---|
85 | if (#monster == 60) summon strcharinfo(0) + "'s Thief Bug Larva",1051, "OnThiefKilled"; |
---|
86 | if (#monster == 70) summon strcharinfo(0) + "'s Savage Babe",1167, "OnSavageKilled"; |
---|
87 | if (#monster == 80) summon strcharinfo(0) + "'s Familiar",1005, "OnFamiliarKilled"; |
---|
88 | if (#monster == 81) summon strcharinfo(0) + "'s Hornet",1004, "OnHornetKilled"; |
---|
89 | if (#monster == 90) summon strcharinfo(0) + "'s Desert Wolf Puppy",1107, "OnPuppyKilled"; |
---|
90 | if (#monster == 91) summon strcharinfo(0) + "'s Spore",1014, "OnSporeKilled"; |
---|
91 | if (#monster == 92) summon strcharinfo(0) + "'s Rocker",1052, "OnRockerKilled"; |
---|
92 | if (#monster == 100) summon strcharinfo(0) + "'s Skeleton",1076, "OnSkeletonKilled"; |
---|
93 | if (#monster == 101) summon strcharinfo(0) + "'s Plankton",1161, "OnPlanktonKilled"; |
---|
94 | if (#monster == 102) summon strcharinfo(0) + "'s Antonio",1247, "OnAntonioKilled"; |
---|
95 | if (#monster == 103) summon strcharinfo(0) + "'s Thief Bug Female",1053, "OnThiefFemaleKilled"; |
---|
96 | close; |
---|
97 | } |
---|
98 | |
---|
99 | // Referee // |
---|
100 | - script monsterreferee 61,{ |
---|
101 | if (@fighting == 1) end; |
---|
102 | if (@battle == 1) goto L_Start; |
---|
103 | end; |
---|
104 | |
---|
105 | L_Start: |
---|
106 | mes "[Referee]"; |
---|
107 | mes "Your monster is:"; |
---|
108 | |
---|
109 | // 2. ---Change to Add Monsters--- // |
---|
110 | if (#monster == 10) mes "Poring"; |
---|
111 | if (#monster == 20) mes "Faber"; |
---|
112 | if (#monster == 30) mes "Lunatic"; |
---|
113 | if (#monster == 31) mes "Drops"; |
---|
114 | if (#monster == 32) mes "Picky"; |
---|
115 | if (#monster == 40) mes "ChonChon"; |
---|
116 | if (#monster == 41) mes "Super Picky"; |
---|
117 | if (#monster == 42) mes "Willow"; |
---|
118 | if (#monster == 50) mes "Roda Frog"; |
---|
119 | if (#monster == 51) mes "Condor"; |
---|
120 | if (#monster == 60) mes "Thief Bug Larva"; |
---|
121 | if (#monster == 70) mes "Savage Babe"; |
---|
122 | if (#monster == 80) mes "Familiar"; |
---|
123 | if (#monster == 81) mes "Hornet"; |
---|
124 | if (#monster == 90) mes "Desert Wolf Puppy"; |
---|
125 | if (#monster == 91) mes "Spore"; |
---|
126 | if (#monster == 92) mes "Rocker"; |
---|
127 | if (#monster == 100) mes "Skeleton"; |
---|
128 | if (#monster == 101) mes "Plankton"; |
---|
129 | if (#monster == 102) mes "Antonio"; |
---|
130 | if (#monster == 103) mes "Thief Bug Female"; |
---|
131 | |
---|
132 | mes "Would you like to fight?"; |
---|
133 | next; |
---|
134 | menu "Fight",-,"Cancel",L_Exit; |
---|
135 | |
---|
136 | set @fighting,1; |
---|
137 | set #heal,1; |
---|
138 | set @special,rand (100); // Chance of special summon |
---|
139 | if (@special == 1) goto Special1; |
---|
140 | if (@special == 2) goto Special2; |
---|
141 | if (@special == 3) goto Special3; |
---|
142 | if (@special == 4) goto Special4; |
---|
143 | if (@special == 5) goto Special5; |
---|
144 | |
---|
145 | callfunc "monstersummon"; |
---|
146 | close; |
---|
147 | |
---|
148 | // Special Summons // |
---|
149 | Special1: |
---|
150 | summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled"; |
---|
151 | summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled"; |
---|
152 | summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled"; |
---|
153 | summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled"; |
---|
154 | summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled"; |
---|
155 | summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled"; |
---|
156 | summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled"; |
---|
157 | summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled"; |
---|
158 | summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled"; |
---|
159 | summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled"; |
---|
160 | summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled"; |
---|
161 | summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled"; |
---|
162 | summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled"; |
---|
163 | summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled"; |
---|
164 | summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled"; |
---|
165 | summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled"; |
---|
166 | summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled"; |
---|
167 | summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled"; |
---|
168 | summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled"; |
---|
169 | summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled"; |
---|
170 | summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled"; |
---|
171 | summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled"; |
---|
172 | summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled"; |
---|
173 | summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled"; |
---|
174 | close; |
---|
175 | |
---|
176 | Special2: |
---|
177 | summon strcharinfo(0) + "'s Mastering",1090, "OnSpecialKilled"; |
---|
178 | close; |
---|
179 | |
---|
180 | Special3: |
---|
181 | summon strcharinfo(0) + "'s Eclipse",1093, "OnSpecialKilled"; |
---|
182 | close; |
---|
183 | |
---|
184 | Special4: |
---|
185 | summon strcharinfo(0) + "'s Dragon Fly",1091, "OnSpecialKilled"; |
---|
186 | close; |
---|
187 | |
---|
188 | Special5: |
---|
189 | summon strcharinfo(0) + "'s Toad",1089, "OnSpecialKilled"; |
---|
190 | close; |
---|
191 | |
---|
192 | L_Exit: |
---|
193 | mes "[Referee]"; |
---|
194 | mes "Alright"; |
---|
195 | close; |
---|
196 | } |
---|
197 | gon_test,56,91,6 duplicate(monsterreferee) Referee#01 61 |
---|
198 | |
---|
199 | |
---|
200 | // Usher // |
---|
201 | gon_test,58,94,6 script Usher 86,{ |
---|
202 | set @marena,1; |
---|
203 | mes "[Usher]"; |
---|
204 | mes "What would you like to do?"; |
---|
205 | next; |
---|
206 | menu "^0000FFSpectate",L_Spec,"^FF0000Compete^000000",-,"Return to Town",L_Exit,"Cancel",L_Cancel; |
---|
207 | |
---|
208 | if (#monster == 0) goto L_NoMon; |
---|
209 | if (#heal == 1) goto L_Heal; |
---|
210 | |
---|
211 | if (#monster < 40) goto L_Low; |
---|
212 | if (#monster > 30 && #monster < 80) goto L_Med; |
---|
213 | if (#monster > 70) goto L_High; |
---|
214 | |
---|
215 | L_Low: |
---|
216 | menu "Level 1-3",L_1to3,"^FF0000All Levels",L_High; |
---|
217 | close; |
---|
218 | |
---|
219 | L_Med: |
---|
220 | menu "Level 4-7",L_4to6,"^FF0000All Levels",L_High; |
---|
221 | close; |
---|
222 | |
---|
223 | L_High: |
---|
224 | close2; |
---|
225 | savepoint "gon_test",56,99; |
---|
226 | set @battle,1; |
---|
227 | atcommand strcharinfo(0) + "@option 64 0 64"; |
---|
228 | warp "gon_test",72,87; |
---|
229 | end; |
---|
230 | |
---|
231 | L_4to6: |
---|
232 | close2; |
---|
233 | savepoint "gon_test",56,99; |
---|
234 | set @battle,1; |
---|
235 | atcommand strcharinfo(0) + "@option 64 0 64"; |
---|
236 | warp "gon_test",57,86; |
---|
237 | end; |
---|
238 | |
---|
239 | L_1to3: |
---|
240 | close2; |
---|
241 | savepoint "gon_test",56,99; |
---|
242 | set @battle,1; |
---|
243 | atcommand strcharinfo(0) + "@option 64 0 64"; |
---|
244 | warp "gon_test",43,87; |
---|
245 | end; |
---|
246 | |
---|
247 | L_Exit: |
---|
248 | close2; |
---|
249 | savepoint "prontera",149,186; |
---|
250 | set @battle,0; |
---|
251 | atcommand strcharinfo(0) + "@option 0 0 0"; |
---|
252 | warp "prontera",149,186; |
---|
253 | end; |
---|
254 | |
---|
255 | L_Spec: |
---|
256 | close2; |
---|
257 | savepoint "gon_test",56,99; |
---|
258 | set @battle,0; |
---|
259 | atcommand strcharinfo(0) + "@option 0 0 0"; |
---|
260 | warp "gon_test",57,99; |
---|
261 | end; |
---|
262 | |
---|
263 | L_NoMon: |
---|
264 | mes "[Usher]"; |
---|
265 | mes "You haven't got a monster, you can only spectate."; |
---|
266 | close; |
---|
267 | |
---|
268 | L_Heal: |
---|
269 | mes "[Usher]"; |
---|
270 | mes "You have to heal your monster before you can fight again."; |
---|
271 | close; |
---|
272 | |
---|
273 | L_Cancel: |
---|
274 | close; |
---|
275 | } |
---|
276 | |
---|
277 | // Monster Trainer // |
---|
278 | gon_test,52,103,6 script Monster Trainer 87,{ |
---|
279 | mes "[Monster Trainer]"; |
---|
280 | if (#monster != 0) goto L_Mon; |
---|
281 | |
---|
282 | mes "Welcome to the monster arena, would you like to start training?"; |
---|
283 | next; |
---|
284 | menu "Yes",-,"No",L_Exit; |
---|
285 | |
---|
286 | mes "[Monster Trainer]"; |
---|
287 | mes "New trainers may only start with Porings."; |
---|
288 | mes "They cost 1000z, Would you like to buy one?"; |
---|
289 | next; |
---|
290 | menu "Yes",-,"No",L_Exit; |
---|
291 | |
---|
292 | if (zeny < 1000) goto L_NoZeny; |
---|
293 | set zeny,zeny-1000; |
---|
294 | set #monster,10; |
---|
295 | mes "[Monster Trainer]"; |
---|
296 | mes "Congratulations!"; |
---|
297 | mes "When your Poring earns enough experience, talk to me to upgrade."; |
---|
298 | close; |
---|
299 | |
---|
300 | L_Mon: |
---|
301 | mes "Welcome back, " + strcharinfo(0) + "."; |
---|
302 | mes "Your monster has " + #monpoints + " exp points."; |
---|
303 | next; |
---|
304 | if (@fighting == 1) goto L_Heal; |
---|
305 | menu "Upgrade Monster",L_Upgrade,"Sell Experience",L_Sell,"^FF0000Abandon Monster^000000",L_Abandon,"Cancel",L_Exit; |
---|
306 | |
---|
307 | L_Abandon: |
---|
308 | mes "[Monster Trainer]"; |
---|
309 | mes "Are you sure you want to abandon your monster?"; |
---|
310 | next; |
---|
311 | menu "Yes",-,"No",L_Exit; |
---|
312 | set #monster,0; |
---|
313 | set #monpoints,0; |
---|
314 | mes "[Monster Trainer]"; |
---|
315 | mes "Monster released into the wild."; |
---|
316 | close; |
---|
317 | |
---|
318 | L_Sell: |
---|
319 | mes "[Monster Trainer]"; |
---|
320 | mes "You can sell your monster's experience for 100z each."; |
---|
321 | next; |
---|
322 | menu "Sell",-,"Cancel",L_Exit; |
---|
323 | mes "[Monster Trainer]"; |
---|
324 | mes "You have: ^FF0000" + #monpoints + "^000000 experience points"; |
---|
325 | mes "How many would you like to sell?"; |
---|
326 | next; |
---|
327 | input @sellexp; |
---|
328 | if (@sellexp > #monpoints) goto L_NoExp; |
---|
329 | set #monpoints,#monpoints-@sellexp; |
---|
330 | set @sellearn,100*@sellexp; // Price of exp |
---|
331 | set zeny,zeny+@sellearn; |
---|
332 | mes "[Monster Trainer]"; |
---|
333 | mes "You earned ^0000FF" + @sellearn + "^000000z."; |
---|
334 | close; |
---|
335 | |
---|
336 | |
---|
337 | L_NoExp: |
---|
338 | mes "[Monster Trainer]"; |
---|
339 | mes "You do not have enough experience."; |
---|
340 | next; |
---|
341 | goto L_Exit; |
---|
342 | |
---|
343 | // Monster Upgrades // |
---|
344 | L_Upgrade: |
---|
345 | mes "[Monster Trainer]"; |
---|
346 | // 3. ---Change to Add Monsters - May not be required--- // |
---|
347 | if (#monster > 1 && #monster < 20) mes "You need 10 exp points to upgrade your monster."; |
---|
348 | if (#monster > 19 && #monster < 30) mes "You need 20 exp points to upgrade your monster."; |
---|
349 | if (#monster > 29 && #monster < 40) mes "You need 40 exp points to upgrade your monster."; |
---|
350 | if (#monster > 39 && #monster < 50) mes "You need 80 exp points to upgrade your monster."; |
---|
351 | if (#monster > 49 && #monster < 60) mes "You need 160 exp points to upgrade your monster."; |
---|
352 | if (#monster > 59 && #monster < 70) mes "You need 320 exp points to upgrade your monster."; |
---|
353 | if (#monster > 69 && #monster < 80) mes "You need 640 exp points to upgrade your monster."; |
---|
354 | if (#monster > 79 && #monster < 90) mes "You need 1280 exp points to upgrade your monster."; |
---|
355 | if (#monster > 89 && #monster < 100) mes "You need 2560 exp points to upgrade your monster."; |
---|
356 | next; |
---|
357 | menu "Continue",-,"Cancel",L_Exit; |
---|
358 | mes "[Monster Trainer]"; |
---|
359 | |
---|
360 | // 4. ---Change to Add Monsters - May not be required--- // |
---|
361 | if (#monster > 1 && #monster < 20 && #monpoints > 9) goto L_Up1; |
---|
362 | if (#monster > 19 && #monster < 30 && #monpoints > 19) goto L_Up2; |
---|
363 | if (#monster > 29 && #monster < 40 && #monpoints > 39) goto L_Up3; |
---|
364 | if (#monster > 39 && #monster < 50 && #monpoints > 79) goto L_Up4; |
---|
365 | if (#monster > 49 && #monster < 60 && #monpoints > 159) goto L_Up5; |
---|
366 | if (#monster > 59 && #monster < 70 && #monpoints > 319) goto L_Up6; |
---|
367 | if (#monster > 69 && #monster < 80 && #monpoints > 639) goto L_Up7; |
---|
368 | if (#monster > 79 && #monster < 90 && #monpoints > 1279) goto L_Up8; |
---|
369 | if (#monster > 89 && #monster < 100 && #monpoints > 2559) goto L_Up9; |
---|
370 | |
---|
371 | mes "Unable to upgrade."; |
---|
372 | close; |
---|
373 | |
---|
374 | // 5. ---Change to Add Monsters--- // |
---|
375 | L_Up1: |
---|
376 | set #monster,20; |
---|
377 | set #monpoints,#monpoints-10; |
---|
378 | mes "Upgraded to Fabre!"; |
---|
379 | close; |
---|
380 | |
---|
381 | L_Up2: |
---|
382 | mes "Which monster would you like to upgrade to?"; |
---|
383 | next; |
---|
384 | menu "Lunatic",U_Lunatic,"Drops",U_Drops,"Picky",U_Picky; |
---|
385 | |
---|
386 | U_Drops: |
---|
387 | set #monster,31; |
---|
388 | set #monpoints,#monpoints-20; |
---|
389 | mes "[Monster Trainer]"; |
---|
390 | mes "Upgraded to Drops!"; |
---|
391 | close; |
---|
392 | |
---|
393 | U_Picky: |
---|
394 | set #monster,32; |
---|
395 | set #monpoints,#monpoints-20; |
---|
396 | mes "[Monster Trainer]"; |
---|
397 | mes "Upgraded to Picky!"; |
---|
398 | close; |
---|
399 | |
---|
400 | U_Lunatic: |
---|
401 | set #monster,30; |
---|
402 | set #monpoints,#monpoints-20; |
---|
403 | mes "[Monster Trainer]"; |
---|
404 | mes "Upgraded to Lunatic!"; |
---|
405 | close; |
---|
406 | |
---|
407 | L_Up3: |
---|
408 | mes "Which monster would you like to upgrade to?"; |
---|
409 | next; |
---|
410 | menu "ChonChon",U_ChonChon,"Super Picky",U_SPicky,"Willow",U_Willow; |
---|
411 | |
---|
412 | U_ChonChon: |
---|
413 | set #monster,40; |
---|
414 | set #monpoints,#monpoints-40; |
---|
415 | mes "[Monster Trainer]"; |
---|
416 | mes "Upgraded to ChonChon!"; |
---|
417 | close; |
---|
418 | |
---|
419 | U_SPicky: |
---|
420 | set #monster,41; |
---|
421 | set #monpoints,#monpoints-40; |
---|
422 | mes "[Monster Trainer]"; |
---|
423 | mes "Upgraded to Super Picky!"; |
---|
424 | close; |
---|
425 | |
---|
426 | U_Willow: |
---|
427 | set #monster,42; |
---|
428 | set #monpoints,#monpoints-40; |
---|
429 | mes "[Monster Trainer]"; |
---|
430 | mes "Upgraded to Willow!"; |
---|
431 | close; |
---|
432 | |
---|
433 | L_Up4: |
---|
434 | mes "Which monster would you like to upgrade to?"; |
---|
435 | next; |
---|
436 | menu "Condor",U_Condor,"Roda Frog",U_Roda; |
---|
437 | |
---|
438 | U_Condor: |
---|
439 | set #monster,51; |
---|
440 | set #monpoints,#monpoints-80; |
---|
441 | mes "[Monster Trainer]"; |
---|
442 | mes "Upgraded to Condor!"; |
---|
443 | close; |
---|
444 | |
---|
445 | U_Roda: |
---|
446 | set #monster,50; |
---|
447 | set #monpoints,#monpoints-80; |
---|
448 | mes "[Monster Trainer]"; |
---|
449 | mes "Upgraded to Roda Frog!"; |
---|
450 | close; |
---|
451 | |
---|
452 | L_Up5: |
---|
453 | set #monster,60; |
---|
454 | set #monpoints,#monpoints-160; |
---|
455 | mes "Upgraded to Thief Bug Larva!"; |
---|
456 | close; |
---|
457 | |
---|
458 | L_Up6: |
---|
459 | set #monster,70; |
---|
460 | set #monpoints,#monpoints-320; |
---|
461 | mes "Upgraded to Savage Babe!"; |
---|
462 | close; |
---|
463 | |
---|
464 | L_Up7: |
---|
465 | mes "Which monster would you like to upgrade to?"; |
---|
466 | next; |
---|
467 | menu "Familiar",U_Familiar,"Hornet",U_Hornet; |
---|
468 | |
---|
469 | U_Hornet: |
---|
470 | set #monster,81; |
---|
471 | set #monpoints,#monpoints-640; |
---|
472 | mes "[Monster Trainer]"; |
---|
473 | mes "Upgraded to Hornet!"; |
---|
474 | close; |
---|
475 | |
---|
476 | U_Familiar: |
---|
477 | set #monster,80; |
---|
478 | set #monpoints,#monpoints-640; |
---|
479 | mes "[Monster Trainer]"; |
---|
480 | mes "Upgraded to Familiar!"; |
---|
481 | close; |
---|
482 | |
---|
483 | L_Up8: |
---|
484 | mes "[Monster Trainer]"; |
---|
485 | mes "Which monster would you like to upgrade to?"; |
---|
486 | next; |
---|
487 | menu "Desert Wolf Puppy",U_Puppy,"Spore",U_Spore,"Rocker",U_Rocker; |
---|
488 | |
---|
489 | U_Spore: |
---|
490 | set #monster,91; |
---|
491 | set #monpoints,#monpoints-1280; |
---|
492 | mes "[Monster Trainer]"; |
---|
493 | mes "Upgraded to Spore!"; |
---|
494 | close; |
---|
495 | |
---|
496 | U_Rocker: |
---|
497 | set #monster,92; |
---|
498 | set #monpoints,#monpoints-1280; |
---|
499 | mes "[Monster Trainer]"; |
---|
500 | mes "Upgraded to Rocker!"; |
---|
501 | close; |
---|
502 | |
---|
503 | U_Puppy: |
---|
504 | set #monster,90; |
---|
505 | set #monpoints,#monpoints-1280; |
---|
506 | mes "[Monster Trainer]"; |
---|
507 | mes "Upgraded to Desert Wolf Puppy!"; |
---|
508 | close; |
---|
509 | |
---|
510 | L_Up9: |
---|
511 | mes "Which monster would you like to upgrade to?"; |
---|
512 | next; |
---|
513 | menu "Skeleton",U_Skeleton,"Antonio",U_Antonio,"Plankton",U_Plankton,"Thief Bug Female",U_ThiefFemale; |
---|
514 | |
---|
515 | U_Plankton: |
---|
516 | set #monster,101; |
---|
517 | set #monpoints,#monpoints-2560; |
---|
518 | mes "[Monster Trainer]"; |
---|
519 | mes "Upgraded to Plankton!"; |
---|
520 | close; |
---|
521 | |
---|
522 | U_Antonio: |
---|
523 | set #monster,102; |
---|
524 | set #monpoints,#monpoints-2560; |
---|
525 | mes "[Monster Trainer]"; |
---|
526 | mes "Upgraded to Antonio!"; |
---|
527 | close; |
---|
528 | |
---|
529 | U_ThiefFemale: |
---|
530 | set #monster,103; |
---|
531 | set #monpoints,#monpoints-2560; |
---|
532 | mes "[Monster Trainer]"; |
---|
533 | mes "Upgraded to Thief Bug Female!"; |
---|
534 | close; |
---|
535 | |
---|
536 | U_Skeleton: |
---|
537 | set #monster,100; |
---|
538 | set #monpoints,#monpoints-2560; |
---|
539 | mes "[Monster Trainer]"; |
---|
540 | mes "Upgraded to Skeleton!"; |
---|
541 | close; |
---|
542 | |
---|
543 | L_NoZeny: |
---|
544 | mes "[Monster Trainer]"; |
---|
545 | mes "You don't have enough zeny!"; |
---|
546 | close; |
---|
547 | |
---|
548 | L_Exit: |
---|
549 | mes "[Monster Trainer]"; |
---|
550 | mes "Goodbye."; |
---|
551 | close; |
---|
552 | |
---|
553 | L_Heal: |
---|
554 | mes "[Monster Trainer]"; |
---|
555 | mes "Your monster needs to heal."; |
---|
556 | mes "It will heal faster if you click the nurse faster."; |
---|
557 | set #heal,1; |
---|
558 | close; |
---|
559 | } |
---|
560 | |
---|
561 | // Kill Trigger // |
---|
562 | // 6/Final. ---Change to Add Monsters--- // |
---|
563 | gon_test,56,91,6 script OnPoringKilled -1,{ |
---|
564 | if (@marena == 0) callfunc "illegalkill"; |
---|
565 | set #monpoints,#monpoints+1; |
---|
566 | announce "You killed a Poring - Gained 1 exp",19; |
---|
567 | callfunc "duelkill"; |
---|
568 | } |
---|
569 | |
---|
570 | gon_test,56,91,6 script OnFaberKilled -1,{ |
---|
571 | if (@marena == 0) callfunc "illegalkill"; |
---|
572 | set #monpoints,#monpoints+2; |
---|
573 | announce "You killed a Faber - Gained 2 exp",19; |
---|
574 | callfunc "duelkill"; |
---|
575 | } |
---|
576 | |
---|
577 | gon_test,56,91,6 script OnLunaticKilled -1,{ |
---|
578 | if (@marena == 0) callfunc "illegalkill"; |
---|
579 | set #monpoints,#monpoints+4; |
---|
580 | announce "You killed a Lunatic - Gained 4 exp",19; |
---|
581 | callfunc "duelkill"; |
---|
582 | } |
---|
583 | |
---|
584 | gon_test,56,91,6 script OnDropsKilled -1,{ |
---|
585 | if (@marena == 0) callfunc "illegalkill"; |
---|
586 | set #monpoints,#monpoints+4; |
---|
587 | announce "You killed a Drops - Gained 4 exp",19; |
---|
588 | callfunc "duelkill"; |
---|
589 | } |
---|
590 | |
---|
591 | gon_test,56,91,6 script OnPickyKilled -1,{ |
---|
592 | if (@marena == 0) callfunc "illegalkill"; |
---|
593 | set #monpoints,#monpoints+4; |
---|
594 | announce "You killed a Picky - Gained 4 exp",19; |
---|
595 | callfunc "duelkill"; |
---|
596 | } |
---|
597 | |
---|
598 | gon_test,56,91,6 script OnChonChonKilled -1,{ |
---|
599 | if (@marena == 0) callfunc "illegalkill"; |
---|
600 | set #monpoints,#monpoints+8; |
---|
601 | announce "You killed a ChonChon - Gained 8 exp",19; |
---|
602 | callfunc "duelkill"; |
---|
603 | } |
---|
604 | |
---|
605 | gon_test,56,91,6 script OnSPickyKilled -1,{ |
---|
606 | if (@marena == 0) callfunc "illegalkill"; |
---|
607 | set #monpoints,#monpoints+8; |
---|
608 | announce "You killed a Super Picky - Gained 8 exp",19; |
---|
609 | callfunc "duelkill"; |
---|
610 | } |
---|
611 | |
---|
612 | gon_test,56,91,6 script OnWillowKilled -1,{ |
---|
613 | if (@marena == 0) callfunc "illegalkill"; |
---|
614 | set #monpoints,#monpoints+8; |
---|
615 | announce "You killed a Willow - Gained 8 exp",19; |
---|
616 | callfunc "duelkill"; |
---|
617 | } |
---|
618 | |
---|
619 | gon_test,56,91,6 script OnRodaKilled -1,{ |
---|
620 | if (@marena == 0) callfunc "illegalkill"; |
---|
621 | set #monpoints,#monpoints+16; |
---|
622 | announce "You killed a Roda Frog - Gained 16 exp",19; |
---|
623 | callfunc "duelkill"; |
---|
624 | } |
---|
625 | |
---|
626 | gon_test,56,91,6 script OnCondorKilled -1,{ |
---|
627 | if (@marena == 0) callfunc "illegalkill"; |
---|
628 | set #monpoints,#monpoints+16; |
---|
629 | announce "You killed a Condor - Gained 16 exp",19; |
---|
630 | callfunc "duelkill"; |
---|
631 | } |
---|
632 | |
---|
633 | gon_test,56,91,6 script OnThiefKilled -1,{ |
---|
634 | if (@marena == 0) callfunc "illegalkill"; |
---|
635 | set #monpoints,#monpoints+32; |
---|
636 | announce "You killed a Theif Bug Larva - Gained 32 exp",19; |
---|
637 | callfunc "duelkill"; |
---|
638 | } |
---|
639 | |
---|
640 | gon_test,56,91,6 script OnSavageKilled -1,{ |
---|
641 | if (@marena == 0) callfunc "illegalkill"; |
---|
642 | set #monpoints,#monpoints+64; |
---|
643 | announce "You killed a Savage Babe - Gained 64 exp",19; |
---|
644 | callfunc "duelkill"; |
---|
645 | } |
---|
646 | |
---|
647 | gon_test,56,91,6 script OnFamiliarKilled -1,{ |
---|
648 | if (@marena == 0) callfunc "illegalkill"; |
---|
649 | set #monpoints,#monpoints+128; |
---|
650 | announce "You killed a Familiar - Gained 128 exp",19; |
---|
651 | callfunc "duelkill"; |
---|
652 | } |
---|
653 | |
---|
654 | gon_test,56,91,6 script OnHornetKilled -1,{ |
---|
655 | if (@marena == 0) callfunc "illegalkill"; |
---|
656 | set #monpoints,#monpoints+128; |
---|
657 | announce "You killed a Hornet - Gained 128 exp",19; |
---|
658 | callfunc "duelkill"; |
---|
659 | } |
---|
660 | |
---|
661 | gon_test,56,91,6 script OnPuppyKilled -1,{ |
---|
662 | if (@marena == 0) callfunc "illegalkill"; |
---|
663 | set #monpoints,#monpoints+256; |
---|
664 | announce "You killed a Desert Wolf Puppy - Gained 256 exp",19; |
---|
665 | callfunc "duelkill"; |
---|
666 | } |
---|
667 | |
---|
668 | gon_test,56,91,6 script OnRockerKilled -1,{ |
---|
669 | if (@marena == 0) callfunc "illegalkill"; |
---|
670 | set #monpoints,#monpoints+256; |
---|
671 | announce "You killed a Rocker - Gained 256 exp",19; |
---|
672 | callfunc "duelkill"; |
---|
673 | } |
---|
674 | |
---|
675 | gon_test,56,91,6 script OnSporeKilled -1,{ |
---|
676 | if (@marena == 0) callfunc "illegalkill"; |
---|
677 | set #monpoints,#monpoints+256; |
---|
678 | announce "You killed a Spore - Gained 256 exp",19; |
---|
679 | callfunc "duelkill"; |
---|
680 | } |
---|
681 | |
---|
682 | gon_test,56,91,6 script OnSkeletonKilled -1,{ |
---|
683 | if (@marena == 0) callfunc "illegalkill"; |
---|
684 | set #monpoints,#monpoints+512; |
---|
685 | announce "You killed a Skeleton - Gained 512 exp",19; |
---|
686 | callfunc "duelkill"; |
---|
687 | } |
---|
688 | |
---|
689 | gon_test,56,91,6 script OnPlanktonKilled -1,{ |
---|
690 | if (@marena == 0) callfunc "illegalkill"; |
---|
691 | set #monpoints,#monpoints+512; |
---|
692 | announce "You killed a Plankton - Gained 512 exp",19; |
---|
693 | callfunc "duelkill"; |
---|
694 | } |
---|
695 | |
---|
696 | gon_test,56,91,6 script OnAntonioKilled -1,{ |
---|
697 | if (@marena == 0) callfunc "illegalkill"; |
---|
698 | set #monpoints,#monpoints+512; |
---|
699 | announce "You killed an Antonio - Gained 512 exp",19; |
---|
700 | callfunc "duelkill"; |
---|
701 | } |
---|
702 | |
---|
703 | gon_test,56,91,6 script OnThiefFemaleKilled -1,{ |
---|
704 | if (@marena == 0) callfunc "illegalkill"; |
---|
705 | set #monpoints,#monpoints+512; |
---|
706 | announce "You killed a Thief Bug Female - Gained 512 exp",19; |
---|
707 | callfunc "duelkill"; |
---|
708 | } |
---|
709 | |
---|
710 | gon_test,56,91,6 script OnSpecialKilled -1,{ |
---|
711 | if (@marena == 0) callfunc "illegalkill"; |
---|
712 | set #monpoints,#monpoints+512; |
---|
713 | announce "You killed a Special Monster - Gained 1024 exp",19; |
---|
714 | callfunc "duelkill"; |
---|
715 | } |
---|
716 | |
---|
717 | function script duelkill { |
---|
718 | if (strcharinfo(0) == $@duelist1$ || strcharinfo(0) == $@duelist2$) goto L_Heal; |
---|
719 | end; |
---|
720 | L_Heal: |
---|
721 | announce strcharinfo(0) + " won the Duel",1; |
---|
722 | set @fighting,0; |
---|
723 | set #heal,0; |
---|
724 | set @healing,0; |
---|
725 | end; |
---|
726 | } |
---|
727 | |
---|
728 | function script illegalkill { |
---|
729 | announce "Illegal Kill by " + strcharinfo(0) + " Detected",1; |
---|
730 | percentheal -100,-100; |
---|
731 | end; |
---|
732 | } |
---|
733 | |
---|
734 | // Healer // |
---|
735 | gon_test,55,103,6 script Nurse 90,{ |
---|
736 | if (@battle == 1 || #heal == 0) goto L_NoHeal; |
---|
737 | if (#heal == 1 && @healing < 100) goto L_Heal; //Total healing required |
---|
738 | set @fighting,0; |
---|
739 | set #heal,0; |
---|
740 | set @healing,0; |
---|
741 | specialeffect2 364; |
---|
742 | announce "Your monster has healed.",19; |
---|
743 | end; |
---|
744 | |
---|
745 | L_Heal: |
---|
746 | set @healrate,140 / #monster; //Rate of heal per click |
---|
747 | set @healing,@healing + @healrate; |
---|
748 | end; |
---|
749 | |
---|
750 | L_NoHeal: |
---|
751 | announce "Your monster does not need healing yet.",19; |
---|
752 | end; |
---|
753 | } |
---|
754 | |
---|
755 | // Warps players // |
---|
756 | gon_test,57,86,5 script Summon Pad 1::SummonPad 111,2,2,{ |
---|
757 | end; |
---|
758 | OnTouch: |
---|
759 | set @marena,1; |
---|
760 | warp "gon_test",57,99; |
---|
761 | } |
---|
762 | gon_test,43,87,5 duplicate(SummonPad) Summon Pad 2 111,2,2 |
---|
763 | gon_test,72,87,5 duplicate(SummonPad) Summon Pad 3 111,2,2 |
---|
764 | |
---|
765 | |
---|
766 | |
---|
767 | // Skill Disabler // |
---|
768 | gon_test,57,99,5 script Skill Disable 111,3,3,{ |
---|
769 | atcommand strcharinfo(0) + "@skilloff"; |
---|
770 | disablenpc "Skill Disable"; |
---|
771 | end; |
---|
772 | } |
---|
773 | |
---|
774 | // Duel Arena // |
---|
775 | gon_test,58,103,5 script Duel Master#01 92,{ |
---|
776 | if ($@duelist1$ == "") set @duel,0; |
---|
777 | if ($@monster1 == "") set @duel,0; |
---|
778 | set @marena,1; |
---|
779 | if (#monster == 0) goto L_NoMon; |
---|
780 | mes "[Duel Master]"; |
---|
781 | if ($@duel == 1) goto L_Waiting; |
---|
782 | if ($@duel == 2) goto L_Dueling; |
---|
783 | |
---|
784 | mes "There are currently no players dueling."; |
---|
785 | next; |
---|
786 | menu "Join",-,"Spectate",L_Spec,"Cancel",L_Exit; |
---|
787 | |
---|
788 | // Player 1 Enters Duel Area // |
---|
789 | if (#heal == 1) goto L_NeedHeal; |
---|
790 | if ($@duel == 1) goto L_Duel2; |
---|
791 | set $@duel,1; |
---|
792 | if (#monster > 1 && #monster < 20) set $@monster1,1; |
---|
793 | if (#monster > 19 && #monster < 30) set $@monster1,2; |
---|
794 | if (#monster > 29 && #monster < 40) set $@monster1,3; |
---|
795 | if (#monster > 39 && #monster < 50) set $@monster1,4; |
---|
796 | if (#monster > 49 && #monster < 60) set $@monster1,5; |
---|
797 | if (#monster > 59 && #monster < 70) set $@monster1,6; |
---|
798 | if (#monster > 69 && #monster < 80) set $@monster1,7; |
---|
799 | if (#monster > 79 && #monster < 90) set $@monster1,8; |
---|
800 | if (#monster > 89 && #monster < 100) set $@monster1,9; |
---|
801 | if (#monster > 99 && #monster < 110) set $@monster1,10; |
---|
802 | set $@duelist1$,strcharinfo(0); |
---|
803 | set @battle,1; |
---|
804 | announce strcharinfo(0) + " [Monster Level: " + $@monster1 + "] is waiting for a duel",1; |
---|
805 | atcommand strcharinfo(0) + "@option 64 0 64"; |
---|
806 | warp "gon_test",49,5; |
---|
807 | close; |
---|
808 | |
---|
809 | L_Waiting: |
---|
810 | mes "^0000FF " + $@duelist1$ + "^000000 [Monster Level: ^FF0000" + $@monster1 + "^000000]"; |
---|
811 | mes "Is waiting for an opponent"; |
---|
812 | next; |
---|
813 | menu "Join",-,"Spectate",L_Spec,"Cancel",L_Exit; |
---|
814 | |
---|
815 | // Player 2 Enters Duel Area // |
---|
816 | if (#heal == 1) goto L_NeedHeal; |
---|
817 | L_Duel2: |
---|
818 | if ($@duel == 2) goto L_Spec; |
---|
819 | set $@duel,2; |
---|
820 | if (#monster > 1 && #monster < 20) set $@monster2,1; |
---|
821 | if (#monster > 19 && #monster < 30) set $@monster2,2; |
---|
822 | if (#monster > 29 && #monster < 40) set $@monster2,3; |
---|
823 | if (#monster > 39 && #monster < 50) set $@monster2,4; |
---|
824 | if (#monster > 49 && #monster < 60) set $@monster2,5; |
---|
825 | if (#monster > 59 && #monster < 70) set $@monster2,6; |
---|
826 | if (#monster > 69 && #monster < 80) set $@monster2,7; |
---|
827 | if (#monster > 79 && #monster < 90) set $@monster2,8; |
---|
828 | if (#monster > 89 && #monster < 100) set $@monster2,9; |
---|
829 | if (#monster > 99 && #monster < 110) set $@monster2,10; |
---|
830 | set $@duelist2$,strcharinfo(0); |
---|
831 | set @battle,1; |
---|
832 | announce strcharinfo(0) + " [Monster Level: " + $@monster2 + "] has joined the duel",1; |
---|
833 | atcommand strcharinfo(0) + "@option 64 0 64"; |
---|
834 | warp "gon_test",49,5; |
---|
835 | close; |
---|
836 | |
---|
837 | L_Dueling: |
---|
838 | mes "^0000FF" + $@duelist1$ + "^000000 [Monster Level: ^0000FF" + $@monster1 + "^000000]"; |
---|
839 | mes " VS."; |
---|
840 | mes "^FF0000" + $@duelist2$ + "^000000 [Monster Level: ^FF0000" + $@monster2 + "^000000]"; |
---|
841 | next; |
---|
842 | menu "Spectate",L_Spec,"Cancel",L_Exit; |
---|
843 | |
---|
844 | L_Spec: |
---|
845 | set @battle,0; |
---|
846 | atcommand strcharinfo(0) + "@option 64 0 64"; |
---|
847 | warp "gon_test",49,5; |
---|
848 | close; |
---|
849 | |
---|
850 | L_Exit: |
---|
851 | mes "[Duel Master]"; |
---|
852 | mes "Goodbye."; |
---|
853 | close; |
---|
854 | |
---|
855 | L_NoMon: |
---|
856 | mes "[Duel Master]"; |
---|
857 | mes "You haven't got a monster, you can't participate."; |
---|
858 | close; |
---|
859 | |
---|
860 | L_NeedHeal: |
---|
861 | mes "[Duel Master]"; |
---|
862 | mes "You need to heal before you can join."; |
---|
863 | close; |
---|
864 | } |
---|
865 | |
---|
866 | // Duel Exit // |
---|
867 | gon_test,42,8,5 script Duel Master#02 92,{ |
---|
868 | mes "[Duel Master]"; |
---|
869 | mes "Would you like to return?"; |
---|
870 | menu "Yes",L_Leave,"No",-; |
---|
871 | mes "Alright"; |
---|
872 | close; |
---|
873 | |
---|
874 | L_Leave: |
---|
875 | if ($@duelist1$ == strcharinfo(0)) goto L_Leave1; |
---|
876 | if ($@duelist2$ == strcharinfo(0)) goto L_Leave2; |
---|
877 | |
---|
878 | L_Leave3: |
---|
879 | atcommand strcharinfo(0) + "@option 0 0 0"; |
---|
880 | set @battle,0; |
---|
881 | warp "gon_test",57,99; |
---|
882 | close; |
---|
883 | |
---|
884 | L_Leave1: |
---|
885 | set $@duelist1$,$@duelist2$; |
---|
886 | set $@monster1,$@monster2; |
---|
887 | set $@duel,$@duel-1; |
---|
888 | announce strcharinfo(0) + " stopped dueling",1; |
---|
889 | goto L_Leave3; |
---|
890 | |
---|
891 | L_Leave2: |
---|
892 | set $@duelist2$,""; |
---|
893 | set $@monster2,0; |
---|
894 | set $@duel,$@duel-1; |
---|
895 | announce strcharinfo(0) + " stopped dueling",1; |
---|
896 | goto L_Leave3; |
---|
897 | } |
---|
898 | |
---|
899 | gon_test,49,5,5 duplicate(SummonPad) Summon Pad 4 111,2,2 |
---|
900 | gon_test,55,8,6 duplicate(monsterreferee) Referee#02 61 |
---|