summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt2
-rw-r--r--npc/Changelog.txt1
-rw-r--r--npc/airports/airships.txt908
-rw-r--r--npc/quests/quests_airship.txt330
-rw-r--r--src/map/mob.c4
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);
}