1 //===== rAthena Script =======================================
2 //= The Airship System Script
3 //===== By: ==================================================
5 //===== Current Version: =====================================
7 //===== Compatible With: =====================================
9 //===== Description: =========================================
10 //= The Airship System used in the official servers.
11 //===== Additional Comments: =================================
12 //= 1.0 First version.
13 //============================================================
15 //============================================================
16 //= Domestic Airship Route
17 //= ... -> Juno -> Einbroch -> Lighthalzen -> Einbroch
18 //= -> Juno -> Hugel -> ...
19 //============================================================
21 airplane,243,73,0 script #AirshipWarp-1 45,1,1,{
26 specialeffect EF_BASH;
27 disablenpc strnpcinfo(0);
31 enablenpc strnpcinfo(0);
32 specialeffect EF_SUMMONSLAVE;
36 switch ($@airplanelocation) {
37 case 0: warp "yuno",92,260; end;
38 case 1: warp "einbroch",92,278; end;
39 case 2: warp "lighthalzen",302,75; end;
40 case 3: warp "hugel",181,146; end;
44 airplane,243,29,0 duplicate(#AirshipWarp-1) #AirshipWarp-2 45,1,1
46 airplane,1,1,0 script Domestic_Airship -1,{
52 mapannounce "airplane","We are heading to Einbroch.",bc_map,"0x00ff00";
55 mapannounce "airplane","We will arrive in Einbroch shortly.",bc_map,"0x00ff00";
58 set $@airplanelocation,1;
59 donpcevent "#AirshipWarp-1::OnUnhide";
60 donpcevent "#AirshipWarp-2::OnUnhide";
61 mapannounce "airplane","Welcome to Einbroch. Have a safe trip.",bc_map,"0x00ff00";
64 mapannounce "airplane","Currently we are in Einbroch. The Airship will take off shortly.",bc_map,"0x00ff00";
67 donpcevent "#AirshipWarp-1::OnHide";
68 donpcevent "#AirshipWarp-2::OnHide";
69 mapannounce "airplane","The Airship is now taking off. Our next destination is Lighthalzen.",bc_map,"0x70dbdb";
72 mapannounce "airplane","We are heading to Lighthalzen.",bc_map,"0x70dbdb";
75 mapannounce "airplane","We will arrive in Lighthalzen shortly.",bc_map,"0x70dbdb";
78 set $@airplanelocation,2;
79 donpcevent "#AirshipWarp-1::OnUnhide";
80 donpcevent "#AirshipWarp-2::OnUnhide";
81 mapannounce "airplane","Welcome to Lighthalzen. Have a safe trip.",bc_map,"0x70dbdb";
84 mapannounce "airplane","Currently we are in Lighthalzen. The Airship will leave shortly.",bc_map,"0x70dbdb";
87 donpcevent "#AirshipWarp-1::OnHide";
88 donpcevent "#AirshipWarp-2::OnHide";
89 mapannounce "airplane","The Airship is leaving the ground. Our next destination is Einbroch.",bc_map,"0x00ff00";
92 mapannounce "airplane","We are heading to Einbroch.",bc_map,"0x00ff00";
95 mapannounce "airplane","We will arrive in Einbroch shortly.",bc_map,"0x00FF00";
98 set $@airplanelocation,1;
99 donpcevent "#AirshipWarp-1::OnUnhide";
100 donpcevent "#AirshipWarp-2::OnUnhide";
101 mapannounce "airplane","Welcome to Einbroch. Have a safe trip.",bc_map,"0x00ff00";
104 mapannounce "airplane","Currently we are in Einbroch. The Airship will take off shortly.",bc_map,"0x00ff00";
107 donpcevent "#AirshipWarp-1::OnHide";
108 donpcevent "#AirshipWarp-2::OnHide";
109 mapannounce "airplane","The Airship is now taking off. Our next destination is Juno.",bc_map,"0xff8200";
112 mapannounce "airplane","We are heading to Juno.",bc_map,"0xff8200";
115 mapannounce "airplane","We will arrive in Juno shortly.",bc_map,"0xff8200";
118 set $@airplanelocation,0;
119 donpcevent "#AirshipWarp-1::OnUnhide";
120 donpcevent "#AirshipWarp-2::OnUnhide";
121 mapannounce "airplane","Welcome to Juno. Have a safe trip.",bc_map,"0xff8200";
124 mapannounce "airplane","Currently we are in Juno. The Airship will leave shortly.",bc_map,"0xff8200";
127 donpcevent "#AirshipWarp-1::OnHide";
128 donpcevent "#AirshipWarp-2::OnHide";
129 mapannounce "airplane","The Airship is leaving the ground. Our next destination is Hugel.",bc_map,"0xca4bf3";
132 mapannounce "airplane","We are heading to Hugel.",bc_map,"0xca4bf3";
135 mapannounce "airplane","We will arrive in Hugel shortly.",bc_map,"0xca4bf3";
138 set $@airplanelocation,3;
139 donpcevent "#AirshipWarp-1::OnUnhide";
140 donpcevent "#AirshipWarp-2::OnUnhide";
141 mapannounce "airplane","Welcome to Hugel. Have a safe trip.",bc_map,"0xca4bf3";
144 mapannounce "airplane","Currently we are in Hugel. The Airship will leave shortly.",bc_map,"0xca4bf3";
147 donpcevent "#AirshipWarp-1::OnHide";
148 donpcevent "#AirshipWarp-2::OnHide";
149 mapannounce "airplane","The Airship is leaving the ground. Our next destination is Juno.",bc_map,"0xff8200";
152 mapannounce "airplane","We are heading to Juno.",bc_map,"0xff8200";
155 mapannounce "airplane","We will arrive in Juno shortly.",bc_map,"0xff8200";
158 set $@airplanelocation,0;
159 donpcevent "#AirshipWarp-1::OnUnhide";
160 donpcevent "#AirshipWarp-2::OnUnhide";
161 mapannounce "airplane","Welcome to Juno. Have a safe trip.",bc_map,"0xff8200";
164 mapannounce "airplane","Currently we are in Juno. The Airship will leave shortly.",bc_map,"0xff8200";
167 donpcevent "#AirshipWarp-1::OnHide";
168 donpcevent "#AirshipWarp-2::OnHide";
169 mapannounce "airplane","The Airship is leaving the ground. Our next destination is Einbroch.",bc_map,"0x00ff00";
174 airplane,240,64,5 script Exit#airplane1a::ExitAirplane 857,{
177 airplane,247,64,5 duplicate(ExitAirplane) Exit#airplane1b 857
178 airplane,240,40,1 duplicate(ExitAirplane) Exit#airplane2a 857
179 airplane,247,40,1 duplicate(ExitAirplane) Exit#airplane2b 857
181 airplane,100,69,3 script Airship Crew#ein-1 852,{
182 mes "[Airship Crew]";
183 mes "If we've landed at";
184 mes "your destination and";
185 mes "you'd like to leave the";
186 mes "Airship, please use the";
187 mes "stairs up ahead. Thank";
188 mes "you for your patronage.";
192 airplane,64,94,1 script Umbala Kid#ein_p 787,{
195 if (event_umbala >= 3) {
197 mes "L-look at this!";
198 mes "We're flying! W-we're...";
199 mes "We're in the freakin' sky!";
203 mes "Saampa joojimbo";
204 mes "kaku na jedi Solo.";
205 mes "Bwahahahahahahaah!";
210 airplane,66,93,3 script Umbala Lady#ein_p 783,{
213 if (event_umbala >= 3) {
215 mes "Honey, behave~";
216 mes "Don't act so excited";
217 mes "when we're out in a";
218 mes "public place like this!";
222 mes "Sacraup matii!";
223 mes "Shaka gurftalfi";
224 mes "huntiki manjoo!";
229 airplane,71,91,7 script Umbala Man#ein_p 789,{
230 if (event_umbala >= 3) {
233 mes "From that look on";
234 mes "your face, I see that";
235 mes "you can understand";
236 mes "me. ^333333*Whew...!*^000000";
240 mes "I've been helping the";
241 mes "Airship enterprise by";
242 mes "having the Airship Crewmen";
243 mes "train in Umbala to overcome";
244 mes "any acrophobia they might have through bungee jumping. Neat, eh?";
248 mes "Some of them couldn't";
249 mes "overcome their fear of";
250 mes "heights. And a few even";
251 mes "ended up, um, ^333333in Nifflheim^000000.";
256 mes "nukta Airship.";
264 mes "Shabala moow bajama";
265 mes "Airship kulaha googoona ";
266 mes "salu. Dama, kookoo na nu";
267 mes "yukuta. Um, fashuku na ret!";
272 airplane,250,58,2 script Airship Staff#airplane 67,{
273 // Hugel quest addition
275 mes "[Airship Staff]";
277 mes "to the Airship.";
278 mes "How may I help you?";
280 select("Do you have a passenger named Thierry?");
281 mes "[Airship Staff]";
282 mes "I am sorry, but I do not think that we have a passenger by that name.";
286 mes "[Airship Staff]";
288 mes "to the Airship.";
289 mes "How may I help you?";
291 switch (select("Using the Airship:Captain's Cabin:Facilities:Cancel")) {
293 mes "[Airship Staff]";
294 mes "When you see a broadcast";
295 mes "announcing that we have";
296 mes "arrived at your destination,";
297 mes "please use one of the exits";
298 mes "located at the north and";
299 mes "south ends of the Airship.";
301 mes "[Airship Staff]";
302 mes "If you happen to miss";
303 mes "your stop, don't worry.";
304 mes "The Airship is constantly";
305 mes "en route and you'll get";
306 mes "another chance to arrive";
307 mes "to your intended destination.";
310 mes "[Airship Staff]";
311 mes "The Captain's Cabin";
312 mes "is located at the front";
313 mes "of the Airship. There, you";
314 mes "can meet the captain and";
315 mes "the pilot of the Airship.";
318 mes "[Airship Staff]";
319 mes "The Airship provides";
320 mes "various Mini Games for";
321 mes "the entertainment of all";
322 mes "our passengers. We invite";
323 mes "you to try your luck and skills";
324 mes "in the Airship's Mini Games~";
327 mes "[Airship Staff]";
328 mes "Well, I hope you";
329 mes "your flight aboard";
330 mes "our Airships. Thank";
331 mes "you and have a good day.";
336 airplane,80,71,2 script Zerta#01airplane 834,{
338 mes "Oh, hello adventurer.";
339 mes "I am currently on a";
340 mes "sacred journey, offering";
341 mes "prayer for the sake of the";
342 mes "Rune-Midgard continent.";
346 airplane,65,63,4 script Maelin#01airplane 714,{
348 mes "Um, this Airship is";
349 mes "to Lutie, isn't it? I've";
350 mes "waiting so long,";
351 mes "but I haven't heard any";
352 mes "broadcast about Lutie.";
356 airplane,72,34,6 script Aanos#01airplane 702,{
360 mes "so different and";
361 mes "pretty from up there!";
365 airplane,221,158,2 script Pilot#airplane 852,{
366 // Hugel quest addition
369 mes "I wish that I could go drink a cold fresh beer.";
370 mes "Drinking is the goal of my life! Drinking gives me energy!";
371 mes "I am nothing without drinks!";
374 mes "But! Driving under the influence is not good.";
375 mes "But! That makes me want to drink more and more!";
378 select("Do you know a passenger named Thierry?");
380 mes "This uniform is";
381 mes "really dapper, but";
382 mes "it's way too thick to";
383 mes "wear around the Airship.";
388 mes "No one ever really";
389 mes "comes into this room.";
390 mes "And the captain IS a reindeer. I could just strip to my boxers.";
394 mes "Wah!? Who is it!";
396 mes "- ...He is not listening to you, at all. -";
403 mes "It's been sooo";
404 mes "long since I've";
405 mes "enjoyed a nice, cold";
406 mes "alcoholic brew. But the";
407 mes "job requires me to be as";
408 mes "clear headed as I can!";
411 mes "Always drink responsibly!";
412 mes "Still, I can't remember the";
413 mes "last time I had a real vacation";
414 mes "or even a day off. Yeap, some";
415 mes "booze, some chips, some TV";
416 mes "and serius R&R is in order.";
421 mes "Man, the weather";
422 mes "is really nice today.";
423 mes "Bright, open skies make";
424 mes "for some good visibility";
425 mes "and safe, carefree flying.";
429 mes "You know, our captain's a";
430 mes "respectable guy. Him and";
431 mes "his brother are actually well";
432 mes "known in the aircraft industry.";
433 mes "Who knew reindeer made";
434 mes "such good captains?";
437 mes "Just between you";
438 mes "and me, I gotta tell";
439 mes "you, that Santa was onto";
440 mes "something, getting reindeers";
441 mes "and elves to work for him.";
442 mes "The man must be a genius!";
446 mes "You know, this whole";
447 mes "piloting thing in the air,";
448 mes "it's rather new, you know?";
449 mes "Yeah, they got this Airship";
450 mes "operation in a hurry.";
454 mes "Still, they where real";
455 mes "serius, really thought";
456 mes "ahead. I mean, they had us";
457 mes "training while the Airships";
458 mes "were still being invented.";
459 mes "Isn't that freakin' crazy?!";
464 airplane,50,66,5 script Apple Merchant#airplane 86,{
466 mes "Welcome to Fruitz's";
467 mes "Shop where you can";
468 mes "purchase Apples or grind";
469 mes "them to make Apple Juice.";
471 switch (select("Buy Apples.:Make Apple Juice.:Why are you here?:Cancel.")) {
474 mes "Please enter the amount";
475 mes "of Apples that you wish to";
476 mes "buy. Each Apple is 15 zeny";
477 mes "and you can buy a maximum";
478 mes "of 500 at a time. Please enter";
479 mes " '0' to cancel your order.";
483 set .@pay, .@input * 15;
486 mes "Thanks for stopping";
487 mes "by my shop. Farewell!";
488 mes "Come by anytime when";
489 mes "you feel like having an";
490 mes "Apple to snack on~";
493 else if (.@input < 1 || .@input > 500) {
495 mes "You've entered a number";
496 mes "higher than the maximum";
497 mes "value of 500. Please enter";
498 mes "the number of Apples you";
499 mes "wish to purchase again.";
504 mes "A total of ^FF0000" + .@input + "^000000 Apples";
505 mes "will cost you ^FF0000" + .@pay + " Zeny^000000 zeny.";
506 mes "Would you like to continue?";
508 if (select("Yes:No") == 2) {
510 mes "Thanks for stopping";
511 mes "by my shop. Farewell!";
512 mes "Come by anytime when";
513 mes "you feel like having an";
514 mes "Apple to snack on~";
522 mes "I'm sorry, but you don't";
523 mes "have enough money to";
524 mes "purchase that many Apples.";
525 mes "Please check your zeny or";
526 mes "purchase fewer Apples.";
529 else if (checkweight(512,.@input) == 0) {
531 mes "Hmmm, I don't think";
532 mes "you've got enough room in";
533 mes "your inventory to carry this";
534 mes "many Apples. Why don't you free up some of your inventory space?";
538 set Zeny, Zeny - .@pay;
539 getitem 512,.@input; //Apple
541 mes "Thanks for stopping by";
542 mes "my shop. I hope you enjoy";
543 mes "the flavor of these Apples~!";
548 mes "Okay, I'll need";
549 mes "^FF00003 Apples and 1 Empty Bottle^000000";
550 mes "to make 1 Apple Juice for you.";
551 mes "Would you like to proceed?";
553 switch (select("Yes:No")) {
555 if (countitem(512) < 3 || countitem(713) < 1) {
557 mes "I'm sorry, but you don't";
558 mes "have enough materials to";
559 mes "create a bottle of Apple Juice.";
560 mes "Remember, I need 3 Apples";
561 mes "and 1 Empty Bottle to do it.";
568 mes "just a moment.";
570 mes "^3355FF*Grind grind*";
572 mes "*Clang...!*^000000";
574 delitem 512,3; //Apple
575 delitem 713,1; //Empty_Bottle
576 getitem 531,1; //Apple_Juice
579 mes "I hope you enjoy!";
580 mes "Please feel free to";
581 mes "stop by for your Apple";
582 mes "and Apple Juice needs";
583 mes "at anytime, adventurer~";
588 mes "Thanks for stopping";
589 mes "by my shop. Farewell!";
590 mes "Come by anytime when";
591 mes "you feel like having an";
592 mes "Apple to snack on~";
597 mes "I used to be a wandering";
598 mes "vagabond when, one day,";
599 mes "I took a nap and something";
600 mes "struck my head and awoke";
601 mes "me from my restful slumber.";
604 mes "It turns out that I was";
605 mes "sleeping beneath an apple";
606 mes "tree and that an apple fell";
607 mes "and hit me on the head.";
608 mes "I was dying of hunger and";
609 mes "was about to eat that Apple...";
612 mes "But suddenly, Kain, my old";
613 mes "friend from the mining days,";
614 mes "asked me to help him around";
615 mes "on the Airship. So I did, and";
616 mes "it was there where I found some";
617 mes "people playing the Dice game.";
620 mes "I was bored and curious";
621 mes "and ended up wagering that";
622 mes "single Apple in a game of";
623 mes "dice. But for some reason,";
624 mes "I had this incredible lucky";
625 mes "streak. One apple became two... ";
628 mes "Two became four and";
629 mes "before I knew it, I had";
630 mes "cornered the Apple market!";
631 mes "I won so many Apples, I just";
632 mes "started my own business here";
633 mes "on the Airship. Weird, huh?";
636 mes "So Apples are good";
637 mes "for you. They were";
638 mes "certainly very good";
639 mes "to me. Hahahahaah~!";
644 mes "using my shop.";
650 //============================================================
651 //= International Airship Route
652 //= ... -> Izlude -> Juno -> Rachel -> ...
653 //============================================================
655 airplane_01,243,73,0 script #AirshipWarp-3 45,1,1,{
659 switch ($@airplanelocation2) {
660 case 0: warp "ra_fild12",292,204; end;
663 warp "izlude",200,73;
665 warp "izlude",200,56;
667 case 2: warp "yuno",12,261; end;
672 specialeffect EF_BASH;
673 disablenpc strnpcinfo(0);
677 enablenpc strnpcinfo(0);
678 specialeffect EF_SUMMONSLAVE;
682 airplane_01,243,29,0 duplicate(#AirshipWarp-3) #AirshipWarp-4 45,1,1
684 airplane_01,1,1,0 script International_Airship -1,{
691 mapannounce "airplane_01","We are heading to Izlude.",bc_map,"0x00ff00";
694 mapannounce "airplane_01","We will arrive in Izlude shortly.",bc_map,"0x00ff00";
697 set $@airplanelocation2,1;
698 donpcevent "#AirshipWarp-3::OnUnhide";
699 donpcevent "#AirshipWarp-4::OnUnhide";
700 mapannounce "airplane_01","Welcome to Izlude. Have a safe trip.",bc_map,"0x00ff00";
703 mapannounce "airplane_01","We are currently in Izlude. The Airship will take off shortly.",bc_map,"0x00ff00";
706 donpcevent "#AirshipWarp-3::OnHide";
707 donpcevent "#AirshipWarp-4::OnHide";
708 mapannounce "airplane_01","The Airship is now taking off. Our next destination is Juno.",bc_map,"0x70dbdb";
711 mapannounce "airplane_01","We are heading to Juno.",bc_map,"0x70dbdb";
714 mapannounce "airplane_01","We will arrive in Juno shortly.",bc_map,"0x70dbdb";
717 set $@airplanelocation2,2;
718 donpcevent "#AirshipWarp-3::OnUnhide";
719 donpcevent "#AirshipWarp-4::OnUnhide";
720 mapannounce "airplane_01","Welcome to Juno. Have a safe trip.",bc_map,"0x70dbdb";
723 mapannounce "airplane_01","We are currently in Juno. The Airship will leave shortly.",bc_map,"0x70dbdb";
726 donpcevent "#AirshipWarp-3::OnHide";
727 donpcevent "#AirshipWarp-4::OnHide";
728 mapannounce "airplane_01","The Airship is leaving the ground. Our next destination is Rachel.",bc_map,"0xFF8200";
731 mapannounce "airplane_01","We are heading to Rachel.",bc_map,"0xFF8200";
734 mapannounce "airplane_01","We will arrive in Rachel shortly.",bc_map,"0xFF8200";
737 set $@airplanelocation2,0;
738 donpcevent "#AirshipWarp-3::OnUnhide";
739 donpcevent "#AirshipWarp-4::OnUnhide";
740 mapannounce "airplane_01","Welcome to Rachel. Have a safe trip.",bc_map,"0xFF8200";
743 mapannounce "airplane_01","We are currently in Rachel. The Airship will take off shortly.",bc_map,"0xFF8200";
746 donpcevent "#AirshipWarp-3::OnHide";
747 donpcevent "#AirshipWarp-4::OnHide";
748 mapannounce "airplane_01","The Airship is now taking off. Our next destination is Izlude.",bc_map,"0x00ff00";
750 set .moninv, .moninv + 1;
752 if (rand(1,3) == 3) {
753 donpcevent "Airship#airplane02::OnEnable";
762 airplane_01,240,64,5 script Exit#airplane_011a::ExitAirplane01 857,{
765 airplane_01,247,64,5 duplicate(ExitAirplane01) Exit#airplane_011b 857
766 airplane_01,240,40,1 duplicate(ExitAirplane01) Exit#airplane_012a 857
767 airplane_01,247,40,1 duplicate(ExitAirplane01) Exit#airplane_012b 857
769 airplane_01,250,58,2 script Airship Staff#airplane01 67,{
770 mes "[Airship Staff]";
772 mes "to the Airship.";
773 mes "How may I help you?";
775 switch (select("Using the Airship:Captain's Cabin:Facilities:Cancel")) {
777 mes "[Airship Staff]";
778 mes "When you see a broadcast";
779 mes "announcing that we have";
780 mes "arrived at your destination,";
781 mes "please use one of the exits";
782 mes "located at the north and";
783 mes "south ends of the Airship.";
785 mes "[Airship Staff]";
786 mes "If you happen to miss";
787 mes "your stop, don't worry.";
788 mes "The Airship is constantly";
789 mes "en route and you'll get";
790 mes "another chance to arrive";
791 mes "to your intended destination.";
794 mes "[Airship Staff]";
795 mes "The Captain's Cabin";
796 mes "is located at the front";
797 mes "of the Airship. There, you";
798 mes "can meet the captain and";
799 mes "the pilot of the Airship.";
802 mes "[Airship Staff]";
803 mes "The Airship provides";
804 mes "various Mini Games for";
805 mes "the entertainment of all";
806 mes "our passengers. We invite";
807 mes "you to try your luck and skills";
808 mes "in the Airship's Mini Games~";
811 mes "[Airship Staff]";
812 mes "Well, I hope you";
813 mes "your flight aboard";
814 mes "our Airships. Thank";
815 mes "you and have a good day.";
820 airplane_01,50,66,5 script Apple Merchant#air01 86,{
821 if (checkweight(1201,1) == 0) {
822 mes "- Wait a minute !! -";
823 mes "- Currently you're carrying -";
824 mes "- too many items with you. -";
825 mes "- Please try again -";
826 mes "- after you loose some weight. -";
830 mes "Welcome to Meltz's";
831 mes "Shop where you can";
832 mes "purchase Apples or grind";
833 mes "them to make Apple Juice.";
835 switch (select("Buy Apples.:Make Apple Juice.:Cancel.")) {
838 mes "Please enter the amount";
839 mes "of Apples that you wish to";
840 mes "buy. Each Apple is 15 zeny";
841 mes "and you can buy a maximum";
842 mes "of 500 at a time. Please enter";
843 mes "'0' to cancel your order.";
847 set .@pay, .@input * 15;
850 mes "Thanks for stopping";
851 mes "by my shop. Farewell!";
852 mes "Come by anytime when";
853 mes "you feel like having an";
854 mes "Apple to snack on~";
857 else if (.@input < 1 || .@input > 500) {
859 mes "You've entered a number";
860 mes "higher than the maximum";
861 mes "value of 500. Please enter";
862 mes "the number of Apples you";
863 mes "wish to purchase again.";
868 mes "A total of ^FF0000" + .@input + "^000000 Apples";
869 mes "will cost you ^FF0000" + .@pay + "^000000 zeny.";
870 mes "Would you like to continue?";
872 if (select("Yes:No") == 2) {
874 mes "Thanks for stopping";
875 mes "by my shop. Farewell!";
876 mes "Come by anytime when";
877 mes "you feel like having an";
878 mes "Apple to snack on~";
886 mes "I'm sorry, you don't have";
887 mes "enough money with you.";
888 mes "Please check your funds or";
889 mes "purchase less Apples.";
892 else if (checkweight(512,.@input) == 0) {
894 mes "Hmm, I don't think you've";
895 mes "got enough room to carry";
896 mes "this many Apples. You might";
897 mes "want to free up your inventory";
902 set Zeny, Zeny - .@pay;
903 getitem 512,.@input; //Apple
905 mes "Thanks for stopping by";
906 mes "my shop. I hope you enjoy";
907 mes "the flavor of these Apples~!";
912 mes "Okay, I'll need";
913 mes "^FF00003 Apples and 1 Empty Bottle^000000";
914 mes "to make 1 Apple Juice for you.";
915 mes "Would you like to proceed?";
917 switch (select("Yes:No")) {
919 if (countitem(512) < 3 || countitem(713) < 1) {
921 mes "I'm sorry, but you don't";
922 mes "have enough materials to";
923 mes "create a bottle of Apple Juice.";
924 mes "Remember, I need 3 Apples";
925 mes "and 1 Empty Bottle to do it.";
930 mes "Thank you, please wait.";
932 mes "^3355FF*Grind* *Grind*";
933 mes "*Grind* *Grind*";
934 mes "*Clang...!*^000000";
936 delitem 512,3; //Apple
937 delitem 713,1; //Empty_Bottle
938 getitem 531,1; //Apple_Juice
941 mes "Please come again.";
946 mes "Thanks for stopping";
947 mes "by my shop. Farewell!";
948 mes "Come by anytime when";
949 mes "you feel like having an";
950 mes "Apple to snack on~";
955 mes "Thanks for stopping";
956 mes "by my shop. Farewell!";
957 mes "Come by anytime when";
958 mes "you feel like having an";
959 mes "Apple to snack on~";
964 airplane_01,221,158,2 script Pilot#airplane_01 852,{
968 mes "Longitude, 131 degrees east.";
969 mes "Latitude, 37 degrees north.";
970 mes "We're right on course, captain.";
974 mes "Looks like a really";
975 mes "cloudy day. Always hard";
976 mes "to navigate when the skies";
977 mes "aren't clear. Guess we'll";
978 mes "need to amp the radar.";
982 mes "The Captain is a good";
983 mes "man and I can't think of";
984 mes "a finer person to command";
985 mes "this ship. Still, he's pretty";
986 mes "tough, a real slave driver.";
988 mes "[^ff0000Tarlock^000000]";
989 mes "^ff0000Hey...!^000000";
990 mes "^ff0000Less chit-chat^000000";
991 mes "^ff0000and more piloting!^000000";
994 mes "R-right away, sir!";
995 mes "(See what I mean?)";
999 mes "This uniform is";
1000 mes "really dapper, but";
1001 mes "it's way too thick to";
1002 mes "wear around the Airship.";
1007 mes "No one ever really";
1008 mes "comes into this room.";
1009 mes "And the captain IS a reindeer.";
1010 mes "I could just strip to my boxers.";
1014 mes "Oh...! Hello there!";
1015 mes "E-e-enjoying your flight?!";
1020 airplane_01,83,61,2 script Dianne#01airplane_01 72,2,2,{
1022 mes "It's so weird!";
1023 mes "I went to visit the";
1024 mes "Airship Captain and";
1025 mes "all I saw was this";
1026 mes "weird reindeer. Oh!";
1027 mes "Do you think that...";
1035 airplane_01,69,63,2 script Mendel#01airplane_01 55,{
1037 mes "As I expected, the";
1038 mes "in-flight meals are";
1039 mes "three star quality at best.";
1040 mes "*Harrrumph* I really should";
1041 mes "have brought my chef so that";
1042 mes "I could enjoy a real meal.";
1046 airplane_01,71,31,2 script Swordsman Shimizu#air_01 106,{
1047 mes "[Swordsman Shimizu]";
1048 mes "Finally, after five";
1049 mes "years of waiting...";
1050 mes "I can have my revenge!";
1052 mes "[Swordsman Shimizu]";
1054 mes "Have to make sure that";
1055 mes "I don't keep missing my";
1056 mes "stop. But soon, very soon,";
1057 mes "vengeance will be mine!";
1061 //============================================================
1062 //= Typing Challenge
1063 //============================================================
1064 airplane_01,32,61,4 script Nils#ein 49,1,1,{
1066 mes "Welcome to the";
1067 mes "^ff0000RO Typing Challenge^000000.";
1068 mes "Would you like to play";
1069 mes "a quick typing game?";
1071 switch (select("Play ^ff0000RO Typing Challenge^000000:Information:View Top Records:Cancel")) {
1074 mes "Okay, we have";
1075 mes "a new challenger!";
1076 mes "Enter the following";
1077 mes "text as quickly as you";
1078 mes "can without making any";
1079 mes "mistakes! Let's start~!";
1080 setarray .@line1_1$[0], "^3cbcbccallipygian salacius lascivious^000000",
1081 "^3cbcbcBy the power of^000000",
1082 "^0000ffthkelfkskeldmsiejdlslehfndkelsheidl^000000",
1083 "^3cbcbcburrdingdingdingdilidingdingdingphoohudaamb^000000",
1084 "^3cbcbcCoboman no chikara-yumei na^000000",
1085 "^3cbcbcI'm the king of All Weirdos! Now^000000",
1086 "^3cbcbcYou give me no choice. I guess it's^000000";
1087 setarray .@line1_2$[0], "^3cbcbclicentious prurient concupiscent^000000",
1088 "^3cbcbcp-po-poi-po-poi-poin-poing^000000",
1089 "^3cbcbcskemd^000000",
1090 "^3cbcbcandoorabambarambambambambamburanbamding^000000",
1091 "^3cbcbcchikara-daiookii na chikara da ze!^000000",
1092 "^3cbcbcyou know of my true power. Obey~!^000000",
1093 "^3cbcbctime for me to reveal my secret...^000000";
1094 setarray .@line1_3$[0], "",
1095 "^3cbcbcGOD-POING. I NEVER LOSE!^000000",
1098 "^3cbcbcCOBO ON^000000",
1101 setarray .@word1$[0], "callipygian salacius lascivious licentious prurient concupiscent",
1102 "By the power of p-po-poi-po-poi-poin-poing GOD-POING. I NEVER LOSE!",
1103 "thkelfkskeldmsiejdlslehfndkelsheidlskemd",
1104 "burrdingdingdingdilidingdingdingphoohudaambandoorabambarambambambambamburanbamding",
1105 "Coboman no chikara-yumei na chikara-daiookii na chikara da ze! COBO ON",
1106 "I'm the king of All Weirdos! Now you know of my true power. Obey~!",
1107 "You give me no choice. I guess it's time for me to reveal my secret...";
1108 setarray .@line2_1$[0], "^3cbcbcuNflAPPaBLe LoVaBLe SeCreTs AnD^000000",
1109 "^ff1493LiGhTsPeEd RiGhT SPEed LeFT TURn^000000",
1110 "^ff1493hfjdkeldjsieldjshfjdjeiskdlefvbd^000000",
1111 "^ff1493burapaphuralanderamduanbatuhiwooi^000000",
1112 "^ff1493belief love luck grimace sweat rush^000000",
1113 "^800080opeN, Open!op3n.openOpen0p3nOpEn0pen^000000",
1114 "^3cbcbcfReeDoM ecstAcy JoUrnaliSm ArMplt^000000";
1115 setarray .@line2_2$[0], "^3cbcbcboWLIiNg aGaINST tHe KarMA of YoUtH^000000",
1116 "^ff1493RiGhT BuRn OrIGInAL GaNgSteR SmACk^000000",
1118 "^ff1493kabamturubamdingding^000000",
1119 "^ff1493folktale rodimus optimus bumblebee^000000",
1120 "^800080`open'0Pen open? open!111OPENSESAME^000000",
1121 "^3cbcbcDisCoverY hEaDaChE MoonbeAmS jUsTiCE^000000";
1122 setarray .@word2$[0], "uNflAPPaBLe LoVaBLe SeCreTs AnD boWLIiNg aGaINST tHe KarMA of YoUtH",
1123 "LiGhTsPeEd RiGhT SPEed LeFT TURn RiGhT BuRn OrIGInAL GaNgSteR SmACk",
1124 "hfjdkeldjsieldjshfjdjeiskdlefvbd",
1125 "burapaphuralanderamduanbatuhiwooikabamturubamdingding",
1126 "belief love luck grimace sweat rush folktale rodimus optimus bumblebee",
1127 "opeN, Open!op3n.openOpen0p3nOpEn0pen`open'0Pen open? open!111OPENSESAME",
1128 "fReeDoM ecstAcy JoUrnaliSm ArMplt DisCoverY hEaDaChE MoonbeAmS jUsTiCE";
1129 setarray .@letters[0], 1300,
1136 set .@wordtest, rand(7);
1139 mes .@line1_1$[.@wordtest];
1140 mes .@line1_2$[.@wordtest];
1141 mes .@line1_3$[.@wordtest];
1142 set .@start_time, gettimetick(1);
1145 set .@end_time, gettimetick(1);
1146 set .@total_time, .@end_time - .@start_time;
1148 mes .@line2_1$[.@wordtest];
1149 mes .@line2_2$[.@wordtest];
1150 set .@start_time, gettimetick(1);
1153 set .@end_time, gettimetick(1);
1154 set .@total_time, .@total_time + (.@start_time - .@end_time);
1155 set .@tasoo, (.@letters[.@wordtest] / .@total_time) * 6;
1156 if ((.@save1$ == .@word1$[.@wordtest]) && (.@save2$ == .@word2$[.@wordtest])) {
1158 mes "Your record is ^ff0000" + .@total_time + " seconds^000000 and";
1159 mes "the total letters are " + .@tasoo + ".";
1161 if (.@tasoo >= 1300) {
1163 mes "Hmmm, this record isn't";
1164 mes "humanly possible unless you";
1165 mes "copy and paste the whole";
1166 mes "sentence. Please play fairly";
1170 if (.@tasoo >= $050320_ein_typing) {
1172 mes "The previous top record was";
1173 mes "made by ^0000ff" + $050320_minus1_typing$ + "^000000";
1174 mes "with the total ^0000ff" + $050320_ein_typing + "^000000 letters.";
1175 mes "However, ^ff0000" + strcharinfo(0) + "^000000,";
1176 mes "you made the new top record";
1177 mes "this time. Congratulations!";
1178 set $050320_minus1_typing$, strcharinfo(0);
1179 set $050320_ein_typing, .@tasoo;
1184 mes "^0000ff" + $050320_minus1_typing$ + "^000000";
1185 mes "is the current";
1186 mes "record holder with";
1187 mes "a letter total of ^0000ff" + $050320_ein_typing + "^000000";
1188 mes "characters. Try to beat";
1189 mes "that record next time~";
1196 mes "I'm sorry, but";
1197 mes "you entered the";
1198 mes "text incorrectly...";
1203 mes "The ^ff0000RO Typing Challenge^000000";
1204 mes "is a game where you enter";
1205 mes "the given text as quickly as you";
1206 mes "can. The name of the top player";
1207 mes "is recorded for posterity. If you";
1208 mes "want fame, here's your chance!";
1211 mes "I'd just like to let";
1212 mes "you know that you type";
1213 mes "all the text that you see";
1214 mes "in the single input line that";
1215 mes "you're given. So don't press";
1216 mes "the enter key, just click 'OK.'";
1220 mes "^0000ff" + $050320_minus1_typing$ + "^000000";
1221 mes "is the current";
1222 mes "record holder with";
1223 mes "a letter total of ^0000ff" + $050320_ein_typing + "^000000";
1224 mes "characters. Try to beat";
1225 mes "that record next time~";
1229 mes "Feel free to take on the";
1230 mes "^ff0000RO Typing Challenge^000000";
1231 mes "anytime. I'll be here~";
1236 //============================================================
1238 //============================================================
1239 airplane_01,33,68,4 script Clarice 74,{
1241 mes "Hi, I'm Clarice~";
1242 mes "How would you like";
1243 mes "to wager some Apples";
1244 mes "in a friendly game of Dice?";
1246 callfunc "applegamble","Clarice";
1250 function script applegamble {
1251 .@npc_name$ = getarg(0);
1252 switch (select("Play Dice Game:Learn Dice Game Rules:Cancel")) {
1254 mes "["+ .@npc_name$ +"]";
1255 mes "I'm up for a game of";
1256 mes "dice whenever you feel";
1257 mes "like it. Just talk to me if";
1258 mes "you ever get hit with the";
1259 mes "sudden urge to gamble, kay?";
1262 mes "["+ .@npc_name$ +"]";
1263 mes "The rules for the Dice game";
1264 mes "are pretty simple. First, you";
1265 mes "place a bet by wagering Apples.";
1266 mes "You can bet a maximum of 50";
1267 mes "Apples at a time. To keep things";
1268 mes "legal, I can only accept Apples.";
1270 mes "["+ .@npc_name$ +"]";
1271 mes "But hey, if all that zeny";
1272 mes "is burning a hole in your";
1273 mes "pocket, head over to Fruitz";
1274 mes "and you can buy as many";
1275 mes "Apples as you want, playah~";
1277 mes "["+ .@npc_name$ +"]";
1278 mes "Now, we begin with me";
1279 mes "rolling two 6-sided dice.";
1280 mes "When it's your turn, you'll";
1281 mes "roll two 6-sided dice. After";
1282 mes "that, both of us will have the";
1283 mes "option of rolling a third die.";
1285 mes "["+ .@npc_name$ +"]";
1286 mes "Now here's the important";
1287 mes "thing. If your total is higher";
1288 mes "than 12, you'll bust, meaning";
1289 mes "that you lose. Otherwise, the";
1290 mes "person with the higher total";
1291 mes "is the winner. Got it?";
1293 mes "["+ .@npc_name$ +"]";
1294 mes "Now, you'll be the first";
1295 mes "to decide whether or not";
1296 mes "you'll roll the third die. Then,";
1297 mes "depending on your result, I'll";
1298 mes "roll my third die... Or maybe not.";
1300 mes "["+ .@npc_name$ +"]";
1301 mes "When you win, you'll";
1302 mes "receive twice as many";
1303 mes "Apples as you wagered.";
1304 mes "But if we happen to tie, you";
1305 mes "get the Apples that you bet";
1306 mes "returned to you. Fair, right?";
1311 mes "["+ .@npc_name$ +"]";
1312 mes "Ooh, so you'll play with";
1313 mes "me? Great! How many";
1314 mes "Apples would you like to bet?";
1315 mes "Remember, you can wager";
1316 mes "up to 50 Apples. If you'd like";
1317 mes "to cancel, please enter '0'.";
1321 if (.@amount == 0) {
1322 mes "["+ .@npc_name$ +"]";
1323 mes "Changed your mind?";
1324 mes "I understand. Well then,";
1325 mes "I hope we can play sometime.";
1328 else if (.@amount < 1 || .@amount > 50) {
1329 mes "["+ .@npc_name$ +"]";
1330 mes "You can't bet more than";
1331 mes "50 Apples. Remember, we";
1332 mes "need to keep these stakes";
1333 mes "reasonable. Please enter";
1334 mes "a value no greater than 50.";
1338 mes "["+ .@npc_name$ +"]";
1340 mes "betting ^FF0000"+.@amount+"^000000 Apples.";
1341 mes "Is that right?";
1343 if (select("Yes:No") == 2) {
1344 mes "["+ .@npc_name$ +"]";
1345 mes "Mm, made a mistake?";
1346 mes "Alright, please enter the";
1347 mes "number of Apples you";
1348 mes "wish to place in this bet";
1352 if (countitem(512) <.@amount) {
1353 mes "I'm sorry, but you";
1354 mes "don't seem to have";
1355 mes "enough Apples for this";
1356 mes "bet... You can't gamble";
1357 mes "if you can't play, you know.";
1361 delitem 512,.@amount;
1362 mes "["+ .@npc_name$ +"]";
1364 mes "Now we can start";
1365 mes "this game! I'll roll first~";
1368 mes "^3355FF*Rolling and rumbling*^000000";
1370 set .@giveapple, .@amount*2;
1371 set .@table1, rand(1,6);
1372 set .@table2, rand(1,6);
1373 set .@tablesub, .@table1 + .@table2;
1374 set .@tabletotal, .@tablesub;
1375 mes "["+ .@npc_name$ +"]";
1376 mes "I got a ^0000FF" + .@table1 + "^000000 and a ^0000FF" + .@table2 + "^000000.";
1377 mes "That's a total of ^0000FF" + .@tablesub + "^000000.";
1378 mes "^FF0000" + strcharinfo(0) + "^000000, now it's your turn.";
1380 select("Cast Dice.");
1381 mes "^3355FF*Rolling and rumbling*^000000";
1382 set .@player1, rand(1,6);
1383 set .@player2, rand(1,6);
1384 set .@playersub, .@player1 + .@player2;
1385 if (.@playersub > 9 && .@amount > 39) {
1386 set .@player1, rand(1,6);
1387 set .@player2, rand(1,6);
1388 set .@playersub, .@player1 + .@player2;
1390 set .@playertotal, .@playersub;
1392 mes "["+ .@npc_name$ +"]";
1393 mes "^FF0000" + strcharinfo(0) + "^000000, you have ^FF0000" + .@player1 + "^000000 and ^FF0000" + .@player2 + "^000000. The total is ^FF0000" + .@playersub + "^000000 .";
1395 mes "["+ .@npc_name$ +"]";
1396 if(.@playersub == .@tablesub) {
1397 mes "Currently my total is ^0000FF" + .@tablesub + "^000000 and ^FF0000" + strcharinfo(0) + "^000000, your total is ^FF0000" + .@playersub + "^000000. We are making an even game. Would you like to cast dice again?";
1398 } else if (.@playersub > .@tablesub) {
1399 mes "Currently my total is ^0000FF" + .@tablesub + "^000000 and ^FF0000" + strcharinfo(0) + "^000000, your total is ^FF0000" + .@playersub + "^000000. ^FF0000" + strcharinfo(0) + "^000000, you are currently winning this game. Would you like to cast dice again?";
1400 } else if(.@tablesub > .@playersub) {
1401 mes "Currently my total is ^0000FF" + .@tablesub + "^000000 and ^FF0000" + strcharinfo(0) + "^000000, your total is ^FF0000" + .@playersub + "^000000. I am winning this game. Would you like to cast dice again?";
1404 switch (select("Cast dice.:Cancel.")) {
1406 mes "^3355FF*Rolling and rumbling*^000000";
1407 set .@player3, rand(1,6);
1408 set .@playertotal, .@playertotal + .@player3;
1410 mes "["+ .@npc_name$ +"]";
1411 if (.@playertotal > 12) {
1412 mes "^FF0000" + strcharinfo(0) + "^000000, you got ^FF0000" + .@player3 + "^000000 and the total is now ^FF0000" + .@playertotal + "^000000. You lost this game. I am sorry but please try again.";
1415 else if (.@playertotal < .@tablesub) {
1416 mes "^FF0000" + strcharinfo(0) + "^000000, you got ^FF0000" + .@player3 + "^000000 and the total is now ^FF0000" + .@playertotal + "^000000. Even though you casted dice again, still your total is smaller than mine. You lost the game. I am sorry and please try again.";
1419 else if (.@playertotal == .@tablesub) {
1420 if (.@tablesub > 8) {
1421 mes "^FF0000" + strcharinfo(0) + "^000000, you got ^FF0000" + .@player3 + "^000000 and the total is now ^FF0000" + .@playertotal + "^000000. I don't want to take any risk, let's end this game in a draw. Let's play again some other time~";
1423 getitem 512,.@amount; //Apple
1427 mes "Let me cast the dice again.";
1430 mes "^FF0000" + strcharinfo(0) + "^000000, you got ^FF0000" + .@player3 + "^000000 and the total is now ^FF0000" + .@playertotal + "^000000. Now it is my turn.";
1434 mes "["+ .@npc_name$ +"]";
1435 if (.@playersub > .@tablesub) {
1436 mes "I see, you don't want to take risk of losing the game. Okay, let me cast dice again.";
1438 else if (.@playersub == .@tablesub) {
1439 if (.@tablesub > 8) {
1440 mes "I see, you don't want to take risk of losing this game. Neither do I, let's end this game in a draw. Let's play again some other time~";
1442 getitem 512,.@amount; //Apple
1446 mes "Let me cast the dice again.";
1449 mes "It couldn't hurt to try.";
1450 mes "Well, I win this time.";
1451 mes "I'm sorry, let's try play";
1452 mes "again sometime.";
1458 mes "^3355FF*Rolling and rumbling*^000000";
1459 set .@table3, rand(1,6);
1460 set .@tabletotal, .@tabletotal + .@table3;
1462 mes "["+ .@npc_name$ +"]";
1463 if (.@tabletotal > 12) {
1464 mes "I got ^0000FF" + .@table3 + "^000000 and the total is now ^0000FF" + .@tabletotal + "^000000. I lost this game since my total exceeded 12. Let me give you my apples. Congratulations, that was a great game.";
1466 getitem 512,.@giveapple; //Apple
1469 else if (.@playertotal > .@tabletotal) {
1470 mes "I got ^0000FF" + .@table3 + "^000000 and the total is now ^0000FF" + .@tabletotal + "^000000. With total ^FF0000" + .@playertotal + "^000000 you won this game, ^FF0000" + strcharinfo(0) + "^000000. Let me give you my apples. It was a great game and I hope we will play again some other time.";
1472 getitem 512,.@giveapple; //Apple
1475 else if (.@playertotal == .@tabletotal) {
1476 mes "I got ^0000FF" + .@table3 + "^000000 and the total is now ^0000FF" + .@tabletotal + "^000000. With total ^FF0000" + .@playertotal + "^000000 this game came out even, ^FF0000" + strcharinfo(0) + "^000000. Let me give you your apple back. It was a great game and I hope we will play again some other time.";
1478 getitem 512,.@amount; //Apple
1481 else if (.@playertotal < .@tabletotal) {
1482 mes "I got ^0000FF" + .@table3 + "^000000 and the total is now ^0000FF" + .@tabletotal + "^000000. With total ^FF0000" + .@playertotal + "^000000 you lost this game, ^FF0000" + strcharinfo(0) + "^000000. I am sorry but please try again.";