diff options
Diffstat (limited to 'npc/airports')
-rw-r--r-- | npc/airports/airships.txt | 1481 | ||||
-rw-r--r-- | npc/airports/einbroch.txt | 108 | ||||
-rw-r--r-- | npc/airports/hugel.txt | 36 | ||||
-rw-r--r-- | npc/airports/izlude.txt | 51 | ||||
-rw-r--r-- | npc/airports/lighthalzen.txt | 83 | ||||
-rw-r--r-- | npc/airports/rachel.txt | 36 | ||||
-rw-r--r-- | npc/airports/yuno.txt | 159 |
7 files changed, 1954 insertions, 0 deletions
diff --git a/npc/airports/airships.txt b/npc/airports/airships.txt new file mode 100644 index 000000000..9d21a4e4d --- /dev/null +++ b/npc/airports/airships.txt @@ -0,0 +1,1481 @@ +//===== rAthena Script ======================================= +//= The Airship System Script +//===== By: ================================================== +//= rAthena Dev Team +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= The Airship System used in the official servers. +//===== Additional Comments: ================================= +//= Official NPCs. +//============================================================ + +//============================================================ +//= Domestic Airship Route +//= ... -> Juno -> Einbroch -> Lighthalzen -> Einbroch +//= -> Juno -> Hugel -> ... +//============================================================ + +airplane,243,73,0 script #AirshipWarp-1 45,1,1,{ + end; + +OnInit: +OnHide: + misceffect 16; + disablenpc strnpcinfo(0); + end; + +OnUnhide: + enablenpc strnpcinfo(0); + misceffect 215; + end; + +OnTouch: + switch ($@airplanelocation) { + case 0: warp "yuno",92,260; end; + case 1: warp "einbroch",92,278; end; + case 2: warp "lighthalzen",302,75; end; + case 3: warp "hugel",181,146; end; + } +} + +airplane,243,29,0 duplicate(#AirshipWarp-1) #AirshipWarp-2 45,1,1 + +airplane,1,1,0 script Domestic_Airship -1,{ + end; +OnInit: + initnpctimer; + end; +OnTimer20000: + mapannounce "airplane","We are heading to Einbroch.",bc_map,"0x00ff00"; + end; +OnTimer50000: + mapannounce "airplane","We will arrive in Einbroch shortly.",bc_map,"0x00ff00"; + end; +OnTimer60000: + set $@airplanelocation,1; + donpcevent "#AirshipWarp-1::OnUnhide"; + donpcevent "#AirshipWarp-2::OnUnhide"; + mapannounce "airplane","Welcome to Einbroch. Have a safe trip.",bc_map,"0x00ff00"; + end; +OnTimer70000: + mapannounce "airplane","Currently we are in Einbroch. The Airship will take off shortly.",bc_map,"0x00ff00"; + end; +OnTimer80000: + donpcevent "#AirshipWarp-1::OnHide"; + donpcevent "#AirshipWarp-2::OnHide"; + mapannounce "airplane","The Airship is now taking off. Our next destination is Lighthalzen.",bc_map,"0x70dbdb"; + end; +OnTimer100000: + mapannounce "airplane","We are heading to Lighthalzen.",bc_map,"0x70dbdb"; + end; +OnTimer130000: + mapannounce "airplane","We will arrive in Lighthalzen shortly.",bc_map,"0x70dbdb"; + end; +OnTimer140000: + set $@airplanelocation,2; + donpcevent "#AirshipWarp-1::OnUnhide"; + donpcevent "#AirshipWarp-2::OnUnhide"; + mapannounce "airplane","Welcome to Lighthalzen. Have a safe trip.",bc_map,"0x70dbdb"; + end; +OnTimer150000: + mapannounce "airplane","Currently we are in Lighthalzen. The Airship will leave shortly.",bc_map,"0x70dbdb"; + end; +OnTimer160000: + donpcevent "#AirshipWarp-1::OnHide"; + donpcevent "#AirshipWarp-2::OnHide"; + mapannounce "airplane","The Airship is leaving the ground. Our next destination is Einbroch.",bc_map,"0x00ff00"; + end; +OnTimer180000: + mapannounce "airplane","We are heading to Einbroch.",bc_map,"0x00ff00"; + end; +OnTimer210000: + mapannounce "airplane","We will arrive in Einbroch shortly.",bc_map,"0x00FF00"; + end; +OnTimer220000: + set $@airplanelocation,1; + donpcevent "#AirshipWarp-1::OnUnhide"; + donpcevent "#AirshipWarp-2::OnUnhide"; + mapannounce "airplane","Welcome to Einbroch. Have a safe trip.",bc_map,"0x00ff00"; + end; +OnTimer230000: + mapannounce "airplane","Currently we are in Einbroch. The Airship will take off shortly.",bc_map,"0x00ff00"; + end; +OnTimer240000: + donpcevent "#AirshipWarp-1::OnHide"; + donpcevent "#AirshipWarp-2::OnHide"; + mapannounce "airplane","The Airship is now taking off. Our next destination is Juno.",bc_map,"0xff8200"; + end; +OnTimer260000: + mapannounce "airplane","We are heading to Juno.",bc_map,"0xff8200"; + end; +OnTimer290000: + mapannounce "airplane","We will arrive in Juno shortly.",bc_map,"0xff8200"; + end; +OnTimer300000: + set $@airplanelocation,0; + donpcevent "#AirshipWarp-1::OnUnhide"; + donpcevent "#AirshipWarp-2::OnUnhide"; + mapannounce "airplane","Welcome to Juno. Have a safe trip.",bc_map,"0xff8200"; + end; +OnTimer310000: + mapannounce "airplane","Currently we are in Juno. The Airship will leave shortly.",bc_map,"0xff8200"; + end; +OnTimer320000: + donpcevent "#AirshipWarp-1::OnHide"; + donpcevent "#AirshipWarp-2::OnHide"; + mapannounce "airplane","The Airship is leaving the ground. Our next destination is Hugel.",bc_map,"0xca4bf3"; + end; +OnTimer340000: + mapannounce "airplane","We are heading to Hugel.",bc_map,"0xca4bf3"; + end; +OnTimer370000: + mapannounce "airplane","We will arrive in Hugel shortly.",bc_map,"0xca4bf3"; + end; +OnTimer380000: + set $@airplanelocation,3; + donpcevent "#AirshipWarp-1::OnUnhide"; + donpcevent "#AirshipWarp-2::OnUnhide"; + mapannounce "airplane","Welcome to Hugel. Have a safe trip.",bc_map,"0xca4bf3"; + end; +OnTimer390000: + mapannounce "airplane","Currently we are in Hugel. The Airship will leave shortly.",bc_map,"0xca4bf3"; + end; +OnTimer400000: + donpcevent "#AirshipWarp-1::OnHide"; + donpcevent "#AirshipWarp-2::OnHide"; + mapannounce "airplane","The Airship is leaving the ground. Our next destination is Juno.",bc_map,"0xff8200"; + end; +OnTimer420000: + mapannounce "airplane","We are heading to Juno.",bc_map,"0xff8200"; + end; +OnTimer450000: + mapannounce "airplane","We will arrive in Juno shortly.",bc_map,"0xff8200"; + end; +OnTimer460000: + set $@airplanelocation,0; + donpcevent "#AirshipWarp-1::OnUnhide"; + donpcevent "#AirshipWarp-2::OnUnhide"; + mapannounce "airplane","Welcome to Juno. Have a safe trip.",bc_map,"0xff8200"; + end; +OnTimer470000: + mapannounce "airplane","Currently we are in Juno. The Airship will leave shortly.",bc_map,"0xff8200"; + end; +OnTimer480000: + donpcevent "#AirshipWarp-1::OnHide"; + donpcevent "#AirshipWarp-2::OnHide"; + mapannounce "airplane","The Airship is leaving the ground. Our next destination is Einbroch.",bc_map,"0x00ff00"; + stopnpctimer; + initnpctimer; +} + +airplane,240,64,5 script Exit#airplane1a::ExitAirplane 857,{ + end; +} +airplane,247,64,5 duplicate(ExitAirplane) Exit#airplane1b 857 +airplane,240,40,1 duplicate(ExitAirplane) Exit#airplane2a 857 +airplane,247,40,1 duplicate(ExitAirplane) Exit#airplane2b 857 + +airplane,100,69,3 script Airship Crew#ein-1 852,{ + mes "[Airship Crew]"; + mes "If we've landed at"; + mes "your destination and"; + mes "you'd like to leave the"; + mes "Airship, please use the"; + mes "stairs up ahead. Thank"; + mes "you for your patronage."; + close; +} + +airplane,64,94,1 script Umbala Kid#ein_p 787,{ + emotion e_swt2; + mes "[Kid]"; + if (event_umbala >= 3) { + mes "Wow, mom!"; + mes "L-look at this!"; + mes "We're flying! W-we're..."; + mes "We're in the freakin' sky!"; + } + else { + mes "Makumalagu!"; + mes "Saampa joojimbo"; + mes "kaku na jedi Solo."; + mes "Bwahahahahahahaah!"; + } + close; +} + +airplane,66,93,3 script Umbala Lady#ein_p 783,{ + emotion e_dots; + mes "[Lady]"; + if (event_umbala >= 3) { + mes "Shush..."; + mes "Honey, behave~"; + mes "Don't act so excited"; + mes "when we're out in a"; + mes "public place like this!"; + } + else { + mes "Chooktu!"; + mes "Sacraup matii!"; + mes "Shaka gurftalfi"; + mes "huntiki manjoo!"; + } + close; +} + +airplane,71,91,7 script Umbala Man#ein_p 789,{ + if (event_umbala >= 3) { + mes "[Chrmlim]"; + mes "Hey there~"; + mes "From that look on"; + mes "your face, I see that"; + mes "you can understand"; + mes "me. ^333333*Whew...!*^000000"; + next; + emotion e_pif; + mes "[Chrmlim]"; + mes "I've been helping the"; + mes "Airship enterprise by"; + mes "having the Airship Crewmen"; + mes "train in Umbala to overcome"; + mes "any acrophobia they might have through bungee jumping. Neat, eh?"; + next; + mes "[Chrmlim]"; + mes "But..."; + mes "Some of them couldn't"; + mes "overcome their fear of"; + mes "heights. And a few even"; + mes "ended up, um, ^333333in Nifflheim^000000."; + } + else { + mes "[Chrmlim]"; + mes "Bajoo ga"; + mes "nukta Airship."; + next; + mes "[Chrmlim]"; + mes "..."; + mes "......"; + next; + emotion e_pif; + mes "[Chrmlim]"; + mes "Shabala moow bajama"; + mes "Airship kulaha googoona "; + mes "salu. Dama, kookoo na nu"; + mes "yukuta. Um, fashuku na ret!"; + } + close; +} + +airplane,250,58,2 script Airship Staff#airplane 67,{ + // Hugel quest addition + if (hg_ma1 == 3) { + mes "[Airship Staff]"; + mes "Welcome"; + mes "to the Airship."; + mes "How may I help you?"; + next; + select("Do you have a passenger named Thierry?"); + mes "[Airship Staff]"; + mes "I am sorry, but I do not think that we have a passenger by that name."; + close; + } + // Hugel quest end + mes "[Airship Staff]"; + mes "Welcome"; + mes "to the Airship."; + mes "How may I help you?"; + next; + switch (select("Using the Airship:Captain's Cabin:Facilities:Cancel")) { + case 1: + mes "[Airship Staff]"; + mes "When you see a broadcast"; + mes "announcing that we have"; + mes "arrived at your destination,"; + mes "please use one of the exits"; + mes "located at the north and"; + mes "south ends of the Airship."; + next; + mes "[Airship Staff]"; + mes "If you happen to miss"; + mes "your stop, don't worry."; + mes "The Airship is constantly"; + mes "en route and you'll get"; + mes "another chance to arrive"; + mes "to your intended destination."; + close; + case 2: + mes "[Airship Staff]"; + mes "The Captain's Cabin"; + mes "is located at the front"; + mes "of the Airship. There, you"; + mes "can meet the captain and"; + mes "the pilot of the Airship."; + close; + case 3: + mes "[Airship Staff]"; + mes "The Airship provides"; + mes "various Mini Games for"; + mes "the entertainment of all"; + mes "our passengers. We invite"; + mes "you to try your luck and skills"; + mes "in the Airship's Mini Games~"; + close; + case 4: + mes "[Airship Staff]"; + mes "Well, I hope you"; + mes "your flight aboard"; + mes "our Airships. Thank"; + mes "you and have a good day."; + close; + } +} + +airplane,80,71,2 script Zerta#01airplane 834,{ + mes "[Zerta]"; + mes "Oh, hello adventurer."; + mes "I am currently on a"; + mes "sacred journey, offering"; + mes "prayer for the sake of the"; + mes "Rune-Midgard continent."; + close; +} + +airplane,65,63,4 script Maelin#01airplane 714,{ + mes "[Maelin]"; + mes "Um, this Airship is"; + mes "to Lutie, isn't it? I've"; + mes "waiting so long,"; + mes "but I haven't heard any"; + mes "broadcast about Lutie."; + close; +} + +airplane,72,34,6 script Aanos#01airplane 702,{ + mes "[Aanos]"; + mes "Oh wooow~"; + mes "The sky looks"; + mes "so different and"; + mes "pretty from up there!"; + close; +} + +airplane,221,158,2 script Pilot#airplane 852,{ + // Hugel quest addition + if (hg_ma1 == 3) { + mes "[Pilot]"; + mes "I wish that I could go drink a cold fresh beer."; + mes "Drinking is the goal of my life! Drinking gives me energy!"; + mes "I am nothing without drinks!"; + next; + mes "[Pilot]"; + mes "But! Driving under the influence is not good."; + mes "But! That makes me want to drink more and more!"; + emotion e_sob; + next; + select("Do you know a passenger named Thierry?"); + mes "[Pilot]"; + mes "This uniform is"; + mes "really dapper, but"; + mes "it's way too thick to"; + mes "wear around the Airship."; + next; + mes "[Pilot]"; + mes "..."; + mes "......"; + mes "No one ever really"; + mes "comes into this room."; + mes "And the captain IS a reindeer.^FFFFFF ^000000 I could just strip to my boxers."; + next; + emotion e_omg; + mes "[Pilot]"; + mes "Wah!? Who is it!"; + next; + mes "- ...He is not listening to you, at all. -"; + close; + } + // Hugel quest end + switch (rand(1,4)) { + case 1: + mes "[Pilot]"; + mes "It's been sooo"; + mes "long since I've"; + mes "enjoyed a nice, cold"; + mes "alcoholic brew. But the"; + mes "job requires me to be as"; + mes "clear headed as I can!"; + next; + mes "[Pilot]"; + mes "Always drink responsibly!"; + mes "Still, I can't remember the"; + mes "last time I had a real vacation"; + mes "or even a day off. Yeap, some"; + mes "booze, some chips, some TV"; + mes "and serius R&R is in order."; + emotion e_sob; + close; + case 2: + mes "[Pilot]"; + mes "Man, the weather"; + mes "is really nice today."; + mes "Bright, open skies make"; + mes "for some good visibility"; + mes "and safe, carefree flying."; + close; + case 3: + mes "[Pilot]"; + mes "You know, our captain's a"; + mes "respectable guy. Him and"; + mes "his brother are actually well"; + mes "known in the aircraft industry."; + mes "Who knew reindeer made"; + mes "such good captains?"; + next; + mes "[Pilot]"; + mes "Just between you"; + mes "and me, I gotta tell"; + mes "you, that Santa was onto"; + mes "something, getting reindeers"; + mes "and elves to work for him."; + mes "The man must be a genius!"; + close; + default: + mes "[Pilot]"; + mes "You know, this whole"; + mes "piloting thing in the air,"; + mes "it's rather new, you know?"; + mes "Yeah, they got this Airship"; + mes "operation in a hurry."; + next; + emotion e_omg; + mes "[Pilot]"; + mes "Still, they where real"; + mes "serius, really thought"; + mes "ahead. I mean, they had us"; + mes "training while the Airships"; + mes "were still being invented."; + mes "Isn't that freakin' crazy?!"; + close; + } +} + +airplane,50,66,5 script Apple Merchant#airplane 86,{ + mes "[Fruitz]"; + mes "Welcome to Fruitz's"; + mes "Shop where you can"; + mes "purchase Apples or grind"; + mes "them to make Apple Juice."; + next; + switch (select("Buy Apples.:Make Apple Juice.:Why are you here?:Cancel.")) { + case 1: + mes "[Fruitz]"; + mes "Please enter the amount"; + mes "of Apples that you wish to"; + mes "buy. Each Apple is 15 zeny"; + mes "and you can buy a maximum"; + mes "of 500 at a time. Please enter"; + mes " '0' to cancel your order."; + next; + while (1) { + input .@input; + set .@pay, .@input * 15; + if (.@input == 0) { + mes "[Fruitz]"; + mes "Thanks for stopping"; + mes "by my shop. Farewell!"; + mes "Come by anytime when"; + mes "you feel like having an"; + mes "Apple to snack on~"; + close; + } + else if (.@input < 1 || .@input > 500) { + mes "[Fruitz]"; + mes "You've entered a number"; + mes "higher than the maximum"; + mes "value of 500. Please enter"; + mes "the number of Apples you"; + mes "wish to purchase again."; + next; + } + else { + mes "[Fruitz]"; + mes "A total of ^FF0000" + .@input + "^000000 Apples"; + mes "will cost you ^FF0000" + .@pay + " Zeny^000000 zeny."; + mes "Would you like to continue?"; + next; + if (select("Yes:No") == 2) { + mes "[Fruitz]"; + mes "Thanks for stopping"; + mes "by my shop. Farewell!"; + mes "Come by anytime when"; + mes "you feel like having an"; + mes "Apple to snack on~"; + close; + } + break; + } + } + if (Zeny < .@pay) { + mes "[Fruitz]"; + mes "I'm sorry, but you don't"; + mes "have enough money to"; + mes "purchase that many Apples."; + mes "Please check your zeny or"; + mes "purchase fewer Apples."; + close; + } + else if (checkweight(512,.@input) == 0) { + mes "[Fruitz]"; + mes "Hmmm, I don't think"; + mes "you've got enough room in"; + mes "your inventory to carry this"; + mes "many Apples. Why don't you free up some of your inventory space?"; + close; + } + else { + set Zeny, Zeny - .@pay; + getitem 512,.@input; //Apple + mes "[Fruitz]"; + mes "Thanks for stopping by"; + mes "my shop. I hope you enjoy"; + mes "the flavor of these Apples~!"; + close; + } + case 2: + mes "[Fruitz]"; + mes "Okay, I'll need"; + mes "^FF00003 Apples and 1 Empty Bottle^000000"; + mes "to make 1 Apple Juice for you."; + mes "Would you like to proceed?"; + next; + switch (select("Yes:No")) { + case 1: + if (countitem(512) < 3 || countitem(713) < 1) { + mes "[Fruitz]"; + mes "I'm sorry, but you don't"; + mes "have enough materials to"; + mes "create a bottle of Apple Juice."; + mes "Remember, I need 3 Apples"; + mes "and 1 Empty Bottle to do it."; + close; + } + else { + mes "[Fruitz]"; + mes "Thank you,"; + mes "please wait"; + mes "just a moment."; + next; + mes "^3355FF*Grind grind*"; + mes "*Grind grind*"; + mes "*Clang...!*^000000"; + next; + delitem 512,3; //Apple + delitem 713,1; //Empty_Bottle + getitem 531,1; //Apple_Juice + mes "[Fruitz]"; + mes "There you go~"; + mes "I hope you enjoy!"; + mes "Please feel free to"; + mes "stop by for your Apple"; + mes "and Apple Juice needs"; + mes "at anytime, adventurer~"; + close; + } + case 2: + mes "[Fruitz]"; + mes "Thanks for stopping"; + mes "by my shop. Farewell!"; + mes "Come by anytime when"; + mes "you feel like having an"; + mes "Apple to snack on~"; + close; + } + case 3: + mes "[Fruitz]"; + mes "I used to be a wandering"; + mes "vagabond when, one day,"; + mes "I took a nap and something"; + mes "struck my head and awoke"; + mes "me from my restful slumber."; + next; + mes "[Fruitz]"; + mes "It turns out that I was"; + mes "sleeping beneath an apple"; + mes "tree and that an apple fell"; + mes "and hit me on the head."; + mes "I was dying of hunger and"; + mes "was about to eat that Apple..."; + next; + mes "[Fruitz]"; + mes "But suddenly, Kain, my old"; + mes "friend from the mining days,"; + mes "asked me to help him around"; + mes "on the Airship. So I did, and"; + mes "it was there where I found some"; + mes "people playing the Dice game."; + next; + mes "[Fruitz]"; + mes "I was bored and curious"; + mes "and ended up wagering that"; + mes "single Apple in a game of"; + mes "dice. But for some reason,"; + mes "I had this incredible lucky"; + mes "streak. One apple became two... "; + next; + mes "[Fruitz]"; + mes "Two became four and"; + mes "before I knew it, I had"; + mes "cornered the Apple market!"; + mes "I won so many Apples, I just"; + mes "started my own business here"; + mes "on the Airship. Weird, huh?"; + next; + mes "[Fruitz]"; + mes "So Apples are good"; + mes "for you. They were"; + mes "certainly very good"; + mes "to me. Hahahahaah~!"; + close; + case 4: + mes "[Fruitz]"; + mes "Thank you for"; + mes "using my shop."; + mes "Farewell~"; + close; + } +} + +//============================================================ +//= International Airship Route +//= ... -> Izlude -> Juno -> Rachel -> ... +//============================================================ + +airplane_01,243,73,0 script #AirshipWarp-3 45,1,1,{ + end; + +OnTouch: + switch ($@airplanelocation2) { + case 0: warp "ra_fild12",292,204; end; + case 1: + if(checkre(0)) + warp "izlude",200,73; + else + warp "izlude",200,56; + end; + case 2: warp "yuno",12,261; end; + } + +OnInit: +OnHide: + misceffect 16; + disablenpc strnpcinfo(0); + end; + +OnUnhide: + enablenpc strnpcinfo(0); + misceffect 215; + end; +} + +airplane_01,243,29,0 duplicate(#AirshipWarp-3) #AirshipWarp-4 45,1,1 + +airplane_01,1,1,0 script International_Airship -1,{ + end; +OnInit: +OnEnable: + initnpctimer; + end; +OnTimer25000: + mapannounce "airplane_01","We are heading to Izlude.",bc_map,"0x00ff00"; + end; +OnTimer50000: + mapannounce "airplane_01","We will arrive in Izlude shortly.",bc_map,"0x00ff00"; + end; +OnTimer60000: + set $@airplanelocation2,1; + donpcevent "#AirshipWarp-3::OnUnhide"; + donpcevent "#AirshipWarp-4::OnUnhide"; + mapannounce "airplane_01","Welcome to Izlude. Have a safe trip.",bc_map,"0x00ff00"; + end; +OnTimer70000: + mapannounce "airplane_01","We are currently in Izlude. The Airship will take off shortly.",bc_map,"0x00ff00"; + end; +OnTimer80000: + donpcevent "#AirshipWarp-3::OnHide"; + donpcevent "#AirshipWarp-4::OnHide"; + mapannounce "airplane_01","The Airship is now taking off. Our next destination is Juno.",bc_map,"0x70dbdb"; + end; +OnTimer105000: + mapannounce "airplane_01","We are heading to Juno.",bc_map,"0x70dbdb"; + end; +OnTimer130000: + mapannounce "airplane_01","We will arrive in Juno shortly.",bc_map,"0x70dbdb"; + end; +OnTimer140000: + set $@airplanelocation2,2; + donpcevent "#AirshipWarp-3::OnUnhide"; + donpcevent "#AirshipWarp-4::OnUnhide"; + mapannounce "airplane_01","Welcome to Juno. Have a safe trip.",bc_map,"0x70dbdb"; + end; +OnTimer150000: + mapannounce "airplane_01","We are currently in Juno. The Airship will leave shorty.",bc_map,"0x70dbdb"; + end; +OnTimer160000: + donpcevent "#AirshipWarp-3::OnHide"; + donpcevent "#AirshipWarp-4::OnHide"; + mapannounce "airplane_01","The Airship is leaving the ground. Our next destination is Rachel.",bc_map,"0xFF8200"; + end; +OnTimer185000: + mapannounce "airplane_01","We are heading to Rachel.",bc_map,"0xFF8200"; + end; +OnTimer210000: + mapannounce "airplane_01","We will arrive in Rachel shortly.",bc_map,"0xFF8200"; + end; +OnTimer220000: + set $@airplanelocation2,0; + donpcevent "#AirshipWarp-3::OnUnhide"; + donpcevent "#AirshipWarp-4::OnUnhide"; + mapannounce "airplane_01","Welcome to Rachel. Have a safe trip.",bc_map,"0xFF8200"; + end; +OnTimer230000: + mapannounce "airplane_01","We are currently in Rachel. The Airship will take off shortly.",bc_map,"0xFF8200"; + end; +OnTimer240000: + donpcevent "#AirshipWarp-3::OnHide"; + donpcevent "#AirshipWarp-4::OnHide"; + mapannounce "airplane_01","The Airship is now taking off. Our next destination is Izlude.",bc_map,"0x00ff00"; + stopnpctimer; + set .moninv, .moninv + 1; + if (.moninv == 7) { + if (rand(1,3) == 3) { + donpcevent "Airship#airplane02::OnEnable"; + end; + } + set .moninv, 0; + } + initnpctimer; + end; +} + +airplane_01,240,64,5 script Exit#airplane_011a::ExitAirplane01 857,{ + end; +} +airplane_01,247,64,5 duplicate(ExitAirplane01) Exit#airplane_011b 857 +airplane_01,240,40,1 duplicate(ExitAirplane01) Exit#airplane_012a 857 +airplane_01,247,40,1 duplicate(ExitAirplane01) Exit#airplane_012b 857 + +airplane_01,250,58,2 script Airship Staff#airplane01 67,{ + mes "[Airship Staff]"; + mes "Welcome"; + mes "to the Airship."; + mes "How may I help you?"; + next; + switch (select("Using the Airship:Captain's Cabin:Facilities:Cancel")) { + case 1: + mes "[Airship Staff]"; + mes "When you see a broadcast"; + mes "announcing that we have"; + mes "arrived at your destination,"; + mes "please use one of the exits"; + mes "located at the north and"; + mes "south ends of the Airship."; + next; + mes "[Airship Staff]"; + mes "If you happen to miss"; + mes "your stop, don't worry."; + mes "The Airship is constantly"; + mes "en route and you'll get"; + mes "another chance to arrive"; + mes "to your intended destination."; + close; + case 2: + mes "[Airship Staff]"; + mes "The Captain's Cabin"; + mes "is located at the front"; + mes "of the Airship. There, you"; + mes "can meet the captain and"; + mes "the pilot of the Airship."; + close; + case 3: + mes "[Airship Staff]"; + mes "The Airship provides"; + mes "various Mini Games for"; + mes "the entertainment of all"; + mes "our passengers. We invite"; + mes "you to try your luck and skills"; + mes "in the Airship's Mini Games~"; + close; + case 4: + mes "[Airship Staff]"; + mes "Well, I hope you"; + mes "your flight aboard"; + mes "our Airships. Thank"; + mes "you and have a good day."; + close; + } +} + +airplane_01,50,66,5 script Apple Merchant#air01 86,{ + if (checkweight(1201,1) == 0) { + mes "- Wait a minute !! -"; + mes "- Currently you're carrying -"; + mes "- too many items with you. -"; + mes "- Please try again -"; + mes "- after you loose some weight. -"; + close; + } + mes "[Meltz]"; + mes "Welcome to Meltz's"; + mes "Shop where you can"; + mes "purchase Apples or grind"; + mes "them to make Apple Juice."; + next; + switch (select("Buy Apples.:Make Apple Juice.:Cancel.")) { + case 1: + mes "[Meltz]"; + mes "Please enter the amount"; + mes "of Apples that you wish to"; + mes "buy. Each Apple is 15 zeny"; + mes "and you can buy a maximum"; + mes "of 500 at a time. Please enter"; + mes "'0' to cancel your order."; + next; + while (1) { + input .@input; + set .@pay, .@input * 15; + if (.@input == 0) { + mes "[Meltz]"; + mes "Thanks for stopping"; + mes "by my shop. Farewell!"; + mes "Come by anytime when"; + mes "you feel like having an"; + mes "Apple to snack on~"; + close; + } + else if (.@input < 1 || .@input > 500) { + mes "[Meltz]"; + mes "You've entered a number"; + mes "higher than the maximum"; + mes "value of 500. Please enter"; + mes "the number of Apples you"; + mes "wish to purchase again."; + next; + } + else { + mes "[Meltz]"; + mes "A total of ^FF0000" + .@input + "^000000 Apples"; + mes "will cost you ^FF0000" + .@pay + "^000000 zeny."; + mes "Would you like to continue?"; + next; + if (select("Yes:No") == 2) { + mes "[Meltz]"; + mes "Thanks for stopping"; + mes "by my shop. Farewell!"; + mes "Come by anytime when"; + mes "you feel like having an"; + mes "Apple to snack on~"; + close; + } + break; + } + } + if (Zeny < .@pay) { + mes "[Meltz]"; + mes "I'm sorry, you don't have"; + mes "enough money with you."; + mes "Please check your funds or"; + mes "purchase less Apples."; + close; + } + else if (checkweight(512,.@input) == 0) { + mes "[Meltz]"; + mes "Hmm, I don't think you've"; + mes "got enough room to carry"; + mes "this many Apples. You might"; + mes "want to free up your inventory"; + mes "space."; + close; + } + else { + set Zeny, Zeny - .@pay; + getitem 512,.@input; //Apple + mes "[Meltz]"; + mes "Thanks for stopping by"; + mes "my shop. I hope you enjoy"; + mes "the flavor of these Apples~!"; + close; + } + case 2: + mes "[Meltz]"; + mes "Okay, I'll need"; + mes "^FF00003 Apples and 1 Empty Bottle^000000"; + mes "to make 1 Apple Juice for you."; + mes "Would you like to proceed?"; + next; + switch (select("Yes:No")) { + case 1: + if (countitem(512) < 3 || countitem(713) < 1) { + mes "[Meltz]"; + mes "I'm sorry, but you don't"; + mes "have enough materials to"; + mes "create a bottle of Apple Juice."; + mes "Remember, I need 3 Apples"; + mes "and 1 Empty Bottle to do it."; + close; + } + else { + mes "[Meltz]"; + mes "Thank you, please wait."; + next; + mes "^3355FF*Grind* *Grind*"; + mes "*Grind* *Grind*"; + mes "*Clang...!*^000000"; + next; + delitem 512,3; //Apple + delitem 713,1; //Empty_Bottle + getitem 531,1; //Apple_Juice + mes "[Meltz]"; + mes "There you go~"; + mes "Please come again."; + close; + } + case 2: + mes "[Meltz]"; + mes "Thanks for stopping"; + mes "by my shop. Farewell!"; + mes "Come by anytime when"; + mes "you feel like having an"; + mes "Apple to snack on~"; + close; + } + case 3: + mes "[Meltz]"; + mes "Thanks for stopping"; + mes "by my shop. Farewell!"; + mes "Come by anytime when"; + mes "you feel like having an"; + mes "Apple to snack on~"; + close; + } +} + +airplane_01,221,158,2 script Pilot#airplane_01 852,{ + switch (rand(1,4)) { + case 1: + mes "[Pilot]"; + mes "Longitude, 131 degrees east."; + mes "Latitude, 37 degrees north."; + mes "We're right on course, captain."; + close; + case 2: + mes "[Pilot]"; + mes "Looks like a really"; + mes "cloudy day. Always hard"; + mes "to navigate when the skies"; + mes "aren't clear. Guess we'll"; + mes "need to amp the radar."; + close; + case 3: + mes "[Pilot]"; + mes "The Captain is a good"; + mes "man and I can't think of"; + mes "a finer person to command"; + mes "this ship. Still, he's pretty"; + mes "tough, a real slave driver."; + next; + mes "[^ff0000Tarlock^000000]"; + mes "^ff0000Hey...!^000000"; + mes "^ff0000Less chit-chat^000000"; + mes "^ff0000and more piloting!^000000"; + next; + mes "[Pilot]"; + mes "R-right away, sir!"; + mes "(See what I mean?)"; + close; + default: + mes "[Pilot]"; + mes "This uniform is"; + mes "really dapper, but"; + mes "it's way too thick to"; + mes "wear around the Airship."; + next; + mes "[Pilot]"; + mes "..."; + mes "......"; + mes "No one ever really"; + mes "comes into this room."; + mes "And the captain IS a reindeer."; + mes "I could just strip to my boxers."; + next; + emotion e_omg; + mes "[Pilot]"; + mes "Oh...! Hello there!"; + mes "E-e-enjoying your flight?!"; + close; + } +} + +airplane_01,83,61,2 script Dianne#01airplane_01 72,2,2,{ + mes "[Dianne]"; + mes "It's so weird!"; + mes "I went to visit the"; + mes "Airship Captain and"; + mes "all I saw was this"; + mes "weird reindeer. Oh!"; + mes "Do you think that..."; + close; + +OnTouch: + emotion e_sob; + end; +} + +airplane_01,69,63,2 script Mendel#01airplane_01 55,{ + mes "[Mendel]"; + mes "As I expected, the"; + mes "in-flight meals are"; + mes "three star quality at best."; + mes "*Harrrumph* I really should"; + mes "have brought my chef so that"; + mes "I could enjoy a real meal."; + close; +} + +airplane_01,71,31,2 script Swordsman Shimizu#air_01 106,{ + mes "[Swordsman Shimizu]"; + mes "Finally, after five"; + mes "years of waiting..."; + mes "I can have my revenge!"; + next; + mes "[Swordsman Shimizu]"; + mes "I just..."; + mes "Have to make sure that"; + mes "I don't keep missing my"; + mes "stop. But soon, very soon,"; + mes "vengeance will be mine!"; + close; +} + +//============================================================ +//= Typing Challenge +//============================================================ +airplane_01,32,61,4 script Nils#ein 49,1,1,{ + mes "[Nils]"; + mes "Welcome to the"; + mes "^ff0000RO Typing Challenge^000000."; + mes "Would you like to play"; + mes "a quick typing game?"; + next; + switch (select("Play ^ff0000RO Typing Challenge^000000:Information:View Top Records:Cancel")) { + case 1: + mes "[Nils]"; + mes "Okay, we have"; + mes "a new challenger!"; + mes "Enter the following"; + mes "text as quickly as you"; + mes "can without making any"; + mes "mistakes! Let's start~!"; + setarray .@line1_1$[0], "^3cbcbccallipygian salacius lascivious^000000", + "^3cbcbcBy the power of^000000", + "^0000ffthkelfkskeldmsiejdlslehfndkelsheidl^000000", + "^3cbcbcburrdingdingdingdilidingdingdingphoohudaamb^000000", + "^3cbcbcCoboman no chikara-yumei na^000000", + "^3cbcbcI'm the king of All Weirdos! Now^000000", + "^3cbcbcYou give me no choice. I guess it's^000000"; + setarray .@line1_2$[0], "^3cbcbclicentious prurient concupiscent^000000", + "^3cbcbcp-po-poi-po-poi-poin-poing^000000", + "^3cbcbcskemd^000000", + "^3cbcbcandoorabambarambambambambamburanbamding^000000", + "^3cbcbcchikara-daiookii na chikara da ze!^000000", + "^3cbcbcyou know of my true power. Obey~!^000000", + "^3cbcbctime for me to reveal my secret...^000000"; + setarray .@line1_3$[0], "", + "^3cbcbcGOD-POING. I NEVER LOSE!^000000", + "", + "", + "^3cbcbcCOBO ON^000000", + "", + ""; + setarray .@word1$[0], "callipygian salacius lascivious licentious prurient concupiscent", + "By the power of p-po-poi-po-poi-poin-poing GOD-POING. I NEVER LOSE!", + "thkelfkskeldmsiejdlslehfndkelsheidlskemd", + "burrdingdingdingdilidingdingdingphoohudaambandoorabambarambambambambamburanbamding", + "Coboman no chikara-yumei na chikara-daiookii na chikara da ze! COBO ON", + "I'm the king of All Weirdos! Now you know of my true power. Obey~!", + "You give me no choice. I guess it's time for me to reveal my secret..."; + setarray .@line2_1$[0], "^3cbcbcuNflAPPaBLe LoVaBLe SeCreTs AnD^000000", + "^ff1493LiGhTsPeEd RiGhT SPEed LeFT TURn^000000", + "^ff1493hfjdkeldjsieldjshfjdjeiskdlefvbd^000000", + "^ff1493burapaphuralanderamduanbatuhiwooi^000000", + "^ff1493belief love luck grimace sweat rush^000000", + "^800080opeN, Open!op3n.openOpen0p3nOpEn0pen^000000", + "^3cbcbcfReeDoM ecstAcy JoUrnaliSm ArMplt^000000"; + setarray .@line2_2$[0], "^3cbcbcboWLIiNg aGaINST tHe KarMA of YoUtH^000000", + "^ff1493RiGhT BuRn OrIGInAL GaNgSteR SmACk^000000", + "", + "^ff1493kabamturubamdingding^000000", + "^ff1493folktale rodimus optimus bumblebee^000000", + "^800080`open'0Pen open? open!111OPENSESAME^000000", + "^3cbcbcDisCoverY hEaDaChE MoonbeAmS jUsTiCE^000000"; + setarray .@word2$[0], "uNflAPPaBLe LoVaBLe SeCreTs AnD boWLIiNg aGaINST tHe KarMA of YoUtH", + "LiGhTsPeEd RiGhT SPEed LeFT TURn RiGhT BuRn OrIGInAL GaNgSteR SmACk", + "hfjdkeldjsieldjshfjdjeiskdlefvbd", + "burapaphuralanderamduanbatuhiwooikabamturubamdingding", + "belief love luck grimace sweat rush folktale rodimus optimus bumblebee", + "opeN, Open!op3n.openOpen0p3nOpEn0pen`open'0Pen open? open!111OPENSESAME", + "fReeDoM ecstAcy JoUrnaliSm ArMplt DisCoverY hEaDaChE MoonbeAmS jUsTiCE"; + setarray .@letters[0], 1300, + 1250, + 1180, + 1380, + 1740, + 1440, + 1450; + set .@wordtest, rand(7); + next; + mes "[Nils]"; + mes .@line1_1$[.@wordtest]; + mes .@line1_2$[.@wordtest]; + mes .@line1_3$[.@wordtest]; + set .@start_time, gettime(3)*60*60 + gettime(2)*60 + gettime(1); + next; + input .@save1$; + set .@end_time, gettime(3)*60*60 + gettime(2)*60 + gettime(1); + set .@total_time, .@end_time - .@start_time; + mes "[Nils]"; + mes .@line2_1$[.@wordtest]; + mes .@line2_2$[.@wordtest]; + set .@start_time, gettime(3)*60*60 + gettime(2)*60 + gettime(1); + next; + input .@save2$; + set .@end_time, gettime(3)*60*60 + gettime(2)*60 + gettime(1); + set .@total_time, .@total_time + (.@start_time - .@end_time); + set .@tasoo, (.@letters[.@wordtest] / .@total_time) * 6; + if ((.@save1$ == .@word1$[.@wordtest]) && (.@save2$ == .@word2$[.@wordtest])) { + mes "[Nils]"; + mes "Your record is ^ff0000" + .@total_time + " seconds^000000 and"; + mes "the total letters are " + .@tasoo + "."; + next; + if (.@tasoo >= 1300) { + mes "[Nils]"; + mes "Hmmm, this record isn't"; + mes "humanly possible unless you"; + mes "copy and paste the whole"; + mes "sentence. Please play fairly"; + mes "next time."; + close; + } + if (.@tasoo >= $050320_ein_typing) { + mes "[Nils]"; + mes "The previous top record was"; + mes "made by ^0000ff" + $050320_minus1_typing$ + "^000000"; + mes "with the total ^0000ff" + $050320_ein_typing + "^000000 letters."; + mes "However, ^ff0000" + strcharinfo(0) + "^000000,"; + mes "you made the new top record"; + mes "this time. Congratulations!"; + set $050320_minus1_typing$, strcharinfo(0); + set $050320_ein_typing, .@tasoo; + close; + } + else { + mes "[Nils]"; + mes "^0000ff" + $050320_minus1_typing$ + "^000000"; + mes "is the current"; + mes "record holder with"; + mes "a letter total of ^0000ff" + $050320_ein_typing + "^000000"; + mes "characters. Try to beat"; + mes "that record next time~"; + close; + } + } + else { + mes "[Nils]"; + mes "Oooh..."; + mes "I'm sorry, but"; + mes "you entered the"; + mes "text incorrectly..."; + close; + } + case 2: + mes "[Nils]"; + mes "The ^ff0000RO Typing Challenge^000000"; + mes "is a game where you enter"; + mes "the given text as quickly as you"; + mes "can. The name of the top player"; + mes "is recorded for posterity. If you"; + mes "want fame, here's your chance!"; + next; + mes "[Nils]"; + mes "I'd just like to let"; + mes "you know that you type"; + mes "all the text that you see"; + mes "in the single input line that"; + mes "you're given. So don't press"; + mes "the enter key, just click 'OK.'"; + close; + case 3: + mes "[Nils]"; + mes "^0000ff" + $050320_minus1_typing$ + "^000000"; + mes "is the current"; + mes "record holder with"; + mes "a letter total of ^0000ff" + $050320_ein_typing + "^000000"; + mes "characters. Try to beat"; + mes "that record next time~"; + close; + case 4: + mes "[Nils]"; + mes "Feel free to take on the"; + mes "^ff0000RO Typing Challenge^000000"; + mes "anytime. I'll be here~"; + close; + } +} + +//============================================================ +//= Apple Gambling +//============================================================ +airplane_01,33,68,4 script Clarice 74,{ + mes "[Clarice]"; + mes "Hi, I'm Clarice~"; + mes "How would you like"; + mes "to wager some Apples"; + mes "in a friendly game of Dice?"; + next; + callfunc "applegamble","Clarice"; + end; +} + +function script applegamble { + + switch (select("Play Dice Game:Learn Dice Game Rules:Cancel")) { + case 3: + mes "["+getarg(0)+"]"; + mes "I'm up for a game of"; + mes "dice whenever you feel"; + mes "like it. Just talk to me if"; + mes "you ever get hit with the"; + mes "sudden urge to gamble, kay?"; + close; + case 2: + mes "["+getarg(0)+"]"; + mes "The rules for the Dice game"; + mes "are pretty simple. First, you"; + mes "place a bet by wagering Apples."; + mes "You can bet a maximum of 50"; + mes "Apples at a time. To keep things"; + mes "legal, I can only accept Apples."; + next; + mes "["+getarg(0)+"]"; + mes "But hey, if all that zeny"; + mes "is burning a hole in your"; + mes "pocket, head over to Fruitz"; + mes "and you can buy as many"; + mes "Apples as you want, playah~"; + next; + mes "["+getarg(0)+"]"; + mes "Now, we begin with me"; + mes "rolling two 6-sided dice."; + mes "When it's your turn, you'll"; + mes "roll two 6-sided dice. After"; + mes "that, both of us will have the"; + mes "option of rolling a third die."; + next; + mes "["+getarg(0)+"]"; + mes "Now here's the important"; + mes "thing. If your total is higher"; + mes "than 12, you'll bust, meaning"; + mes "that you lose. Otherwise, the"; + mes "person with the higher total"; + mes "is the winner. Got it?"; + next; + mes "["+getarg(0)+"]"; + mes "Now, you'll be the first"; + mes "to decide whether or not"; + mes "you'll roll the third die. Then,"; + mes "depending on your result, I'll"; + mes "roll my third die... Or maybe not."; + next; + mes "["+getarg(0)+"]"; + mes "When you win, you'll"; + mes "receive twice as many"; + mes "Apples as you wagered."; + mes "But if we happen to tie, you"; + mes "get the Apples that you bet"; + mes "returned to you. Fair, right?"; + close; + case 1: + break; + } + mes "["+getarg(0)+"]"; + mes "Ooh, so you'll play with"; + mes "me? Great! How many"; + mes "Apples would you like to bet?"; + mes "Remember, you can wager"; + mes "up to 50 Apples. If you'd like"; + mes "to cancel, please enter '0'."; + next; + while(1) { + input .@amount; + if (.@amount == 0) { + mes "["+getarg(0)+"]"; + mes "Changed your mind?"; + mes "I understand. Well then,"; + mes "I hope we can play sometime."; + close; + } + else if (.@amount < 1 || .@amount > 50) { + mes "["+getarg(0)+"]"; + mes "You can't bet more than"; + mes "50 Apples. Remember, we"; + mes "need to keep these stakes"; + mes "reasonable. Please enter"; + mes "a value no greater than 50."; + next; + continue; + } + mes "["+getarg(0)+"]"; + mes "So you'll be"; + mes "betting ^FF0000"+.@amount+"^000000 Apples."; + mes "Is that right?"; + next; + if (select("Yes:No") == 2) { + mes "["+getarg(0)+"]"; + mes "Mm, made a mistake?"; + mes "Alright, please enter the"; + mes "number of Apples you"; + mes "wish to place in this bet"; + next; + continue; + } + if (countitem(512) <.@amount) { + mes "I'm sorry, but you"; + mes "don't seem to have"; + mes "enough Apples for this"; + mes "bet... You can't gamble"; + mes "if you can't play, you know."; + next; + continue; + } + delitem 512,.@amount; + mes "["+getarg(0)+"]"; + mes "Good!"; + mes "Now we can start"; + mes "this game! I'll roll first~"; + break; + } + mes "^3355FF*Rolling and rumbling*^000000"; + next; + set .@giveapple, .@amount*2; + set .@table1, rand(1,6); + set .@table2, rand(1,6); + set .@tablesub, .@table1 + .@table2; + set .@tabletotal, .@tablesub; + mes "["+getarg(0)+"]"; + mes "I got a ^0000FF" + .@table1 + "^000000 and a ^0000FF" + .@table2 + "^000000."; + mes "That's a total of ^0000FF" + .@tablesub + "^000000."; + mes "^FF0000" + strcharinfo(0) + "^000000, now it's your turn."; + next; + select("Cast Dice."); + mes "^3355FF*Rolling and rumbling*^000000"; + set .@player1, rand(1,6); + set .@player2, rand(1,6); + set .@playersub, .@player1 + .@player2; + if (.@playersub > 9 && .@amount > 39) { + set .@player1, rand(1,6); + set .@player2, rand(1,6); + set .@playersub, .@player1 + .@player2; + } + set .@playertotal, .@playersub; + next; + mes "["+getarg(0)+"]"; + mes "^FF0000" + strcharinfo(0) + "^000000, you have ^FF0000" + .@player1 + "^000000 and ^FF0000" + .@player2 + "^000000. The total is ^FF0000" + .@playersub + "^000000 ."; + next; + mes "["+getarg(0)+"]"; + if(.@playersub == .@tablesub) { + 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?"; + } else if (.@playersub > .@tablesub) { + 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?"; + } else if(.@tablesub > .@playersub) { + 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?"; + } + next; + switch (select("Cast dice.:Cancel.")) { + case 1: + mes "^3355FF*Rolling and rumbling*^000000"; + set .@player3, rand(1,6); + set .@playertotal, .@playertotal + .@player3; + next; + mes "["+getarg(0)+"]"; + if (.@playertotal > 12) { + 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."; + close; + } + else if (.@playertotal < .@tablesub) { + 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."; + close; + } + else if (.@playertotal == .@tablesub) { + if (.@tablesub > 8) { + 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~"; + close2; + getitem 512,.@amount; //Apple + end; + } + } + else { + mes "^FF0000" + strcharinfo(0) + "^000000, you got ^FF0000" + .@player3 + "^000000 and the total is now ^FF0000" + .@playertotal + "^000000. Now it is my turn."; + } + break; + case 2: + mes "["+getarg(0)+"]"; + if (.@playersub > .@tablesub) { + mes "I see, you don't want to take risk of losing the game. Okay, let me cast dice again."; + } + else if (.@playersub == .@tablesub) { + if (.@tablesub > 8) { + 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~"; + close2; + getitem 512,.@amount; //Apple + end; + } + mes "Alright."; + mes "Let me cast the dice again."; + } + else { + mes "It couldn't hurt to try."; + mes "Well, I win this time."; + mes "I'm sorry, let's try play"; + mes "again sometime."; + close; + } + break; + } + next; + mes "^3355FF*Rolling and rumbling*^000000"; + set .@table3, rand(1,6); + set .@tabletotal, .@tabletotal + .@table3; + next; + mes "["+getarg(0)+"]"; + if (.@tabletotal > 12) { + 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."; + close2; + getitem 512,.@giveapple; //Apple + end; + } + else if (.@playertotal > .@tabletotal) { + 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."; + close2; + getitem 512,.@giveapple; //Apple + end; + } + else if (.@playertotal == .@tabletotal) { + 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."; + close2; + getitem 512,.@amount; //Apple + end; + } + else if (.@playertotal < .@tabletotal) { + 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."; + close; + } +} diff --git a/npc/airports/einbroch.txt b/npc/airports/einbroch.txt new file mode 100644 index 000000000..25418daf7 --- /dev/null +++ b/npc/airports/einbroch.txt @@ -0,0 +1,108 @@ +//===== rAthena Script ======================================= +//= Einbroch Airport Staff +//===== By: ================================================== +//= L0ne_W0lf, Muad_Dib +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Einbroch Airport Staff +//===== Additional Comments: ================================= +//= Official NPCs. +//============================================================ + +airport,143,43,5 script Airport Staff#airport1a::airport1 90,{ + mes "[Airport Staff]"; + mes "Welcome to the"; + mes "Einbroch Airport,"; + mes "where we offer nonstop"; + mes "flights to the cities of"; + mes "Juno, Lighthalzen and Hugel."; + next; + if (select("Board the Airship:Cancel") == 1) { + mes "[Airport Staff]"; + mes "The Airship boarding fee"; + mes "is 1,200 zeny, but if you've"; + mes "got a Free Ticket for Airship,"; + mes "the fee will be waived. Will"; + mes "you board the Airship?"; + next; + if (select("Yes:No") == 1) { + if (countitem(7311) > 0) { + delitem 7311,1; //Free_Flying_Ship_Ticket + warp "airport",148,51; + end; + } + if (Zeny >= 1200) { + set Zeny, Zeny - 1200; + warp "airport",148,51; + end; + } + mes "[Airport Staff]"; + mes "I'm sorry, but you don't"; + mes "have a Free Ticket for"; + mes "Airship and you don't have"; + mes "enough zeny for boarding"; + mes "the Airship. Remember, the"; + mes "boarding fee is 1,200 zeny."; + close; + } + } + mes "[Airport Staff]"; + mes "Thank you and"; + mes "have a nice day."; + close; +} + +airport,158,43,5 duplicate(airport1) Airport Staff#airport1b 90 +airport,126,43,5 duplicate(airport1) Airport Staff#airport1c 90 + +airport,143,49,3 script Arrival Staff#airport2a::airport2 90,{ + mes "[Arrival Staff]"; + mes "Welcome to Einbroch Airport."; + mes "If you are arriving from your"; + mes "flight, let me guide you to the"; + mes "main terminal. Otherwise, please board the Airship to depart to"; + mes "Juno, Lighthalzen and Hugel."; + next; + if (select("Exit to main terminal.:Cancel.") == 1) { + mes "[Arrival Staff]"; + mes "Once you're in the main terminal, you will need to pay the fee again"; + mes "to board an Airship. You should"; + mes "only exit if the city of Einbroch"; + mes "is your intended destination."; + mes "Proceed to the main terminal?"; + next; + if (select("Yes:No") == 1) { + warp "airport",142,40; + end; + } + } + mes "[Arrival Staff]"; + mes "Alright, thank you"; + mes "for your patronage"; + mes "and I hope you have"; + mes "a pleasant flight~"; + close; +} + +airport,126,51,3 duplicate(airport2) Arrival Staff#airport2b 90 +airport,158,50,3 duplicate(airport2) Arrival Staff#airport2c 90 + +einbroch,94,267,3 script Airship Staff#ein01 91,{ + mes "[Airship Staff]"; + mes "Welcome to the"; + mes "Einbroch Airport."; + mes "Please use this door to"; + mes "board the Airship which stops"; + mes "over Juno, Lighthalzen and"; + mes "Hugel in the Schwaltzvalt Republic."; + next; + mes "[Airship Staff]"; + mes "Otherwise, if Einbroch is"; + mes "your intended destination,"; + mes "please head down the stairs"; + mes "and ask the Arrival Staff to lead"; + mes "you to the main terminal. Thank"; + mes "you, and enjoy your travels."; + close; +} diff --git a/npc/airports/hugel.txt b/npc/airports/hugel.txt new file mode 100644 index 000000000..ea591eccc --- /dev/null +++ b/npc/airports/hugel.txt @@ -0,0 +1,36 @@ +//===== rAthena Script ======================================= +//= Hugel Airport NPCs +//===== By: ================================================== +//= rAthena Dev Team +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Hugel Airport NPCs +//===== Additional Comments: ================================= +//= Official NPCs. +//============================================================ + +hugel,178,142,0 script toairplane#hugel 45,1,1,{ + end; +OnTouch: + mes "To use the airship, you are required to pay 1,200 zeny or a Free Airship Ticket."; + mes "Would you like to use the service?"; + next; + if (select("Yes:No") == 1) { + if (countitem(7311) > 0) { + delitem 7311,1; //Free_Flying_Ship_Ticket + warp "airplane",244,58; + end; + } + if (Zeny >= 1200) { + set Zeny, Zeny - 1200; + warp "airplane",244,58; + end; + } + mes "I am sorry, but you do not have enough money."; + mes "Please remember, you are required to pay 1,200 zeny to use the service."; + close; + } + mes "Thank you, please come again."; + close; +} diff --git a/npc/airports/izlude.txt b/npc/airports/izlude.txt new file mode 100644 index 000000000..40d0bd437 --- /dev/null +++ b/npc/airports/izlude.txt @@ -0,0 +1,51 @@ +//===== rAthena Script ======================================= +//= Izlude Airport NPCs +//===== By: ================================================== +//= rAthena Dev Team +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Izlude Airport NPCs +//===== Additional Comments: ================================= +//= Official NPCs. +//============================================================ + +- script ::Airship_Staff_izlude -1,{ + mes "[Airship Staff]"; + mes "Welcome! Would you like"; + mes "to board the Airship that"; + mes "departs on the flight wich stops"; + mes "in Juno and Rachel?"; + next; + if (select("Board the Airship to Juno/Rachel.:Cancel.") == 1) { + mes "[Airship Staff]"; + mes "The boarding fee is"; + mes "1,200 zeny. However, this"; + mes "charged is waived if you use"; + mes "a Free Ticket for Airship. Now,"; + mes "would you still like to board?"; + next; + if (select("Yes:No") == 1) { + if (countitem(7311) > 0) { + delitem 7311,1; //Free_Flying_Ship_Ticket + warp "airplane_01",244,58; + end; + } + if (Zeny >= 1200) { + set Zeny, Zeny - 1200; + warp "airplane_01",244,58; + end; + } + mes "[Airship Staff]"; + mes "I'm sorry, but you don't"; + mes "have 1,200 zeny to pay"; + mes "for the boarding fee."; + close; + } + } + mes "[Airship Staff]"; + mes "Thank you and"; + mes "please come again."; + mes "Have a good day~"; + close; +} diff --git a/npc/airports/lighthalzen.txt b/npc/airports/lighthalzen.txt new file mode 100644 index 000000000..5509b80c1 --- /dev/null +++ b/npc/airports/lighthalzen.txt @@ -0,0 +1,83 @@ +//===== rAthena Script ======================================= +//= Lighthalzen Airport Staff +//===== By: ================================================== +//= L0ne_W0lf, Muad_Dib +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Lighthalzen Airport Staff +//===== Additional Comments: ================================= +//= Official NPCs. +//============================================================ + +lhz_airport,143,43,5 script Airport Staff#lhz_air1a::lhz_airport1 90,{ + mes "[Airport Staff]"; + mes "Welcome to the"; + mes "Lighthalzen Airport,"; + mes "where we offer nonstop"; + mes "flights to Einbroch, Juno and Hugel."; + next; + if (select("Board the Airship.:Cancel.") == 1) { + mes "[Airport Staff]"; + mes "The boarding fee is"; + mes "1,200 zeny, but you can"; + mes "waive the fee if you redeem"; + mes "a Free Ticket for Airship."; + next; + if (select("Yes:No") == 1) { + if (countitem(7311) > 0) { + delitem 7311,1; //Free_Flying_Ship_Ticket + warp "lhz_airport",148,51; + end; + } + if (Zeny >= 1200) { + set Zeny, Zeny - 1200; + warp "lhz_airport",148,51; + end; + } + mes "[Airship Staff]"; + mes "I'm sorry, but you don't"; + mes "have 1,200 zeny to pay"; + mes "for the boarding fee."; + close; + } + } + mes "[Airport Staff]"; + mes "Thank you and"; + mes "please come again."; + mes "Have a good day~"; + close; +} + +lhz_airport,158,43,5 duplicate(lhz_airport1) Airship Staff#lhz_air1b 90 +lhz_airport,126,43,5 duplicate(lhz_airport1) Airship Staff#lhz_air1c 90 + +lhz_airport,143,49,3 script Arrival Staff#lhz_air2a::lhz_airport2 90,{ + mes "[Arrival Staff]"; + mes "Welcome to Lighthalzen Airport."; + mes "Please let me guide you to the"; + mes "main terminal if you are arriving from your flight. Otherwise, please"; + mes "board the departing Airship to reach your intended destination."; + next; + if (select("Exit to main terminal.:Cancel.") == 1) { + mes "[Arrival Staff]"; + mes "Once you're in the main terminal, you will need to pay the fee again"; + mes "to board an Airship. You should"; + mes "only exit if Lighthalzen is your intended destination. Shall we"; + mes "proceed to the main terminal?"; + next; + if (select("Yes:No") == 1) { + warp "lhz_airport",142,40; + end; + } + } + mes "[Arrival Staff]"; + mes "Alright, thank you"; + mes "for your patronage"; + mes "and I hope you have"; + mes "a pleasant flight~"; + close; +} + +lhz_airport,126,51,3 duplicate(lhz_airport2) Arrival Staff#lhz_air2b 90 +lhz_airport,158,50,3 duplicate(lhz_airport2) Arrival Staff#lhz_air2c 90 diff --git a/npc/airports/rachel.txt b/npc/airports/rachel.txt new file mode 100644 index 000000000..78280fdbf --- /dev/null +++ b/npc/airports/rachel.txt @@ -0,0 +1,36 @@ +//===== rAthena Script ======================================= +//= Rachel Airport NPCs +//===== By: ================================================== +//= rAthena Dev Team +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Rachel Airport NPCs +//===== Additional Comments: ================================= +//= Official NPCs. +//============================================================ + +ra_fild12,295,208,0 script toairplane#rachel 45,1,1,{ + end; +OnTouch: + mes "To use the airship, you are required to pay 1,200 zeny or a Free Airship Ticket."; + mes "Would you like to use the service?"; + next; + if (select("Yes:No") == 1) { + if (countitem(7311) > 0) { + delitem 7311,1; //Free_Flying_Ship_Ticket + warp "airplane_01",245,60; + end; + } + if (Zeny >= 1200) { + set Zeny, Zeny - 1200; + warp "airplane_01",245,60; + end; + } + mes "I am sorry, but you do not have enough money."; + mes "Please remember, you are required to pay 1,200 zeny to use the service."; + close; + } + mes "Thank you, please come again."; + close; +}
\ No newline at end of file diff --git a/npc/airports/yuno.txt b/npc/airports/yuno.txt new file mode 100644 index 000000000..ca2556fed --- /dev/null +++ b/npc/airports/yuno.txt @@ -0,0 +1,159 @@ +//===== rAthena Script ======================================= +//= Yuno Airport Staff +//===== By: ================================================== +//= L0ne_W0lf, Muad_Dib +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Yuno Airport Staff +//===== Additional Comments: ================================= +//= Official NPCs. +//============================================================ + +y_airport,143,43,5 script Airport Staff#y_air1a::y_airport1 90,{ + mes "[Airport Staff]"; + mes "Welcome to Juno Airport where we offer domestic flights to Einbroch, Lighthalzen and Hugel,"; + mes "and international flights to Izlude and Rachel."; + mes "How may I be of service?"; + next; + if (select("Board the Airship.:Cancel.") == 1) { + mes "[Airport Staff]"; + mes "The boarding fee for all"; + mes "flights is 1,200 zeny. If you"; + mes "use a Free Ticket for Airship,"; + mes "the boarding fee will be waived.So would you like to depart?"; + next; + if (select("Yes:No") == 1) { + if (countitem(7311) > 0) { + delitem 7311,1; //Free_Flying_Ship_Ticket + warp "y_airport",148,51; + end; + } + if (Zeny >= 1200) { + set Zeny, Zeny - 1200; + warp "y_airport",148,51; + end; + } + mes "[Airport Staff]"; + mes "I'm sorry, but you don't"; + mes "have 1,200 zeny to pay"; + mes "for the boarding fee."; + close; + } + } + mes "[Airport Staff]"; + mes "Thank you and"; + mes "have a nice day."; + close; +} + +y_airport,158,43,5 duplicate(y_airport1) Airport Staff#y_air1b 90 +y_airport,126,43,5 duplicate(y_airport1) Airport Staff#y_air1c 90 + +y_airport,143,49,3 script Arrival Staff#y_air2a::y_airport2 90,{ + mes "[Airport Staff]"; + mes "Welcome to Juno Airport. If you've just arrived from your"; + mes "flight, let me guide you to the main terminal. Otherwise, please"; + mes "board the departing Airship to reach your intended destination."; + next; + if (select("Exit to main terminal:Cancel") == 1) { + mes "[Airport Staff]"; + mes "Once you're in the main terminal, you must pay the fee once again"; + mes "to board a departing Airship. You should only exit if your intended"; + mes "destination is Juno. Proceed to"; + mes "exit to the main terminal?"; + next; + if (select("Yes:No") == 1) { + warp "y_airport",142,40; + end; + } + } + mes "[Airport Staff]"; + mes "Alright, thank you"; + mes "for your patronage"; + mes "and I hope you have"; + mes "a pleasant flight~"; + close; +} + +y_airport,126,51,3 duplicate(y_airport2) Arrival Staff#y_air2b 90 +y_airport,158,50,3 duplicate(y_airport2) Arrival Staff#y_air2c 90 + +y_airport,145,63,5 script Domestic Boarding 91,{ + mes "[Boarding Staff]"; + mes "Would you like to board the"; + mes "Airship that flies to Einbroch,"; + mes "Lighthalzen and Hugel? If so,"; + mes "please let me guide you to that"; + mes "Airship's boarding area."; + next; + if (select("Yes:No") == 1) { + warp "yuno",59,244; + end; + } + mes "[Boarding Staff]"; + mes "Very well, then."; + mes "Thank you for your"; + mes "patronage, and I hope"; + mes "you enjoy your travels~"; + close; +} + +y_airport,140,63,5 script International Boarding 91,{ + mes "[Boarding Staff]"; + mes "Would you like to board"; + mes "the Airship which flies to"; + mes "Juno, Izlude and Rachel?"; + mes "If so, let me guide"; + mes "you to the boarding area."; + next; + if (select("Yes:No") == 1) { + warp "yuno",47,244; + end; + } + mes "[Boarding Staff]"; + mes "Alright, then."; + mes "Thank you for flying"; + mes "with us, and I hope you"; + mes "enjoy your travels on our"; + mes "state of the art Airships."; + close; +} + +yuno,14,262,5 script Airship Staff#yuno01 91,{ + mes "[Airship Staff]"; + mes "Welcome to Juno Airport."; + mes "Please use this door to"; + mes "board the Airship that will"; + mes "be flying all the way to Izlude"; + mes "in the Rune-Midgarts Kingdom,"; + mes "and to Rachel in the Arunafeltz"; + mes "Republic."; + next; + mes "[Airship Staff]"; + mes "Otherwise, if Juno is"; + mes "your intended destination,"; + mes "please head down the stairs"; + mes "and ask the Arrival Staff to lead"; + mes "you to the main terminal. Thank"; + mes "you, and enjoy your travels."; + close; +} + +yuno,88,263,3 script Airship Staff#yuno02 91,{ + mes "[Airship Staff]"; + mes "Welcome to Juno Airport."; + mes "Please use this door to"; + mes "board the Airship which stops"; + mes "over Einbroch, Lighthalzen and"; + mes "Hugel in the Schwaltzvalt Republic."; + next; + mes "[Airship Staff]"; + mes "Otherwise, if Juno is"; + mes "your intended destination,"; + mes "please head down the stairs"; + mes "and ask the Arrival Staff to lead"; + mes "you to the main terminal. Thank"; + mes "you, and enjoy your travels."; + close; +} |