diff options
-rw-r--r-- | Changelog-Trunk.txt | 2 | ||||
-rw-r--r-- | npc/Changelog.txt | 1 | ||||
-rw-r--r-- | npc/airports/airships.txt | 908 | ||||
-rw-r--r-- | npc/quests/quests_airship.txt | 330 | ||||
-rw-r--r-- | src/map/mob.c | 4 |
5 files changed, 738 insertions, 507 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index db2de4adc..3b59897bb 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -3,6 +3,8 @@ Date Added AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK. IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. +2010/08/21 + * Rev. 14392 Mob chat now strips "#unique" names off monsters, curtosy of Daegaladh. [L0ne_W0lf] 2010/08/20 * Rev. 14390 Commented out code from r14388, as this breaks NPCs that rely on running global events in duplicates. (IE: WoE scripts) [L0ne_W0lf] * Removed processing for undocumented and unused event 'OnCharIfInit' which is essentially an alias for event 'OnInterIfInit'. [Paradox924X] diff --git a/npc/Changelog.txt b/npc/Changelog.txt index a4cf7cffb..5ddcaac1a 100644 --- a/npc/Changelog.txt +++ b/npc/Changelog.txt @@ -1,6 +1,7 @@ Date Added ====== 2010/08/21 + * Rev. 14392 Touched up the Airship scripts. Fixed up some content based on official files. [L0ne_W0lf] * Rev. 14391 Fixed silly copy paste errors in Tierra Gorge entrance npcs. (bugreport:4401) [L0ne_W0lf] 2010/08/20 * Rev. 14385 Fixed wrong events being called for flavius02 BG waiting rooms. (bugreport:4395) [L0ne_W0lf] diff --git a/npc/airports/airships.txt b/npc/airports/airships.txt index 7b0bad0bf..59f48d615 100644 --- a/npc/airports/airships.txt +++ b/npc/airports/airships.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= eAthena Dev Team //===== Current Version: ===================================== -//= 1.1b +//= 1.2 //===== Compatible With: ===================================== //= eAthena SVN 3422+(Requires jA Script System) //===== Description: ========================================= @@ -31,6 +31,7 @@ //= 1.1 Touch-ups, and changed references of "Yuno" to "Juno", [L0ne_W0lf] //= 1.1a Small fix to comparison check. [Paradox924X] //= 1.1b Small fix to zeny check. [Kisuka] +//= 1.2 Updated some NPCs based on official files. [L0ne_W0lf] //============================================================ //============================================================ @@ -80,13 +81,13 @@ while(1) donpcevent "#AirshipWarp-2::OnHide"; disablenpc "#AirshipWarp-1"; disablenpc "#AirshipWarp-2"; - mapannounce "airplane","The Airship is leaving the ground. Our next destination is Hugel.",1,0xBA55D3; + mapannounce "airplane","The Airship is leaving the ground. Our next destination is Hugel.",bc_map,0xBA55D3; end; OnTimer15000: - mapannounce "airplane","We are heading to Hugel.",1,0xBA55D3; + mapannounce "airplane","We are heading to Hugel.",bc_map,0xBA55D3; end; OnTimer30000: - mapannounce "airplane","We will arrive in Hugel shortly.",1,0xBA55D3; + mapannounce "airplane","We will arrive in Hugel shortly.",bc_map,0xBA55D3; end; OnTimer45000: set $@airplanelocation,4; @@ -94,10 +95,10 @@ OnTimer45000: enablenpc "#AirshipWarp-2"; donpcevent "#AirshipWarp-1::OnUnhide"; donpcevent "#AirshipWarp-2::OnUnhide"; - mapannounce "airplane","Welcome to Hugel. Have a safe trip.",1,0xBA55D3; + mapannounce "airplane","Welcome to Hugel. Have a safe trip.",bc_map,0xBA55D3; end; OnTimer55000: - mapannounce "airplane","Currently, we are in Hugel. The Airship will leave shortly.",1,0xBA55D3; + mapannounce "airplane","Currently, we are in Hugel. The Airship will leave shortly.",bc_map,0xBA55D3; end; OnTimer65000: set $@airplanelocation,0; @@ -105,13 +106,13 @@ OnTimer65000: donpcevent "#AirshipWarp-2::OnHide"; disablenpc "#AirshipWarp-1"; disablenpc "#AirshipWarp-2"; - mapannounce "airplane","The Airship is leaving the ground. Our next destination is Einbroch.",1,0x00FF00; + mapannounce "airplane","The Airship is leaving the ground. Our next destination is Einbroch.",bc_map,0x00FF00; end; OnTimer80000: - mapannounce "airplane","We are heading to Einbroch.",1,0x00FF00; + mapannounce "airplane","We are heading to Einbroch.",bc_map,0x00FF00; end; OnTimer95000: - mapannounce "airplane","We will arrive in Einbroch shortly.",1,0x00FF00; + mapannounce "airplane","We will arrive in Einbroch shortly.",bc_map,0x00FF00; end; OnTimer110000: set $@airplanelocation,1; @@ -119,10 +120,10 @@ OnTimer110000: enablenpc "#AirshipWarp-2"; donpcevent "#AirshipWarp-1::OnUnhide"; donpcevent "#AirshipWarp-2::OnUnhide"; - mapannounce "airplane","Welcome to Einbroch. Have a safe trip.",1,0x00FF00; + mapannounce "airplane","Welcome to Einbroch. Have a safe trip.",bc_map,0x00FF00; end; OnTimer120000: - mapannounce "airplane","Currently, we are in Einbroch. The Airship will take off shortly.",1,0x00FF00; + mapannounce "airplane","Currently, we are in Einbroch. The Airship will take off shortly.",bc_map,0x00FF00; end; OnTimer130000: set $@airplanelocation,0; @@ -130,13 +131,13 @@ OnTimer130000: donpcevent "#AirshipWarp-2::OnHide"; disablenpc "#AirshipWarp-1"; disablenpc "#AirshipWarp-2"; - mapannounce "airplane","The Airship is leaving the ground. Our next destination is Lighthalzen.",1,0xFF8600; + mapannounce "airplane","The Airship is leaving the ground. Our next destination is Lighthalzen.",bc_map,0xFF8600; end; OnTimer145000: - mapannounce "airplane","We are heading to Lighthalzen.",1,0xFF8600; + mapannounce "airplane","We are heading to Lighthalzen.",bc_map,0xFF8600; end; OnTimer160000: - mapannounce "airplane","We will arrive in Lighthalzen shortly.",1,0xFF8600; + mapannounce "airplane","We will arrive in Lighthalzen shortly.",bc_map,0xFF8600; end; OnTimer175000: set $@airplanelocation,3; @@ -144,10 +145,10 @@ OnTimer175000: enablenpc "#AirshipWarp-2"; donpcevent "#AirshipWarp-1::OnUnhide"; donpcevent "#AirshipWarp-2::OnUnhide"; - mapannounce "airplane","Welcome to Lighthalzen. Have a safe trip.",1,0xFF8600; + mapannounce "airplane","Welcome to Lighthalzen. Have a safe trip.",bc_map,0xFF8600; end; OnTimer185000: - mapannounce "airplane","Currently, we are in Lighthalzen. The Airship will leave shortly.",1,0xFF8600; + mapannounce "airplane","Currently, we are in Lighthalzen. The Airship will leave shortly.",bc_map,0xFF8600; end; OnTimer195000: set $@airplanelocation,0; @@ -155,13 +156,13 @@ OnTimer195000: donpcevent "#AirshipWarp-2::OnHide"; disablenpc "#AirshipWarp-1"; disablenpc "#AirshipWarp-2"; - mapannounce "airplane","The Airship is now taking off. Our next destination is Juno.",1,0x70DBDB; + mapannounce "airplane","The Airship is now taking off. Our next destination is Juno.",bc_map,0x70DBDB; end; OnTimer210000: - mapannounce "airplane","We are heading to Juno.",1,0x70DBDB; + mapannounce "airplane","We are heading to Juno.",bc_map,0x70DBDB; end; OnTimer225000: - mapannounce "airplane","We will arrive in Juno shortly.",1,0x70DBDB; + mapannounce "airplane","We will arrive in Juno shortly.",bc_map,0x70DBDB; end; OnTimer240000: set $@airplanelocation,2; @@ -169,10 +170,10 @@ OnTimer240000: enablenpc "#AirshipWarp-2"; donpcevent "#AirshipWarp-1::OnUnhide"; donpcevent "#AirshipWarp-2::OnUnhide"; - mapannounce "airplane","Welcome to Juno. Have a safe trip.",1,0x70DBDB; + mapannounce "airplane","Welcome to Juno. Have a safe trip.",bc_map,0x70DBDB; end; OnTimer250000: - mapannounce "airplane","Currently, we are in Juno. The Airship will leave shortly.",1,0x70DBDB; + mapannounce "airplane","Currently, we are in Juno. The Airship will leave shortly.",bc_map,0x70DBDB; end; OnTimer260000: stopnpctimer; @@ -206,168 +207,73 @@ airplane,100,69,2 script Airship Crew#01::Airship Crew 852,{ close; } -airplane,250,59,3 script Airship Staff::AirshipInfo 67,{ +airplane,250,58,2 script Airship Staff#airplane 67,{ + if (hg_ma1 == 3) { + mes "[Airship Staff]"; + mes "Welcome"; + mes "to the Airship."; + mes "How may I help you?"; + next; + switch(select("Do you have a passenger named Thierry?")) { + case 1: + break; + } + mes "[Airship Staff]"; + mes "I am sorry, but I do not think that we have a passenger by that name."; + close; + } mes "[Airship Staff]"; mes "Welcome"; mes "to the Airship."; mes "How may I help you?"; next; - menu "Using the Airship",s_Use,"Captain's Cabin",s_Capt,"Facilities",s_Faci,"Cancel",-; - - mes "[Airship Staff]"; - mes "Well, I hope you like"; - mes "your flight aboard"; - mes "our Airships. Thank"; - mes "you and have a good day."; - close; - -s_Use: - 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 "on route and you'll get"; - mes "another chance to arrive"; - mes "to your intended destination."; - close; - -s_Capt: - 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; - -s_Faci: - 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; - -} - -airplane,50,66,4 script Meltz::AirshipApples 86,{ - - mes "[Meltz]"; - mes "Welcome to Meltz's"; - mes "Shop where you can"; - mes "purchase Apples or grind"; - mes "them to make Apple Juice."; - next; - menu "Buy Apples",s_Buy,"Make Apple Juice",s_Juice,"Cancel.",-; - -s_Cancel: - mes "[Meltz]"; - mes "Thanks for stopping"; - mes "by my shop. Farewell!"; - mes "Come back anytime when"; - mes "you feel like having an"; - mes "Apple to snack on~"; - close; - -s_Buy: - 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; - input @tempapple; - if(!@tempapple)goto s_Cancel; - if(@tempapple > 0 && @tempapple < 501)goto s_AppleBuy; - if(@tempapple < 0)close; - mes "[Meltz]"; - mes "The maximum amount of apples"; - mes "you can buy at the same time"; - mes "is 500. " + @tempapple + " is clearly"; - mes "over 500."; - close; - -s_AppleBuy: - mes "[Meltz]"; - mes "A total of ^FF0000" + @tempapple + "^000000 Apples."; - mes "will cost you ^FF0000" + @tempapple * 15 + "^000000 zeny."; - mes "Would you like to continue?"; - next; - menu "Yes",-,"No",s_Cancel; - - if(zeny < (@tempapple * 15))goto s_NEnoughZeny; - mes "[Meltz]"; - mes "Thanks for stopping by"; - mes "my shop. I hope you enjoy"; - mes "the flavor of these Apples~!"; - getitem 512,@tempapple; - set zeny,zeny - (@tempapple * 15); - close; - -s_NEnoughZeny: - mes "[Meltz]"; - mes "I'm sorry buy you don't"; - mes "seem to have enough zeny."; - mes "Come back anytime when"; - mes "you feel like having an"; - mes "Apple to snack on~"; - close; - -s_Juice: - 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; - menu "Yes",-,"No",s_Cancel; - - if(countitem(512) < 3 || !countitem(713))goto s_Material; - mes "[Meltz]"; - mes "Thank you,"; - mes "please wait"; - mes "just a moment."; - next; - mes "*Grind grind*"; - mes "*Grind grind*"; - mes "*Clang...!*"; - next; - mes "[Meltz]"; - 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~"; - delitem 512,3; - delitem 713,1; - getitem 531,1; - close; - -s_Material: - 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."; + 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."; + break; + 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."; + break; + 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~"; + break; + 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."; + break; + } close; - } -airplane,80,71,4 script Zerta 834,{ +airplane,80,71,2 script Zerta#01airplane 834,{ mes "[Zerta]"; mes "Oh, hello adventurer."; mes "I am currently on a"; @@ -377,17 +283,17 @@ airplane,80,71,4 script Zerta 834,{ close; } -airplane,65,63,4 script Maelin 714,{ +airplane,65,63,4 script Maelin#01airplane 714,{ mes "[Maelin]"; mes "Um, this Airship is"; mes "to Lutie, isn't it? I've"; - mes "been waiting so long,"; + mes "waiting so long,"; mes "but I haven't heard any"; mes "broadcast about Lutie."; close; } -airplane,72,34,2 script Aanos 702,{ +airplane,72,34,6 script Aanos#01airplane 702,{ mes "[Aanos]"; mes "Oh wooow~"; mes "The sky looks"; @@ -396,7 +302,456 @@ airplane,72,34,2 script Aanos 702,{ close; } -airplane,32,61,4 script Nils::TypingContest 49,{ +airplane,221,158,2 script Pilot#airplane 852,{ + 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; + switch(select("Do you know a passenger named Thierry?")) { + case 1: + break; + } + 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; + } + set .@pilot,rand(1,4); + if (.@pilot == 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; + } + else if (.@pilot == 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."; + } + else if (.@pilot == 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!"; + } + else { + 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; +} + +//============================================================ +//= The Airship System (Izlude -> Juno -> Rachel -> Repeat) +//============================================================ + +airplane_01,243,74,4 script #AirshipWarp-3 45,2,2,{ +OnTouch: + if($@airplanelocation2 == 1)warp "izlude",202,56; + if($@airplanelocation2 == 2)warp "yuno",20,265; + if($@airplanelocation2 == 3)warp "ra_fild12",292,204; + end; + +OnHide: + misceffect 16; + end; +OnUnhide: + misceffect 215; + end; +} + +airplane_01,243,29,4 script #AirshipWarp-4 45,2,2,{ +OnTouch: + if($@airplanelocation2 == 1)warp "izlude",202,56; + if($@airplanelocation2 == 2)warp "yuno",20,265; + if($@airplanelocation2 == 3)warp "ra_fild12",292,204; + end; + +OnHide: + misceffect 16; + end; +OnUnhide: + misceffect 215; + end; +} + +airplane_01,1,1,0 script YunoIzl_Airship -1,{ +OnInit: +while(1) +{ + disablenpc "Airship#airplane02"; + initnpctimer; + setnpctimer 0; + set $@airplanelocation2,0; + donpcevent "#AirshipWarp-3::OnHide"; + donpcevent "#AirshipWarp-4::OnHide"; + disablenpc "#AirshipWarp-3"; + disablenpc "#AirshipWarp-4"; + mapannounce "airplane_01","The Airship is leaving the ground. Our next destination is Izlude.",bc_map,0x00FF00; + end; +OnTimer15000: + set $@mobinv, $@mobinv+1; + set $@mobrand, rand(1,3); + if($@mobinv >= 9 && $@mobrand == 3) { + stopnpctimer; + enablenpc "Airship#airplane02"; + donpcevent "Airship#airplane02::OnInvasion"; + } + mapannounce "airplane_01","We are heading to Izlude.",bc_map,0x00FF00; + end; +OnTimer30000: + mapannounce "airplane_01","We will arrive in Izlude shortly.",bc_map,0x00FF00; + end; +OnTimer45000: + set $@airplanelocation2,1; + enablenpc "#AirshipWarp-3"; + enablenpc "#AirshipWarp-4"; + donpcevent "#AirshipWarp-3::OnUnhide"; + donpcevent "#AirshipWarp-4::OnUnhide"; + mapannounce "airplane_01","Welcome to Izlude. Have a safe trip.",bc_map,0x00FF00; + end; +OnTimer55000: + mapannounce "airplane_01","Currently, we are in Izlude. The Airship will leave shortly.",bc_map,0x00FF00; + end; +OnTimer65000: + set $@airplanelocation2,0; + donpcevent "#AirshipWarp-3::OnHide"; + donpcevent "#AirshipWarp-4::OnHide"; + disablenpc "#AirshipWarp-3"; + disablenpc "#AirshipWarp-4"; + mapannounce "airplane_01","The Airship is leaving the ground. Our next destination is Juno.",bc_map,0x70DBDB; + end; +OnTimer80000: + mapannounce "airplane_01","We are heading to Juno.",bc_map,0x70DBDB; + end; +OnTimer95000: + mapannounce "airplane_01","We will arrive in Juno shortly.",bc_map,0x70DBDB; + end; +OnTimer110000: + set $@airplanelocation2,2; + enablenpc "#AirshipWarp-3"; + enablenpc "#AirshipWarp-4"; + donpcevent "#AirshipWarp-3::OnUnhide"; + donpcevent "#AirshipWarp-4::OnUnhide"; + mapannounce "airplane_01","Welcome to Juno. Have a safe trip.",bc_map,0x70DBDB; + end; +OnTimer120000: + mapannounce "airplane_01","Currently, we are in Juno. The Airship will take off shortly.",bc_map,0x70DBDB; + end; +OnTimer130000: + set $@airplanelocation2,0; + donpcevent "#AirshipWarp-3::OnHide"; + donpcevent "#AirshipWarp-4::OnHide"; + disablenpc "#AirshipWarp-3"; + disablenpc "#AirshipWarp-4"; + mapannounce "airplane_01","The Airship is leaving the ground. Our next destination is Rachel.",bc_map,0xFF8600; + end; +OnTimer145000: + mapannounce "airplane_01","We are heading to Rachel.",bc_map,0xFF8600; + end; +OnTimer160000: + mapannounce "airplane_01","We will arrive in Rachel shortly.",bc_map,0xFF8600; + end; +OnTimer175000: + set $@airplanelocation2,3; + enablenpc "#AirshipWarp-3"; + enablenpc "#AirshipWarp-4"; + donpcevent "#AirshipWarp-3::OnUnhide"; + donpcevent "#AirshipWarp-4::OnUnhide"; + mapannounce "airplane_01","Welcome to Rachel. Have a safe trip.",bc_map,0xFF8600; + end; +OnTimer185000: + mapannounce "airplane_01","Currently, we are in Rachel. The Airship will leave shortly.",bc_map,0xFF8600; + end; +OnTimer195000: + stopnpctimer; +} +OnReturn: + killmonsterall "airplane_01"; + set $@mobinv, 0; + mapannounce "airplane_01","Monster threat nullfied. The Airship is now returning to normal operation.",bc_map,0x00FF00; + startnpctimer; + end; +} + +//============================================================ +//= Some normal NPCS (airplane_01) +//============================================================ + +airplane_01,240,64,5 duplicate(Exit2) Exit#05 857 + +airplane_01,247,64,5 duplicate(Exit2) Exit#06 857 + +airplane_01,240,39,1 duplicate(Exit2) Exit#07 857 + +airplane_01,247,39,1 duplicate(Exit2) Exit#08 857 + +airplane_01,100,69,2 duplicate(Airship Crew) Airship Crew#02 852 + +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."; + break; + 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."; + break; + 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~"; + break; + 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."; + break; + } + close; +} + + +airplane_01,50,66,5 script Apple Merchant#airplane 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,0,501; + 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 < 0 && .@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") == 1) + break; + else { + 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; + } + } + } + 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; + } + break; + 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; + } + break; + 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; + } + break; + 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~"; + break; + } + close; +} + +airplane_01,32,61,4 script Nils#ein 49,{ callfunc "F_ClearGarbage"; //Clear outdated, unused variables loopback: mes "[Nils]"; @@ -574,7 +929,7 @@ s_Record: } -airplane_01,221,158,6 script Pilot#air-0::Pilot 852,{ +airplane_01,221,158,2 script Pilot#airplane_01 852,{ set .@pilot, rand(1,4); if (.@pilot == 1) { mes "[Pilot]"; @@ -619,7 +974,7 @@ airplane_01,221,158,6 script Pilot#air-0::Pilot 852,{ mes "And the captain IS a reindeer."; mes "I could just strip to my boxers."; next; - //Emotion "Pilot#airplane_01" ET_HUK + emotion e_omg; mes "[Pilot]"; mes "Oh...! Hello there!"; mes "E-e-enjoying your flight?!"; @@ -627,163 +982,9 @@ airplane_01,221,158,6 script Pilot#air-0::Pilot 852,{ close; } -//============================================================ -//= The Airship System (Izlude -> Juno -> Rachel -> Repeat) -//============================================================ - -airplane_01,243,74,4 script #AirshipWarp-3 45,2,2,{ -OnTouch: - if($@airplanelocation2 == 1)warp "izlude",202,56; - if($@airplanelocation2 == 2)warp "yuno",20,265; - if($@airplanelocation2 == 3)warp "ra_fild12",292,204; - end; - -OnHide: - misceffect 16; - end; -OnUnhide: - misceffect 215; - end; -} - -airplane_01,243,29,4 script #AirshipWarp-4 45,2,2,{ -OnTouch: - if($@airplanelocation2 == 1)warp "izlude",202,56; - if($@airplanelocation2 == 2)warp "yuno",20,265; - if($@airplanelocation2 == 3)warp "ra_fild12",292,204; - end; -OnHide: - misceffect 16; - end; -OnUnhide: - misceffect 215; - end; -} -airplane_01,1,1,0 script YunoIzl_Airship -1,{ -OnInit: -while(1) -{ - disablenpc "Quest_Izl"; - initnpctimer; - setnpctimer 0; - set $@airplanelocation2,0; - donpcevent "#AirshipWarp-3::OnHide"; - donpcevent "#AirshipWarp-4::OnHide"; - disablenpc "#AirshipWarp-3"; - disablenpc "#AirshipWarp-4"; - mapannounce "airplane_01","The Airship is leaving the ground. Our next destination is Izlude.",1,0x00FF00; - end; -OnTimer15000: - set $@mobinv, $@mobinv+1; - set $@mobrand, rand(1,3); - if($@mobinv >= 9 && $@mobrand == 3) { - stopnpctimer; - enablenpc "Quest_Izl"; - donpcevent "Quest_Izl::OnInvasion"; - } - mapannounce "airplane_01","We are heading to Izlude.",1,0x00FF00; - end; -OnTimer30000: - mapannounce "airplane_01","We will arrive in Izlude shortly.",1,0x00FF00; - end; -OnTimer45000: - set $@airplanelocation2,1; - enablenpc "#AirshipWarp-3"; - enablenpc "#AirshipWarp-4"; - donpcevent "#AirshipWarp-3::OnUnhide"; - donpcevent "#AirshipWarp-4::OnUnhide"; - mapannounce "airplane_01","Welcome to Izlude. Have a safe trip.",1,0x00FF00; - end; -OnTimer55000: - mapannounce "airplane_01","Currently, we are in Izlude. The Airship will leave shortly.",1,0x00FF00; - end; -OnTimer65000: - set $@airplanelocation2,0; - donpcevent "#AirshipWarp-3::OnHide"; - donpcevent "#AirshipWarp-4::OnHide"; - disablenpc "#AirshipWarp-3"; - disablenpc "#AirshipWarp-4"; - mapannounce "airplane_01","The Airship is leaving the ground. Our next destination is Juno.",1,0x70DBDB; - end; -OnTimer80000: - mapannounce "airplane_01","We are heading to Juno.",1,0x70DBDB; - end; -OnTimer95000: - mapannounce "airplane_01","We will arrive in Juno shortly.",1,0x70DBDB; - end; -OnTimer110000: - set $@airplanelocation2,2; - enablenpc "#AirshipWarp-3"; - enablenpc "#AirshipWarp-4"; - donpcevent "#AirshipWarp-3::OnUnhide"; - donpcevent "#AirshipWarp-4::OnUnhide"; - mapannounce "airplane_01","Welcome to Juno. Have a safe trip.",1,0x70DBDB; - end; -OnTimer120000: - mapannounce "airplane_01","Currently, we are in Juno. The Airship will take off shortly.",1,0x70DBDB; - end; -OnTimer130000: - set $@airplanelocation2,0; - donpcevent "#AirshipWarp-3::OnHide"; - donpcevent "#AirshipWarp-4::OnHide"; - disablenpc "#AirshipWarp-3"; - disablenpc "#AirshipWarp-4"; - mapannounce "airplane_01","The Airship is leaving the ground. Our next destination is Rachel.",1,0xFF8600; - end; -OnTimer145000: - mapannounce "airplane_01","We are heading to Rachel.",1,0xFF8600; - end; -OnTimer160000: - mapannounce "airplane_01","We will arrive in Rachel shortly.",1,0xFF8600; - end; -OnTimer175000: - set $@airplanelocation2,3; - enablenpc "#AirshipWarp-3"; - enablenpc "#AirshipWarp-4"; - donpcevent "#AirshipWarp-3::OnUnhide"; - donpcevent "#AirshipWarp-4::OnUnhide"; - mapannounce "airplane_01","Welcome to Rachel. Have a safe trip.",1,0xFF8600; - end; -OnTimer185000: - mapannounce "airplane_01","Currently, we are in Rachel. The Airship will leave shortly.",1,0xFF8600; - end; -OnTimer195000: - stopnpctimer; -} -OnReturn: - killmonsterall "airplane_01"; - set $@mobinv, 0; - mapannounce "airplane_01","Monster threat nullfied. The Airship is now returning to normal operation.",1,0x00FF00; - startnpctimer; - end; -} - -//============================================================ -//= Some normal NPCS (airplane_01) -//============================================================ - -airplane_01,240,64,5 duplicate(Exit2) Exit#05 857 - -airplane_01,247,64,5 duplicate(Exit2) Exit#06 857 - -airplane_01,240,39,1 duplicate(Exit2) Exit#07 857 - -airplane_01,247,39,1 duplicate(Exit2) Exit#08 857 - -airplane_01,100,69,2 duplicate(Airship Crew) Airship Crew#02 852 - -airplane_01,250,59,3 duplicate(AirshipInfo) Airship Staff#info 67 - -airplane_01,50,66,4 duplicate(AirshipApples) Meltz 86 - -airplane_01,32,61,4 duplicate(TypingContest) Nils 49 - -airplane_01,221,158,6 duplicate(Pilot) Pilot#air-1 852 - - -airplane_01,83,61,2 script Dianne 72,{ +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"; @@ -792,17 +993,18 @@ airplane_01,83,61,2 script Dianne 72,{ mes "weird reindeer. Oh!"; mes "Do you think that..."; close; + OnTouch: - Emotion 28, "Dianne"; + emotion e_sob; end; } -airplane_01,69,63,2 script Old Man#06 55,{ +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 "^111111*Harrrumph*^000000 I really should"; + mes "*Harrrumph* I really should"; mes "have brought my chef so that"; mes "I could enjoy a real meal."; close; @@ -819,7 +1021,7 @@ airplane_01,33,68,4 script Clarice 74,{ end; } -airplane_01,71,31,6 script Swordman Shimizu 106,{ +airplane_01,71,31,2 script Swordsman Shimizu#01 106,{ mes "[Swordsman Shimizu]"; mes "Finally, after five"; mes "years of waiting..."; @@ -964,7 +1166,7 @@ y_airport,144,63,4 script Airport Staff#Ein 91,{ mes "have a nice day."; close; } - + y_airport,141,63,4 script Airport Staff#Izl 91,{ mes "[Airship Staff]"; mes "Good day!"; @@ -985,13 +1187,15 @@ y_airport,141,63,4 script Airport Staff#Izl 91,{ close; } -yuno,14,262,3 script Airship Staff#yuno01::Airship Staff 91,{ +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 "in the Rune-Midgarts Kingdom,"; + mes "and to Rachel in the Arunafeltz"; + mes "Republic."; next; mes "[Airship Staff]"; mes "Otherwise, if Juno is"; @@ -1003,7 +1207,23 @@ yuno,14,262,3 script Airship Staff#yuno01::Airship Staff 91,{ close; } -yuno,88,263,5 duplicate(Airship Staff) Airship Staff#yuno02 91 +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; +} //============================================================ //= Apple Gambling Function diff --git a/npc/quests/quests_airship.txt b/npc/quests/quests_airship.txt index 9445086d2..43e51d5d0 100644 --- a/npc/quests/quests_airship.txt +++ b/npc/quests/quests_airship.txt @@ -3,7 +3,7 @@ //===== By: ================================================== // Samuray22 //===== Current Version: ===================================== -//= 1.6 +//= 1.7 //===== Compatible With: ===================================== //= eAthena SVN //===== Description: ========================================= @@ -23,6 +23,7 @@ //= 1.4 Fixed incorrect variable type used. [L0ne_W0lf] //= 1.5 Replaced effect numerics with constants. [Samuray22] //= 1.6 Changed some variables to scope instead of permanent char. [brianluau] +//= 1.7 some minor cleanup updates to the airship invasion. [L0ne_W0lf] //============================================================ //=======================================================================================================// @@ -1067,7 +1068,7 @@ einbech,53,94,5 duplicate(Tree) Tree#t1-4 111 //=============Monsters Attack====================== -airplane_01,1,1,0 script Quest_Izl -1,{ +airplane_01,1,1,0 script Airship#airplane02 -1,{ OnInit: disablenpc "Airship Captain#02"; OnInvasion: @@ -1076,14 +1077,14 @@ while($@mobinv >= 9 && $@mobrand == 3) Initnpctimer; end; OnTimer6000: - mapannounce "airplane_01","Captain: Attention, all passengers.",1,0x00FF00; + mapannounce "airplane_01","Captain: Attention, all passengers.",bc_map,0x00FF00; end; OnTimer10000: - mapannounce "airplane_01","Captain: We are being approached by a group of unidentified creatures.",1,0x00ff00; + mapannounce "airplane_01","Captain: We are being approached by a group of unidentified creatures.",bc_map,0x00ff00; end; OnTimer12000: - mapannounce "airplane_01", "Captain: All passengers on deck, please find shelter inside the ship!",1,0x00ff00; - disablenpc "Airship Staff#info"; + mapannounce "airplane_01", "Captain: All passengers on deck, please find shelter inside the ship!",bc_map,0x00ff00; + disablenpc "Airship Staff#airplane01"; end; OnTimer16000: monster "airplane_01",245,57,"Gremlin",1632,1; @@ -1094,47 +1095,61 @@ OnTimer16000: monster "airplane_01",234,56,"Beholder",1633,1; monster "airplane_01",227,49,"Beholder",1633,1; monster "airplane_01",233,41,"Beholder",1633,1; - set $@monster, rand(1,5); - if($@monster == 1) { - monster "airplane_01",251,47,"Drainliar",1434,1; - monster "airplane_01",245,53,"Drainliar",1434,1; - monster "airplane_01",234,46,"Drainliar",1434,1; - monster "airplane_01",233,58,"Drainliar",1434,1; - monster "airplane_01",243,60,"Drainliar",1434,1; - monster "airplane_01",228,54,"Drainliar",1434,1; - monster "airplane_01",232,41,"Drainliar",1434,1; - } else if($@monster == 2) { - monster "airplane_01",251,47,"Rotar Zairo",1557,1; - monster "airplane_01",245,53,"Rotar Zairo",1557,1; - monster "airplane_01",234,46,"Rotar Zairo",1557,1; - monster "airplane_01",233,58,"Rotar Zairo",1557,1; - monster "airplane_01",243,60,"Rotar Zairo",1557,1; - monster "airplane_01",228,54,"Rotar Zairo",1557,1; - monster "airplane_01",232,41,"Rotar Zairo",1557,1; - } else if($@monster == 3) { - monster "airplane_01",251,47,"Farmiliar",1419,1; - monster "airplane_01",245,53,"Farmiliar",1419,1; - monster "airplane_01",234,46,"Farmiliar",1419,1; - monster "airplane_01",233,58,"Farmiliar",1419,1; - monster "airplane_01",243,60,"Farmiliar",1419,1; - monster "airplane_01",228,54,"Farmiliar",1419,1; - monster "airplane_01",232,41,"Farmiliar",1419,1; - } else if($@monster == 4) { - monster "airplane_01",251,47,"Picky",1050,1; - monster "airplane_01",245,53,"Picky",1050,1; - monster "airplane_01",234,46,"Picky",1050,1; - monster "airplane_01",233,58,"Picky",1050,1; - monster "airplane_01",243,60,"Picky",1050,1; - monster "airplane_01",228,54,"Picky",1050,1; - monster "airplane_01",232,41,"Picky",1050,1; - } else if($@monster == 5) { - monster "airplane_01",251,47,"Steel Chonchon",1042,1; - monster "airplane_01",245,53,"Steel Chonchon",1042,1; - monster "airplane_01",234,46,"Steel Chonchon",1042,1; - monster "airplane_01",233,58,"Steel Chonchon",1042,1; + switch(rand(1,5)) { + case 1: monster "airplane_01",251,47,"Drainliar",1111,1; break; + case 2: monster "airplane_01",251,47,"Rotar Zairo",1392,1; break; + case 3: monster "airplane_01",251,47,"Farmiliar",1005,1; break; + case 4: monster "airplane_01",251,47,"Picky",1049,1; break; + case 5: monster "airplane_01",251,47,"Steel Chonchon",1042,1; break; + } + switch(rand(1,5)) { + case 1: monster "airplane_01",245,53,"Drainliar",1111,1; break; + case 2: monster "airplane_01",245,53,"Rotar Zairo",1392,1; break; + case 3: monster "airplane_01",245,53,"Farmiliar",1005,1; break; + case 4: monster "airplane_01",245,53,"Picky",1049,1; break; + case 5: monster "airplane_01",245,53,"Steel Chonchon",1042,1; break; + } + switch(rand(1,5)) { + case 1: monster "airplane_01",234,46,"Drainliar",1111,1; break; + case 2: monster "airplane_01",234,46,"Rotar Zairo",1392,1; break; + case 3: monster "airplane_01",234,46,"Farmiliar",1005,1; break; + case 4: monster "airplane_01",234,46,"Picky",1049,1; break; + case 5: monster "airplane_01",234,46,"Steel Chonchon",1042,1; break; + } + switch(rand(1,5)) { + case 1: monster "airplane_01",233,58,"Drainliar",1111,1; break; + case 2: monster "airplane_01",233,58,"Rotar Zairo",1392,1; break; + case 3: monster "airplane_01",233,58,"Farmiliar",1005,1; break; + case 4: monster "airplane_01",233,58,"Picky",1049,1; break; + case 5: monster "airplane_01",233,58,"Steel Chonchon",1042,1; break; + } + // it's possible this is an error, but in aegis it stops resetting the random var. + switch(rand(1,5)) { + case 1: + monster "airplane_01",243,60,"Drainliar",1111,1; + monster "airplane_01",228,54,"Drainliar",1111,1; + monster "airplane_01",232,41,"Drainliar",1111,1; + break; + case 2: + monster "airplane_01",243,60,"Rotar Zairo",1392,1; + monster "airplane_01",228,54,"Rotar Zairo",1392,1; + monster "airplane_01",232,41,"Rotar Zairo",1392,1; + break; + case 3: + monster "airplane_01",243,60,"Farmiliar",1005,1; + monster "airplane_01",228,54,"Farmiliar",1005,1; + monster "airplane_01",232,41,"Farmiliar",1005,1; + break; + case 4: + monster "airplane_01",243,60,"Picky",1049,1; + monster "airplane_01",228,54,"Picky",1049,1; + monster "airplane_01",232,41,"Picky",1049,1; + break; + case 5: monster "airplane_01",243,60,"Steel Chonchon",1042,1; monster "airplane_01",228,54,"Steel Chonchon",1042,1; - monster "airplane_01",232,41,"Steel Chonchon",1042,1; + monster "airplane_01",232,41,"Steel Chonchon",1042,1; + break; } end; OnTimer16010: @@ -1148,240 +1163,249 @@ OnTimer16010: monster "airplane_01",237,62,"Beholder",1633,1; end; OnTimer21000: - mapannounce "airplane_01", "Attendant: Captain Tarlock, we're in trouble! The monsters are heading to the propellers!",1,0x00FF00; + mapannounce "airplane_01", "Attendant: Captain Tarlock, we're in trouble! The monsters are heading to the propellers!",bc_map,0x00FF00; end; OnTimer26000: - mapannounce "airplane_01", "Captain Tarlock: What?! I've got to stop them!",1,0x70DBDB; + mapannounce "airplane_01", "Captain Tarlock: What?! I've got to stop them!",bc_map,0x70DBDB; end; OnTimer31000: disablenpc "Airship Captain#01"; enablenpc "Airship Captain#02"; end; OnTimer36000: - emotion 6, "Airship Captain#02"; - mapannounce "airplane_01", "Captain Tarlock: You ugly, godforsaken creatures... Get off my ship!",1,0x70DBDB; + emotion e_ag,"Airship Captain#02"; + mapannounce "airplane_01", "Captain Tarlock: You ugly, godforsaken creatures... Get off my ship!",bc_map,0x70DBDB; end; OnTimer36500: - mapannounce "airplane_01", "*Kzzz...Drrrr...Boom! CRASH!*",1,0x00FF00; - donpcevent "boom#air-6::OnAttack"; //6 + mapannounce "airplane_01", "*Kzzz...Drrrr...Boom! CRASH!*",bc_map,0x00FF00; + specialeffect EF_SUI_EXPLOSION,"boom6#airplane"; end; OnTimer37000: - donpcevent "boom#air-7::OnAttack"; //7 + specialeffect EF_SUI_EXPLOSION,"boom7#airplane"; end; OnTimer37500: - donpcevent "boom#air-8::OnAttack"; //8 + specialeffect EF_SUI_EXPLOSION,"boom8#airplane"; end; OnTimer38000: - donpcevent "boom#air-9::OnAttack"; //9 + specialeffect EF_SUI_EXPLOSION,"boom9#airplane"; end; OnTimer38500: - donpcevent "boom#air-10::OnAttack"; //10 + specialeffect EF_SUI_EXPLOSION,"boom10#airplane"; end; OnTimer39000: - donpcevent "boom#air-6::OnAttack"; //6 + specialeffect EF_SUI_EXPLOSION,"boom6#airplane"; end; OnTimer39500: - donpcevent "boom#air-7::OnAttack"; //7 + specialeffect EF_SUI_EXPLOSION,"boom7#airplane"; end; OnTimer40000: - donpcevent "boom#air-8::OnAttack"; //8 + specialeffect EF_SUI_EXPLOSION,"boom8#airplane"; end; OnTimer40500: - donpcevent "boom#air-9::OnAttack"; //9 + specialeffect EF_SUI_EXPLOSION,"boom9#airplane"; end; OnTimer41000: - donpcevent "boom#air-10::OnAttack"; //10 + specialeffect EF_SUI_EXPLOSION,"boom10#airplane"; end; OnTimer41500: - donpcevent "boom#air-6::OnAttack"; //6 - mapannounce "airplane_01", "Engineer: Oh no! We've got a problem with the Number One Rear Engine!",1,0x00FF00; + specialeffect EF_SUI_EXPLOSION,"boom6#airplane"; + mapannounce "airplane_01", "Engineer: Oh no! We've got a problem with the Number One Rear Engine!",bc_map,0x00FF00; end; OnTimer42500: - donpcevent "boom#air-7::OnAttack"; //7 + specialeffect EF_SUI_EXPLOSION,"boom7#airplane"; end; OnTimer43500: - donpcevent "boom#air-8::OnAttack"; //8 + specialeffect EF_SUI_EXPLOSION,"boom8#airplane"; end; OnTimer44500: - donpcevent "boom#air-9::OnAttack"; //9 + specialeffect EF_SUI_EXPLOSION,"boom9#airplane"; end; OnTimer45500: - donpcevent "boom#air-10::OnAttack"; //10 + specialeffect EF_SUI_EXPLOSION,"boom10#airplane"; end; OnTimer46500: - mapannounce "airplane_01", "Pilot: Hurry! Get the women, old people and children somewhere safe first! Hurry!",1,0x00FF00; + mapannounce "airplane_01", "Pilot: Hurry! Get the women, old people and children somewhere safe first! Hurry!",bc_map,0x00FF00; end; OnTimer47500: - donpcevent "boom#air-6::OnAttack"; //6 + specialeffect EF_SUI_EXPLOSION,"boom6#airplane"; end; OnTimer48500: - donpcevent "boom#air-7::OnAttack"; //7 + specialeffect EF_SUI_EXPLOSION,"boom7#airplane"; end; OnTimer49500: - donpcevent "boom#air-8::OnAttack"; //8 + specialeffect EF_SUI_EXPLOSION,"boom8#airplane"; end; OnTimer50500: - donpcevent "boom#air-7::OnAttack"; //7 + specialeffect EF_SUI_EXPLOSION,"boom7#airplane"; end; OnTimer51500: - Emotion 6, "Airship Captain#02"; - mapannounce "airplane_01", "Captain Tarlock: You dirty monsters are dealing with this ship's captain...",1,0x70DBDB; + emotion e_ag,"Airship Captain#02"; + mapannounce "airplane_01", "Captain Tarlock: You dirty monsters are dealing with this ship's captain...",bc_map,0x70DBDB; end; OnTimer56500: - Emotion 6, "Airship Captain#02"; - mapannounce "airplane_01", "Captain Tarlock: I'll protect this ship and my crew with my life!",1,0x70DBDB; + emotion e_ag,"Airship Captain#02"; + mapannounce "airplane_01", "Captain Tarlock: I'll protect this ship and my crew with my life!",bc_map,0x70DBDB; end; OnTimer61500: - Emotion 29, "Airship Captain#02"; - mapannounce "airplane_01", "Captain Tarlock: Here goes! Special Exodus Joker XIII Doom Rifle!",1,0x70DBDB; + emotion e_pif,"Airship Captain#02"; + mapannounce "airplane_01", "Captain Tarlock: Here goes! Special Exodus Joker XIII Doom Rifle!",bc_map,0x70DBDB; end; OnTimer66500: - mapannounce "airplane_01", "*Bang! Bang Bang! Bang Bang! Bang Bang Bang!*",1,0x00FF00; - donpcevent "Airship Captain#02::OnAttack"; + mapannounce "airplane_01", "*Bang! Bang Bang! Bang Bang! Bang Bang Bang!*",bc_map,0x00FF00; + specialeffect EF_HIT5,"Airship Captain#02"; end; OnTimer67000: - donpcevent "boom#air-1::OnAttack"; //1 - donpcevent "Airship Captain#02::OnAttack"; + specialeffect EF_SUI_EXPLOSION,"boom1#airplane"; + specialeffect EF_HIT5,"Airship Captain#02"; end; OnTimer67500: - donpcevent "boom#air-2::OnAttack"; //2 - donpcevent "Airship Captain#02::OnAttack"; + specialeffect EF_SUI_EXPLOSION,"boom2#airplane"; + specialeffect EF_HIT5,"Airship Captain#02"; end; OnTimer68000: - donpcevent "boom#air-3::OnAttack"; //3 - donpcevent "Airship Captain#02::OnAttack"; + specialeffect EF_SUI_EXPLOSION,"boom3#airplane"; + specialeffect EF_HIT5,"Airship Captain#02"; end; OnTimer68500: - donpcevent "boom#air-4::OnAttack"; //4 - donpcevent "Airship Captain#02::OnAttack"; + specialeffect EF_SUI_EXPLOSION,"boom4#airplane"; + specialeffect EF_HIT5,"Airship Captain#02"; end; OnTimer69000: - donpcevent "boom#air-5::OnAttack"; //5 - donpcevent "Airship Captain#02::OnAttack"; + specialeffect EF_SUI_EXPLOSION,"boom5#airplane"; + specialeffect EF_HIT5,"Airship Captain#02"; end; OnTimer69500: - donpcevent "boom#air-0::OnAttack"; //0 - donpcevent "Airship Captain#02::OnAttack"; + specialeffect EF_SUI_EXPLOSION,"boom0#airplane"; + specialeffect EF_HIT5,"Airship Captain#02"; end; OnTimer70000: - donpcevent "boom#air-1::OnAttack"; //1 - donpcevent "Airship Captain#02::OnAttack"; + specialeffect EF_SUI_EXPLOSION,"boom1#airplane"; + specialeffect EF_HIT5,"Airship Captain#02"; end; OnTimer70500: - donpcevent "boom#air-2::OnAttack"; //2 - donpcevent "Airship Captain#02::OnAttack"; + specialeffect EF_SUI_EXPLOSION,"boom2#airplane"; + specialeffect EF_HIT5,"Airship Captain#02"; end; OnTimer71000: - donpcevent "boom#air-4::OnAttack"; //4 - donpcevent "Airship Captain#02::OnAttack"; + specialeffect EF_SUI_EXPLOSION,"boom4#airplane"; + specialeffect EF_HIT5,"Airship Captain#02"; end; OnTimer71500: - donpcevent "boom#air-5::OnAttack"; //5 + specialeffect EF_SUI_EXPLOSION,"boom5#airplane"; end; OnTimer72000: - Emotion 6, "Airship Captain#02"; - mapannounce "airplane_01","Captain Tarlock: Filthy animals! Stop ruining my ship!",1,0x70DBDB; + emotion e_ag,"Airship Captain#02"; + mapannounce "airplane_01","Captain Tarlock: Filthy animals! Stop ruining my ship!",bc_map,0x70DBDB; end; OnTimer72500: - mapannounce "airplane_01", "*Bang! Bang Bang! Bang Bang! Bang Bang Bang!*",1,0x00FF00; - donpcevent "Airship Captain#02::OnAttack"; + mapannounce "airplane_01", "*Bang! Bang Bang! Bang Bang! Bang Bang Bang!*",bc_map,0x00FF00; + specialeffect EF_HIT5,"Airship Captain#02"; end; OnTimer73000: - donpcevent "boom#air-6::OnAttack"; //6 - donpcevent "Airship Captain#02::OnAttack"; + specialeffect EF_SUI_EXPLOSION,"boom6#airplane"; + specialeffect EF_HIT5,"Airship Captain#02"; end; OnTimer73500: - donpcevent "boom#air-7::OnAttack"; //7 - donpcevent "Airship Captain#02::OnAttack"; + specialeffect EF_SUI_EXPLOSION,"boom7#airplane"; + specialeffect EF_HIT5,"Airship Captain#02"; end; OnTimer74000: - donpcevent "boom#air-8::OnAttack"; //8 - donpcevent "Airship Captain#02::OnAttack"; + specialeffect EF_SUI_EXPLOSION,"boom8#airplane"; + specialeffect EF_HIT5,"Airship Captain#02"; end; OnTimer74500: - donpcevent "boom#air-9::OnAttack"; //9 - donpcevent "Airship Captain#02::OnAttack"; + specialeffect EF_SUI_EXPLOSION,"boom9#airplane"; + specialeffect EF_HIT5,"Airship Captain#02"; end; OnTimer75000: - donpcevent "boom#air-10::OnAttack"; //10 - donpcevent "Airship Captain#02::OnAttack"; + specialeffect EF_SUI_EXPLOSION,"boom10#airplane"; + specialeffect EF_HIT5,"Airship Captain#02"; end; OnTimer75500: - donpcevent "boom#air-6::OnAttack"; //6 - donpcevent "Airship Captain#02::OnAttack"; + specialeffect EF_SUI_EXPLOSION,"boom6#airplane"; + specialeffect EF_HIT5,"Airship Captain#02"; end; OnTimer76000: - donpcevent "boom#air-7::OnAttack"; //7 - donpcevent "Airship Captain#02::OnAttack"; + specialeffect EF_SUI_EXPLOSION,"boom7#airplane"; + specialeffect EF_HIT5,"Airship Captain#02"; end; OnTimer76500: - donpcevent "boom#air-8::OnAttack"; //8 - donpcevent "Airship Captain#02::OnAttack"; + specialeffect EF_SUI_EXPLOSION,"boom8#airplane"; + specialeffect EF_HIT5,"Airship Captain#02"; end; OnTimer77000: - donpcevent "boom#air-9::OnAttack"; //9 - donpcevent "Airship Captain#02::OnAttack"; + specialeffect EF_SUI_EXPLOSION,"boom9#airplane"; + specialeffect EF_HIT5,"Airship Captain#02"; end; OnTimer77500: - donpcevent "boom#air-8::OnAttack"; //8 - mapannounce "airplane_01", "*Boom! Boom Boom! Boom Boom! Boom!*",1,0x00FF00; + specialeffect EF_SUI_EXPLOSION,"boom8#airplane"; + mapannounce "airplane_01", "*Boom! Boom Boom! Boom Boom! Boom!*",bc_map,0x00FF00; end; OnTimer78000: - donpcevent "boom#air-9::OnAttack"; //9 + specialeffect EF_SUI_EXPLOSION,"boom9#airplane"; end; OnTimer78500: - donpcevent "boom#air-10::OnAttack"; //10 + specialeffect EF_SUI_EXPLOSION,"boom10#airplane"; end; OnTimer79000: - donpcevent "boom#air-6::OnAttack"; //6 + specialeffect EF_SUI_EXPLOSION,"boom6#airplane"; end; OnTimer79500: - donpcevent "boom#air-7::OnAttack"; //7 + specialeffect EF_SUI_EXPLOSION,"boom7#airplane"; end; OnTimer80000: - Emotion 26,"Airship Captain#02"; - mapannounce "airplane_01", "Captain Tarlock: There's... To many to handle!",1,0x70DBDB; + emotion e_an,"Airship Captain#02"; + mapannounce "airplane_01", "Captain Tarlock: There's... To many to handle!",bc_map,0x70DBDB; end; OnTimer85000: - mapannounce "airplane_01", "Pilot: Captain, sir, the situation is getting critical!",1,0x00FF00; + mapannounce "airplane_01", "Pilot: Captain, sir, the situation is getting critical!",bc_map,0x00FF00; end; OnTimer100000: - Emotion 4,"Airship Captain#02"; - mapannounce "airplane_01", "Captain Tarlock: We'll need all the help we can get!",1,0x70DBDB; + emotion e_swt,"Airship Captain#02"; + mapannounce "airplane_01", "Captain Tarlock: We'll need all the help we can get!",bc_map,0x70DBDB; end; OnTimer125000: - Emotion 26,"Airship Captain#02"; - mapannounce "airplane_01", "Captain Tarlock: All hands and any passenger who can fight! We've got to drive away these monsters!",1,0x70DBDB; + emotion e_sry,"Airship Captain#02"; + mapannounce "airplane_01", "Captain Tarlock: All hands and any passenger who can fight! We've got to drive away these monsters!",bc_map,0x70DBDB; end; OnTimer130000: disablenpc "Airship Captain#02"; enablenpc "Airship Captain#01"; - enablenpc "Airship Staff#info"; + enablenpc "Airship Staff#airplane01"; donpcevent "YunoIzl_Airship::OnReturn"; end; } } -//========Captain Tarlock (Outside the Captain Cabin)======================= - -airplane_01,246,54,5 script Airship Captain#02 873,{ +airplane_01,246,54,3 script Airship Captain#02 873,{ + cutin "fly_felrock",2; mes "[Tarlock]"; mes "I am Tarlock,"; mes "captain of this"; mes "Airship. Go and"; mes "fight with the"; mes "Gremlins!"; - close; -OnAttack: - misceffect 4; + close2; + cutin "fly_felrock",255; end; } +airplane_01,249,50,0 script boom0#airplane 139,{ end; } +airplane_01,239,62,0 script boom1#airplane 139,{ end; } +airplane_01,244,55,0 script boom2#airplane 139,{ end; } +airplane_01,239,50,0 script boom3#airplane 139,{ end; } +airplane_01,245,59,0 script boom4#airplane 139,{ end; } +airplane_01,245,48,0 script boom5#airplane 139,{ end; } +airplane_01,235,39,0 script boom6#airplane 139,{ end; } +airplane_01,252,41,0 script boom7#airplane 139,{ end; } +airplane_01,252,63,0 script boom8#airplane 139,{ end; } +airplane_01,234,65,0 script boom9#airplane 139,{ end; } +airplane_01,227,67,0 script boom10#airplane 139,{ end; } + //========Captain Tarlock (Inside the Captain Cabin)======================= airplane_01,238,154,5 script Airship Captain#01 873,{ - - cutin "fly_trock.bmp",2; + cutin "fly_felrock",2; mes "[Tarlock]"; mes "I am Tarlock,"; mes "captain of this"; @@ -1602,7 +1626,7 @@ airplane_01,238,154,5 script Airship Captain#01 873,{ mes "exaggeration."; mes "It has really a strong power."; next; - specialeffect2 EF_ABSORBSPIRITS; + specialeffect2 EF_MAPPILLAR; mes "[Tarlock]"; mes "Did you understand?"; mes "I'll rest a little."; @@ -1662,7 +1686,6 @@ airplane_01,238,154,5 script Airship Captain#01 873,{ //===========Captain Ferlock======================= airplane,236,163,5 script Airship Captain#03 873,{ - cutin "fly_trock.bmp",2; if(hg_ma1 == 3 || hg_ma1 == 4) { @@ -3107,22 +3130,3 @@ L_Input: goto L_Input; } } - -//========Explosions======================= - -airplane_01,239,62,0 script boom#air-1::boom 139,{ -OnAttack: - misceffect 183; - end; -} -//==========Duplicates============= -airplane_01,244,55,0 duplicate(boom) boom#air-2 139 -airplane_01,239,50,0 duplicate(boom) boom#air-3 139 -airplane_01,245,59,0 duplicate(boom) boom#air-4 139 -airplane_01,245,48,0 duplicate(boom) boom#air-5 139 -airplane_01,235,39,0 duplicate(boom) boom#air-6 139 -airplane_01,252,41,0 duplicate(boom) boom#air-7 139 -airplane_01,252,63,0 duplicate(boom) boom#air-8 139 -airplane_01,234,65,0 duplicate(boom) boom#air-9 139 -airplane_01,227,67,0 duplicate(boom) boom#air-10 139 -airplane_01,249,50,0 duplicate(boom) boom#air-0 139 diff --git a/src/map/mob.c b/src/map/mob.c index e1ba9cfea..4f98b8a39 100644 --- a/src/map/mob.c +++ b/src/map/mob.c @@ -2991,6 +2991,10 @@ int mobskill_use(struct mob_data *md, unsigned int tick, int event) if (ms[i].msg_id){ //Display color message [SnakeDrak] struct mob_chat *mc = mob_chat(ms[i].msg_id); char temp[CHAT_SIZE_MAX]; + char name[NAME_LENGTH]; + snprintf(name, sizeof name,"%s", md->name); + strtok(name, "#"); // discard extra name identifier if present [Daegaladh] + snprintf(temp, sizeof temp,"%s : %s", name, mc->msg); snprintf(temp, sizeof temp,"%s : %s", md->name, mc->msg); clif_messagecolor(&md->bl, mc->color, temp); } |