浏览代码

Updated Airship NPCs to official.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15636 54d463be-8e91-2dee-dedb-b68131a5f0ec
gepard1984 13 年之前
父节点
当前提交
202909582c

+ 3 - 3
doc/script_commands.txt

@@ -4619,7 +4619,7 @@ character.
 
 ---------------------------------------
 
-*specialeffect <effect number>{,<send_target>}{,"<NPC Name>"};
+*specialeffect <effect number>{,<send_target>{,"<NPC Name>"}};
 
 This command will display special effect with the given number, centered on the 
 specified NPCs coordinates, if any. For a full list of special effect numbers 
@@ -4642,7 +4642,7 @@ will retain the default behavior of the command.
 
 ---------------------------------------
 
-*specialeffect2 <effect number>{,<send_target>}{,"<Player Name>"};
+*specialeffect2 <effect number>{,<send_target>{,"<Player Name>"}};
 
 This command behaves identically to the 'specialeffect', but the effect will be 
 centered on the invoking character's sprite.
@@ -6103,7 +6103,7 @@ A full list of pet IDs can be found inside 'db/pet_db.txt'
 
 ---------------------------------------
 
-*emotion <emotion number>{,<target>}{,"<target name>"};
+*emotion <emotion number>{,<target>{,"<target name>"}};
 
 This command makes an object display an emotion sprite above their own as 
 if they were doing that emotion. For a full list of emotion numbers, 

文件差异内容过多而无法显示
+ 471 - 264
npc/airports/airships.txt


+ 45 - 43
npc/airports/einbroch.txt

@@ -2,47 +2,48 @@
 //= Einbroch Airport Staff
 //===== By: ================================================== 
 //= L0ne_W0lf, Muad_Dib
-//===== Current Version: ===================================== 
-//= 1.4
 //===== Compatible With: ===================================== 
-//= rAthena Revision 3000+
+//= rAthena SVN
 //===== Description: ========================================= 
 //= Einbroch Airport Staff
 //===== Additional Comments: ================================= 
-//= Converted by Dr.Evil, 1.0b more typos and credits [Lupus]
-//= 1.1 Fixed wrong check, added extra condition [Justin84]
-//= 1.2 Removed Duplicates [Silent]
-//= 1.3 Fixed syntax errors for duplicate [KarLaeda]
-//= 1.4 Removed use of goto. [L0ne_W0lf]
-//============================================================
+//= Official NPCs.
+//============================================================ 
 
-
-airport,126,43,4	script	Airport Staff#01::AirportE	90,{
+airport,143,43,5	script	Airport Staff#airport1a::airport1	90,{
 	mes "[Airport Staff]";
-	mes "Welcome to the Airport.";
-	mes "How may I help you?";
+	mes "Welcome to the";
+	mes "Einbroch Airport,";
+	mes "where we offer nonstop";
+	mes "flights to the cities of";
+	mes "Juno, Lighthalzen and Hugel.";
 	next;
 	if (select("Board the Airship:Cancel") == 1) {
 		mes "[Airport Staff]";
 		mes "The Airship boarding fee";
 		mes "is 1,200 zeny, but if you've";
-		mes "got a Free Ticket for Airship,"; 
+		mes "got a Free Ticket for Airship,";
 		mes "the fee will be waived. Will";
 		mes "you board the Airship?";
 		next;
 		if (select("Yes:No") == 1) {
-			if(countitem(7311) > 0) {
-				delitem 7311,1;
+			if (countitem(7311) > 0) {
+				delitem 7311,1; //Free_Flying_Ship_Ticket
 				warp "airport",148,51;
-				close;
+				end;
 			}
-			if(Zeny >= 1200) {
+			if (Zeny >= 1200) {
 				set Zeny, Zeny - 1200;
 				warp "airport",148,51;
-				close;
+				end;
 			}
 			mes "[Airport Staff]";
-			mes "You don't have enough zeny.";
+			mes "I'm sorry, but you don't";
+			mes "have a Free Ticket for";
+			mes "Airship and you don't have";
+			mes "enough zeny for boarding";
+			mes "the Airship. Remember, the";
+			mes "boarding fee is 1,200 zeny.";
 			close;
 		}
 	}
@@ -52,30 +53,31 @@ airport,126,43,4	script	Airport Staff#01::AirportE	90,{
 	close;
 }
 
-airport,143,43,4	duplicate(AirportE)	Airport Staff#02	90
-airport,156,43,4	duplicate(AirportE)	Airport Staff#03	90
+airport,158,43,5	duplicate(airport1)	Airport Staff#airport1b	90
+airport,126,43,5	duplicate(airport1)	Airport Staff#airport1c	90
 
-airport,126,51,4	script	Airport Staff#04::AirportE2	90,{
-	mes "[Airport Staff]";
-	mes "Welcome~";
-	mes "Please head this";
-	mes "way to board the Airship.";
+airport,143,49,3	script	Arrival Staff#airport2a::airport2	90,{
+	mes "[Arrival Staff]";
+	mes "Welcome to Einbroch Airport.";
+	mes "If you are arriving from your";
+	mes "flight, let me guide you to the";
+	mes "main terminal. Otherwise, please board the Airship to depart to";
+	mes "Juno, Lighthalzen and Hugel.";
 	next;
-	if (select("Exit to Main Terminal:Cancel") == 1) {
-		mes "[Airport Staff]";
-		mes "If you leave the";
-		mes "main terminal, you'll";
-		mes "have to pay the admission";
-		mes "fee again in order to board";
-		mes "the Airship. Are you sure";
-		mes "that you want to exit?";
+	if (select("Exit to main terminal.:Cancel.") == 1) {
+		mes "[Arrival Staff]";
+		mes "Once you're in the main terminal, you will need to pay the fee again";
+		mes "to board an Airship. You should";
+		mes "only exit if the city of Einbroch";
+		mes "is your intended destination.";
+		mes "Proceed to the main terminal?";
 		next;
 		if (select("Yes:No") == 1) {
 			warp "airport",142,40;
-			close;
+			end;
 		}
 	}
-	mes "[Airport Staff]";
+	mes "[Arrival Staff]";
 	mes "Alright, thank you";
 	mes "for your patronage";
 	mes "and I hope you have";
@@ -83,17 +85,17 @@ airport,126,51,4	script	Airport Staff#04::AirportE2	90,{
 	close;
 }
 
-airport,143,51,4	duplicate(AirportE2)	Airport Staff#05	90
-airport,156,51,4	duplicate(AirportE2)	Airport Staff#06	90
+airport,126,51,3	duplicate(airport2)	Arrival Staff#airport2b	90
+airport,158,50,3	duplicate(airport2)	Arrival Staff#airport2c	90
 
-einbroch,94,267,4	script	Airship Staff#07	91,{
+einbroch,94,267,3	script	Airship Staff#ein01	91,{
 	mes "[Airship Staff]";
 	mes "Welcome to the";
 	mes "Einbroch Airport.";
 	mes "Please use this door to";
-	mes "board the Airship wich stops";
-	mes "over Lighthalzen and Juno in";
-	mes "the Schwarzwald Republic";
+	mes "board the Airship which stops";
+	mes "over Juno, Lighthalzen and";
+	mes "Hugel in the Schwaltzvalt Republic.";
 	next;
 	mes "[Airship Staff]";
 	mes "Otherwise, if Einbroch is";

+ 36 - 0
npc/airports/hugel.txt

@@ -0,0 +1,36 @@
+//===== rAthena Script ======================================= 
+//= Hugel Airport NPCs
+//===== By: ================================================== 
+//= rAthena Dev Team
+//===== Compatible With: ===================================== 
+//= rAthena SVN
+//===== Description: ========================================= 
+//= Hugel Airport NPCs
+//===== Additional Comments: ================================= 
+//= Official NPCs.
+//============================================================ 
+
+hugel,178,142,0	script	toairplane#hugel	45,1,1,{
+	end;
+OnTouch:
+	mes "To use the airship, you are required to pay 1,200 zeny or a Free Airship Ticket.";
+	mes "Would you like to use the service?";
+	next;
+	if (select("Yes:No") == 1) {
+		if (countitem(7311) > 0) {
+			delitem 7311,1; //Free_Flying_Ship_Ticket
+			warp "airplane",244,58;
+			end;
+		}
+		if (Zeny >= 1200) {
+			set Zeny, Zeny - 1200;
+			warp "airplane",244,58;
+			end;
+		}
+		mes "I am sorry, but you do not have enough money.";
+		mes "Please remember, you are required to pay 1,200 zeny to use the service.";
+		close;
+	}
+	mes "Thank you, please come again.";
+	close;
+}

+ 51 - 0
npc/airports/izlude.txt

@@ -0,0 +1,51 @@
+//===== rAthena Script ======================================= 
+//= Izlude Airport NPCs
+//===== By: ================================================== 
+//= rAthena Dev Team
+//===== Compatible With: ===================================== 
+//= rAthena SVN
+//===== Description: ========================================= 
+//= Izlude Airport NPCs
+//===== Additional Comments: ================================= 
+//= Official NPCs.
+//============================================================ 
+
+izlude,206,55,3	script	Airship Staff#izlude	90,{
+	mes "[Airship Staff]";
+	mes "Welcome! Would you like";
+	mes "to board the Airship that";
+	mes "departs on the flight wich stops";
+	mes "in Juno and Rachel?";
+	next;
+	if (select("Board the Airship to Juno/Rachel.:Cancel.") == 1) {
+		mes "[Airship Staff]";
+		mes "The boarding fee is";
+		mes "1,200 zeny. However, this";
+		mes "charged is waived if you use";
+		mes "a Free Ticket for Airship. Now,";
+		mes "would you still like to board?";
+		next;
+		if (select("Yes:No") == 1) {
+			if (countitem(7311) > 0) {
+				delitem 7311,1; //Free_Flying_Ship_Ticket
+				warp "airplane_01",244,58;
+				end;
+			}
+			if (Zeny >= 1200) {
+				set Zeny, Zeny - 1200;
+				warp "airplane_01",244,58;
+				end;
+			}
+			mes "[Airship Staff]";
+			mes "I'm sorry, but you don't";
+			mes "have 1,200 zeny to pay";
+			mes "for the boarding fee.";
+			close;
+		}
+	}
+	mes "[Airship Staff]";
+	mes "Thank you and";
+	mes "please come again.";
+	mes "Have a good day~";
+	close;
+}

+ 43 - 46
npc/airports/lighthalzen.txt

@@ -2,79 +2,76 @@
 //= Lighthalzen Airport Staff
 //===== By: ================================================== 
 //= L0ne_W0lf, Muad_Dib
-//===== Current Version: ===================================== 
-//= 1.3
 //===== Compatible With: ===================================== 
-//= rAthena Revision 3000+
+//= rAthena SVN
 //===== Description: ========================================= 
 //= Lighthalzen Airport Staff
 //===== Additional Comments: ================================= 
-//= 1.0 Cloned from einbroch.txt [Justin84]
-//= 1.1 Removed Duplicates [Silent]
-//= 1.2 Fixed syntax errors for duplicate [KarLaeda]
-//= 1.3 Removed use of goto. [L0ne_W0lf]
-//============================================================
+//= Official NPCs.
+//============================================================ 
 
-
-lhz_airport,126,43,4	script	Airport Staff#1::AirportL	90,{
+lhz_airport,143,43,5	script	Airport Staff#lhz_air1a::lhz_airport1	90,{
 	mes "[Airport Staff]";
-	mes "Welcome to the Airport.";
-	mes "How may I help you?";
+	mes "Welcome to the";
+	mes "Lighthalzen Airport,";
+	mes "where we offer nonstop";
+	mes "flights to Einbroch, Juno and Hugel.";
 	next;
-	if (select("Board the Airship:Cancel") == 1) {
+	if (select("Board the Airship.:Cancel.") == 1) {
 		mes "[Airport Staff]";
-		mes "The Airship boarding fee";
-		mes "is 1,200 zeny, but if you've";
-		mes "got a Free Ticket for Airship,"; 
-		mes "the fee will be waived. Will";
-		mes "you board the Airship?";
+		mes "The boarding fee is";
+		mes "1,200 zeny, but you can";
+		mes "waive the fee if you redeem";
+		mes "a Free Ticket for Airship.";
 		next;
 		if (select("Yes:No") == 1) {
-			if(countitem(7311) > 0) {
-				delitem 7311,1;
+			if (countitem(7311) > 0) {
+				delitem 7311,1; //Free_Flying_Ship_Ticket
 				warp "lhz_airport",148,51;
-				close;
+				end;
 			}
-			if(zeny >= 1200) {
-				set Zeny,zeny-1200;
+			if (Zeny >= 1200) {
+				set Zeny, Zeny - 1200;
 				warp "lhz_airport",148,51;
-				close;
+				end;
 			}
-			mes "[Airport Staff]";
-			mes "You don't have enough zeny.";
+			mes "[Airship Staff]";
+			mes "I'm sorry, but you don't";
+			mes "have 1,200 zeny to pay";
+			mes "for the boarding fee.";
 			close;
 		}
 	}
 	mes "[Airport Staff]";
 	mes "Thank you and";
-	mes "have a nice day.";
+	mes "please come again.";
+	mes "Have a good day~";
 	close;
 }
 
-lhz_airport,143,43,4	duplicate(AirportL)	Airport Staff#2	90
-lhz_airport,156,43,4	duplicate(AirportL)	Airport Staff#3	90
+lhz_airport,158,43,5	duplicate(lhz_airport1)	Airship Staff#lhz_air1b	90
+lhz_airport,126,43,5	duplicate(lhz_airport1)	Airship Staff#lhz_air1c	90
 
-lhz_airport,126,51,4	script	Airport Staff#4::AirportL2	90,{
-	mes "[Airport Staff]";
-	mes "Welcome~";
-	mes "Please head this";
-	mes "way to board the Airship.";
+lhz_airport,143,49,3	script	Arrival Staff#lhz_air2a::lhz_airport2	90,{
+	mes "[Arrival Staff]";
+	mes "Welcome to Lighthalzen Airport.";
+	mes "Please let me guide you to the";
+	mes "main terminal if you are arriving from your flight. Otherwise, please";
+	mes "board the departing Airship to reach your intended destination.";
 	next;
-	if (select("Exit to Main Terminal:Cancel") == 1) {
-		mes "[Airport Staff]";
-		mes "If you leave the";
-		mes "main terminal, you'll";
-		mes "have to pay the admission";
-		mes "fee again in order to board";
-		mes "the Airship. Are you sure";
-		mes "that you want to exit?";
+	if (select("Exit to main terminal.:Cancel.") == 1) {
+		mes "[Arrival Staff]";
+		mes "Once you're in the main terminal, you will need to pay the fee again";
+		mes "to board an Airship. You should";
+		mes "only exit if Lighthalzen is your intended destination. Shall we";
+		mes "proceed to the main terminal?";
 		next;
 		if (select("Yes:No") == 1) {
 			warp "lhz_airport",142,40;
-			close;
+			end;
 		}
 	}
-	mes "[Airport Staff]";
+	mes "[Arrival Staff]";
 	mes "Alright, thank you";
 	mes "for your patronage";
 	mes "and I hope you have";
@@ -82,5 +79,5 @@ lhz_airport,126,51,4	script	Airport Staff#4::AirportL2	90,{
 	close;
 }
 
-lhz_airport,143,51,4	duplicate(AirportL2)	Airport Staff#5	90
-lhz_airport,156,51,4	duplicate(AirportL2)	Airport Staff#6	90
+lhz_airport,126,51,3	duplicate(lhz_airport2)	Arrival Staff#lhz_air2b	90
+lhz_airport,158,50,3	duplicate(lhz_airport2)	Arrival Staff#lhz_air2c	90

+ 36 - 0
npc/airports/rachel.txt

@@ -0,0 +1,36 @@
+//===== rAthena Script ======================================= 
+//= Rachel Airport NPCs
+//===== By: ================================================== 
+//= rAthena Dev Team
+//===== Compatible With: ===================================== 
+//= rAthena SVN
+//===== Description: ========================================= 
+//= Rachel Airport NPCs
+//===== Additional Comments: ================================= 
+//= Official NPCs.
+//============================================================ 
+
+ra_fild12,295,208,0	script	toairplane#rachel	45,1,1,{
+	end;
+OnTouch:
+	mes "To use the airship, you are required to pay 1,200 zeny or a Free Airship Ticket.";
+	mes "Would you like to use the service?";
+	next;
+	if (select("Yes:No") == 1) {
+		if (countitem(7311) > 0) {
+			delitem 7311,1; //Free_Flying_Ship_Ticket
+			warp "airplane_01",245,60;
+			end;
+		}
+		if (Zeny >= 1200) {
+			set Zeny, Zeny - 1200;
+			warp "airplane_01",245,60;
+			end;
+		}
+		mes "I am sorry, but you do not have enough money.";
+		mes "Please remember, you are required to pay 1,200 zeny to use the service.";
+		close;
+	}
+	mes "Thank you, please come again.";
+	close;
+}

+ 114 - 41
npc/airports/yuno.txt

@@ -2,46 +2,42 @@
 //= Yuno Airport Staff
 //===== By: ================================================== 
 //= L0ne_W0lf, Muad_Dib
-//===== Current Version: ===================================== 
-//= 1.3
 //===== Compatible With: ===================================== 
-//= rAthena Revision 3000+
+//= rAthena SVN
 //===== Description: ========================================= 
 //= Yuno Airport Staff
 //===== Additional Comments: ================================= 
-//= 1.0 Cloned from Einbroch [Justin84]
-//= 1.1 Removed Duplicates [Silent]
-//= 1.2 Fixed syntax errors for duplicate [KarLaeda]
-//= 1.3 Removed use of goto. [L0ne_W0lf]
-//============================================================
+//= Official NPCs.
+//============================================================ 
 
-
-y_airport,126,43,4	script	Airport Staff#001::AirportY	90,{
+y_airport,143,43,5	script	Airport Staff#y_air1a::y_airport1	90,{
 	mes "[Airport Staff]";
-	mes "Welcome to the Airport.";
-	mes "How may I help you?";
+	mes "Welcome to Juno Airport where we offer domestic flights to Einbroch, Lighthalzen and Hugel,";
+	mes "and international flights to Izlude and Rachel.";
+	mes "How may I be of service?";
 	next;
-	if (select("Board the Airship:Cancel") == 1) {
+	if (select("Board the Airship.:Cancel.") == 1) {
 		mes "[Airport Staff]";
-		mes "The Airship boarding fee";
-		mes "is 1,200 zeny, but if you've";
-		mes "got a Free Ticket for Airship,"; 
-		mes "the fee will be waived. Will";
-		mes "you board the Airship?";
+		mes "The boarding fee for all";
+		mes "flights is 1,200 zeny. If you";
+		mes "use a Free Ticket for Airship,";
+		mes "the boarding fee will be waived.So would you like to depart?";
 		next;
 		if (select("Yes:No") == 1) {
-			if(countitem(7311) > 0) {
-				delitem 7311,1;
+			if (countitem(7311) > 0) {
+				delitem 7311,1; //Free_Flying_Ship_Ticket
 				warp "y_airport",148,51;
-				close;
+				end;
 			}
-			if(zeny >= 1200) {
-				set Zeny,zeny-1200;
+			if (Zeny >= 1200) {
+				set Zeny, Zeny - 1200;
 				warp "y_airport",148,51;
-				close;
+				end;
 			}
 			mes "[Airport Staff]";
-			mes "You don't have enough zeny.";
+			mes "I'm sorry, but you don't";
+			mes "have 1,200 zeny to pay";
+			mes "for the boarding fee.";
 			close;
 		}
 	}
@@ -51,27 +47,25 @@ y_airport,126,43,4	script	Airport Staff#001::AirportY	90,{
 	close;
 }
 
-y_airport,143,43,4	duplicate(AirportY)	Airport Staff#002	90
-y_airport,156,43,4	duplicate(AirportY)	Airport Staff#003	90
+y_airport,158,43,5	duplicate(y_airport1)	Airport Staff#y_air1b	90
+y_airport,126,43,5	duplicate(y_airport1)	Airport Staff#y_air1c	90
 
-y_airport,126,51,4	script	Airport Staff#004::AirportY2	90,{
+y_airport,143,49,3	script	Arrival Staff#y_air2a::y_airport2	90,{
 	mes "[Airport Staff]";
-	mes "Welcome~";
-	mes "Please head this";
-	mes "way to board the Airship.";
+	mes "Welcome to Juno Airport. If you've just arrived from your";
+	mes "flight, let me guide you to the main terminal. Otherwise, please";
+	mes "board the departing Airship to reach your intended destination.";
 	next;
-	if (select("Exit to Main Terminal:Cancel") == 1) {
+	if (select("Exit to main terminal:Cancel") == 1) {
 		mes "[Airport Staff]";
-		mes "If you leave the";
-		mes "main terminal, you'll";
-		mes "have to pay the admission";
-		mes "fee again in order to board";
-		mes "the Airship. Are you sure";
-		mes "that you want to exit?";
+		mes "Once you're in the main terminal, you must pay the fee once again";
+		mes "to board a departing Airship. You should only exit if your intended";
+		mes "destination is Juno. Proceed to";
+		mes "exit to the main terminal?";
 		next;
 		if (select("Yes:No") == 1) {
 			warp "y_airport",142,40;
-			close;
+			end;
 		}
 	}
 	mes "[Airport Staff]";
@@ -82,5 +76,84 @@ y_airport,126,51,4	script	Airport Staff#004::AirportY2	90,{
 	close;
 }
 
-y_airport,143,51,4	duplicate(AirportY2)	Airport Staff#005	90
-y_airport,156,51,4	duplicate(AirportY2)	Airport Staff#006	90
+y_airport,126,51,3	duplicate(y_airport2)	Arrival Staff#y_air2b	90
+y_airport,158,50,3	duplicate(y_airport2)	Arrival Staff#y_air2c	90
+
+y_airport,145,63,5	script	Domestic Boarding	91,{
+	mes "[Boarding Staff]";
+	mes "Would you like to board the";
+	mes "Airship that flies to Einbroch,";
+	mes "Lighthalzen and Hugel? If so,";
+	mes "please let me guide you to that";
+	mes "Airship's boarding area.";
+	next;
+	if (select("Yes:No") == 1) {
+		warp "yuno",59,244;
+		end;
+	}
+	mes "[Boarding Staff]";
+	mes "Very well, then.";
+	mes "Thank you for your";
+	mes "patronage, and I hope";
+	mes "you enjoy your travels~";
+	close;
+}
+
+y_airport,140,63,5	script	International Boarding	91,{
+	mes "[Boarding Staff]";
+	mes "Would you like to board";
+	mes "the Airship which flies to";
+	mes "Juno, Izlude and Rachel?";
+	mes "If so, let me guide";
+	mes "you to the boarding area.";
+	next;
+	if (select("Yes:No") == 1) {
+		warp "yuno",47,244;
+		end;
+	}
+	mes "[Boarding Staff]";
+	mes "Alright, then.";
+	mes "Thank you for flying";
+	mes "with us, and I hope you";
+	mes "enjoy your travels on our";
+	mes "state of the art Airships.";
+	close;
+}
+
+yuno,14,262,5	script	Airship Staff#yuno01	91,{
+	mes "[Airship Staff]";
+	mes "Welcome to Juno Airport.";
+	mes "Please use this door to";
+	mes "board the Airship that will";
+	mes "be flying all the way to Izlude";
+	mes "in the Rune-Midgarts Kingdom,";
+	mes "and to Rachel in the Arunafeltz";
+	mes "Republic.";
+	next;
+	mes "[Airship Staff]";
+	mes "Otherwise, if Juno is";
+	mes "your intended destination,";
+	mes "please head down the stairs";
+	mes "and ask the Arrival Staff to lead";
+	mes "you to the main terminal. Thank";
+	mes "you, and enjoy your travels.";
+	close;
+}
+
+yuno,88,263,3	script	Airship Staff#yuno02	91,{
+	mes "[Airship Staff]";
+	mes "Welcome to Juno Airport.";
+	mes "Please use this door to";
+	mes "board the Airship which stops";
+	mes "over Einbroch, Lighthalzen and";
+	mes "Hugel in the Schwaltzvalt Republic.";
+	next;
+	mes "[Airship Staff]";
+	mes "Otherwise, if Juno is";
+	mes "your intended destination,";
+	mes "please head down the stairs";
+	mes "and ask the Arrival Staff to lead";
+	mes "you to the main terminal. Thank";
+	mes "you, and enjoy your travels.";
+	close;
+}

+ 342 - 273
npc/quests/quests_airship.txt

@@ -775,8 +775,8 @@ function	script	cherno	{
 	misceffect 20;
 	mes "^33355F*Crash!*^000000";
 	mes "....."; 
-	emotion 4, "Theo Cherno";
-	Emotion 4, "Tarsha Cherno";
+	emotion 4,0,"Theo Cherno";
+	Emotion 4,0,"Tarsha Cherno";
 	next;
 	mes "[Theo Cherno]";
 	mes "Honey...";
@@ -1080,312 +1080,381 @@ einbech,53,94,5	duplicate(Tree)	Tree#t1-4	111
 
 //=============Monsters Attack======================
 airplane_01,1,1,0	script	Airship#airplane02	-1,{
-OnInit:
-	disablenpc "Airship Captain#02";
-OnInvasion:
-while($@mobinv >= 9 && $@mobrand == 3)
-{
-	Initnpctimer;
 	end;
-OnTimer6000:
+OnEnable:
+	initnpctimer;
+	end;
+OnTimer25000:
+	mapannounce "airplane_01","We are heading to Izlude.",bc_map,0x00FF00;
+	end;
+OnTimer30000:
 	mapannounce "airplane_01","Captain: Attention, all passengers.",bc_map,0x00FF00;
 	end;
-OnTimer10000:
+OnTimer34000:
 	mapannounce "airplane_01","Captain: We are being approached by a group of unidentified creatures.",bc_map,0x00ff00;
 	end;
-OnTimer12000:
+OnTimer38000:
 	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;
-	monster "airplane_01",247,59,"Gremlin",1632,1;
-	monster "airplane_01",249,52,"Gremlin",1632,1;
-	monster "airplane_01",243,62,"Gremlin",1632,1;
-	monster "airplane_01",239,52,"Beholder",1633,1;
-	monster "airplane_01",234,56,"Beholder",1633,1;
-	monster "airplane_01",227,49,"Beholder",1633,1;
-	monster "airplane_01",233,41,"Beholder",1633,1;
+	hideonnpc "Airship Staff#airplane01";
+	end;
+OnTimer48000:
+	monster "airplane_01",245,57,"Gremlin",1632,1,"Airship#airplane02::OnMyMobDead";
+	monster "airplane_01",247,59,"Gremlin",1632,1,"Airship#airplane02::OnMyMobDead";
+	monster "airplane_01",249,52,"Gremlin",1632,1,"Airship#airplane02::OnMyMobDead";
+	monster "airplane_01",243,62,"Gremlin",1632,1,"Airship#airplane02::OnMyMobDead";
+	monster "airplane_01",239,52,"Beholder",1633,1,"Airship#airplane02::OnMyMobDead";
+	monster "airplane_01",234,56,"Beholder",1633,1,"Airship#airplane02::OnMyMobDead";
+	monster "airplane_01",227,49,"Beholder",1633,1,"Airship#airplane02::OnMyMobDead";
+	monster "airplane_01",233,41,"Beholder",1633,1,"Airship#airplane02::OnMyMobDead";
 	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;
+	case 1: monster "airplane_01",251,47,"Drainliar",1111,1,"Airship#airplane02::OnMyMobDead"; break;
+	case 2: monster "airplane_01",251,47,"Rotar Zairo",1392,1,"Airship#airplane02::OnMyMobDead"; break;
+	case 3: monster "airplane_01",251,47,"Farmiliar",1005,1,"Airship#airplane02::OnMyMobDead"; break;
+	case 4: monster "airplane_01",251,47,"Picky",1049,1,"Airship#airplane02::OnMyMobDead"; break;
+	case 5: monster "airplane_01",251,47,"Steel Chonchon",1042,1,"Airship#airplane02::OnMyMobDead"; 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;
+	case 1: monster "airplane_01",245,53,"Drainliar",1111,1,"Airship#airplane02::OnMyMobDead"; break;
+	case 2: monster "airplane_01",245,53,"Rotar Zairo",1392,1,"Airship#airplane02::OnMyMobDead"; break;
+	case 3: monster "airplane_01",245,53,"Farmiliar",1005,1,"Airship#airplane02::OnMyMobDead"; break;
+	case 4: monster "airplane_01",245,53,"Picky",1049,1,"Airship#airplane02::OnMyMobDead"; break;
+	case 5: monster "airplane_01",245,53,"Steel Chonchon",1042,1,"Airship#airplane02::OnMyMobDead"; 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;
+	case 1: monster "airplane_01",234,46,"Drainliar",1111,1,"Airship#airplane02::OnMyMobDead"; break;
+	case 2: monster "airplane_01",234,46,"Rotar Zairo",1392,1,"Airship#airplane02::OnMyMobDead"; break;
+	case 3: monster "airplane_01",234,46,"Farmiliar",1005,1,"Airship#airplane02::OnMyMobDead"; break;
+	case 4: monster "airplane_01",234,46,"Picky",1049,1,"Airship#airplane02::OnMyMobDead"; break;
+	case 5: monster "airplane_01",234,46,"Steel Chonchon",1042,1,"Airship#airplane02::OnMyMobDead"; 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;
+	case 1: monster "airplane_01",233,58,"Drainliar",1111,1,"Airship#airplane02::OnMyMobDead"; break;
+	case 2: monster "airplane_01",233,58,"Rotar Zairo",1392,1,"Airship#airplane02::OnMyMobDead"; break;
+	case 3: monster "airplane_01",233,58,"Farmiliar",1005,1,"Airship#airplane02::OnMyMobDead"; break;
+	case 4: monster "airplane_01",233,58,"Picky",1049,1,"Airship#airplane02::OnMyMobDead"; break;
+	case 5: monster "airplane_01",233,58,"Steel Chonchon",1042,1,"Airship#airplane02::OnMyMobDead"; 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;
+		monster "airplane_01",243,60,"Drainliar",1111,1,"Airship#airplane02::OnMyMobDead";
+		monster "airplane_01",228,54,"Drainliar",1111,1,"Airship#airplane02::OnMyMobDead";
+		monster "airplane_01",232,41,"Drainliar",1111,1,"Airship#airplane02::OnMyMobDead";
 		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;
+		monster "airplane_01",243,60,"Rotar Zairo",1392,1,"Airship#airplane02::OnMyMobDead";
+		monster "airplane_01",228,54,"Rotar Zairo",1392,1,"Airship#airplane02::OnMyMobDead";
+		monster "airplane_01",232,41,"Rotar Zairo",1392,1,"Airship#airplane02::OnMyMobDead";
 		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;
+		monster "airplane_01",243,60,"Farmiliar",1005,1,"Airship#airplane02::OnMyMobDead";
+		monster "airplane_01",228,54,"Farmiliar",1005,1,"Airship#airplane02::OnMyMobDead";
+		monster "airplane_01",232,41,"Farmiliar",1005,1,"Airship#airplane02::OnMyMobDead";
 		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;
+		monster "airplane_01",243,60,"Picky",1049,1,"Airship#airplane02::OnMyMobDead";
+		monster "airplane_01",228,54,"Picky",1049,1,"Airship#airplane02::OnMyMobDead";
+		monster "airplane_01",232,41,"Picky",1049,1,"Airship#airplane02::OnMyMobDead";
 		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",243,60,"Steel Chonchon",1042,1,"Airship#airplane02::OnMyMobDead";
+		monster "airplane_01",228,54,"Steel Chonchon",1042,1,"Airship#airplane02::OnMyMobDead";
+		monster "airplane_01",232,41,"Steel Chonchon",1042,1,"Airship#airplane02::OnMyMobDead";
 		break;
 	}
 	end;
-OnTimer16010:
-	monster "airplane_01",238,56,"Gremlin",1632,1;
-	monster "airplane_01",239,56,"Gremlin",1632,1;
-	monster "airplane_01",240,50,"Gremlin",1632,1;
-	monster "airplane_01",241,56,"Gremlin",1632,1;
-	monster "airplane_01",247,51,"Gremlin",1632,1;
-	monster "airplane_01",237,44,"Beholder",1633,1;
-	monster "airplane_01",233,54,"Beholder",1633,1;
-	monster "airplane_01",237,62,"Beholder",1633,1;
-	end;
-OnTimer21000:
+OnTimer48010:
+	monster "airplane_01",238,56,"Gremlin",1632,1,"Airship#airplane02::OnCaptainMobDead";
+	monster "airplane_01",239,56,"Gremlin",1632,1,"Airship#airplane02::OnCaptainMobDead";
+	monster "airplane_01",240,50,"Gremlin",1632,1,"Airship#airplane02::OnCaptainMobDead";
+	monster "airplane_01",241,56,"Gremlin",1632,1,"Airship#airplane02::OnCaptainMobDead";
+	monster "airplane_01",247,51,"Gremlin",1632,1,"Airship#airplane02::OnCaptainMobDead";
+	monster "airplane_01",237,44,"Beholder",1633,1,"Airship#airplane02::OnCaptainMobDead";
+	monster "airplane_01",233,54,"Beholder",1633,1,"Airship#airplane02::OnCaptainMobDead";
+	monster "airplane_01",237,62,"Beholder",1633,1,"Airship#airplane02::OnCaptainMobDead";
+	end;
+OnTimer53000:
 	mapannounce "airplane_01", "Attendant: Captain Tarlock, we're in trouble! The monsters are heading to the propellers!",bc_map,0x00FF00;
 	end;
-OnTimer26000:
+OnTimer58000:
 	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";
+OnTimer63000:
+	hideonnpc "Airship Captain#01";
+	hideoffnpc "Airship Captain#02";
 	end;
-OnTimer36000:
-	emotion e_ag,"Airship Captain#02";
+OnTimer68000:
+	emotion e_ag,0,"Airship Captain#02";
 	mapannounce "airplane_01", "Captain Tarlock: You ugly, godforsaken creatures... Get off my ship!",bc_map,0x70DBDB;
 	end;
-OnTimer36500:
+OnTimer73000:
 	mapannounce "airplane_01", "*Kzzz...Drrrr...Boom! CRASH!*",bc_map,0x00FF00;
-	specialeffect EF_SUI_EXPLOSION,"boom6#airplane";
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom6#airplane";
 	end;
-OnTimer37000:
-	specialeffect EF_SUI_EXPLOSION,"boom7#airplane";
+OnTimer73500:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom7#airplane";
 	end;
-OnTimer37500:
-	specialeffect EF_SUI_EXPLOSION,"boom8#airplane";
+OnTimer74000:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom8#airplane";
 	end;
-OnTimer38000:
-	specialeffect EF_SUI_EXPLOSION,"boom9#airplane";
+OnTimer74500:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom9#airplane";
 	end;
-OnTimer38500:
-	specialeffect EF_SUI_EXPLOSION,"boom10#airplane";
+OnTimer75000:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom10#airplane";
 	end;
-OnTimer39000:
-	specialeffect EF_SUI_EXPLOSION,"boom6#airplane";
+OnTimer75500:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom6#airplane";
 	end;
-OnTimer39500:
-	specialeffect EF_SUI_EXPLOSION,"boom7#airplane";
+OnTimer76000:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom7#airplane";
 	end;
-OnTimer40000:
-	specialeffect EF_SUI_EXPLOSION,"boom8#airplane";
+OnTimer76500:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom8#airplane";
 	end;
-OnTimer40500:
-	specialeffect EF_SUI_EXPLOSION,"boom9#airplane";
+OnTimer77000:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom9#airplane";
 	end;
-OnTimer41000:
-	specialeffect EF_SUI_EXPLOSION,"boom10#airplane";
+OnTimer77500:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom10#airplane";
 	end;
-OnTimer41500:
-	specialeffect EF_SUI_EXPLOSION,"boom6#airplane";
+OnTimer78000:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom6#airplane";
 	mapannounce "airplane_01", "Engineer: Oh no! We've got a problem with the Number One Rear Engine!",bc_map,0x00FF00;
 	end;
-OnTimer42500:
-	specialeffect EF_SUI_EXPLOSION,"boom7#airplane";
+OnTimer79000:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom7#airplane";
 	end;
-OnTimer43500:
-	specialeffect EF_SUI_EXPLOSION,"boom8#airplane";
+OnTimer80000:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom8#airplane";
 	end;
-OnTimer44500:
-	specialeffect EF_SUI_EXPLOSION,"boom9#airplane";
+OnTimer81000:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom9#airplane";
 	end;
-OnTimer45500:
-	specialeffect EF_SUI_EXPLOSION,"boom10#airplane";
+OnTimer82000:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom10#airplane";
 	end;
-OnTimer46500:
+OnTimer83000:
 	mapannounce "airplane_01", "Pilot: Hurry! Get the women, old people and children somewhere safe first! Hurry!",bc_map,0x00FF00;
 	end;
-OnTimer47500:
-	specialeffect EF_SUI_EXPLOSION,"boom6#airplane";
+OnTimer84000:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom6#airplane";
 	end;
-OnTimer48500:
-	specialeffect EF_SUI_EXPLOSION,"boom7#airplane";
+OnTimer85000:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom7#airplane";
 	end;
-OnTimer49500:
-	specialeffect EF_SUI_EXPLOSION,"boom8#airplane";
+OnTimer86000:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom8#airplane";
 	end;
-OnTimer50500:
-	specialeffect EF_SUI_EXPLOSION,"boom7#airplane";
+OnTimer87000:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom7#airplane";
 	end;
-OnTimer51500:
-	emotion e_ag,"Airship Captain#02";
+OnTimer88000:
+	emotion e_ag,0,"Airship Captain#02";
 	mapannounce "airplane_01", "Captain Tarlock: You dirty monsters are dealing with this ship's captain...",bc_map,0x70DBDB;
 	end;
-OnTimer56500:
-	emotion e_ag,"Airship Captain#02";
+OnTimer93000:
+	emotion e_ag,0,"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 e_pif,"Airship Captain#02";
+OnTimer98000:
+	emotion e_pif,0,"Airship Captain#02";
 	mapannounce "airplane_01", "Captain Tarlock: Here goes! Special Exodus Joker XIII Doom Rifle!",bc_map,0x70DBDB;
 	end;
-OnTimer66500:
+OnTimer103000:
 	mapannounce "airplane_01", "*Bang! Bang Bang! Bang Bang! Bang Bang Bang!*",bc_map,0x00FF00;
-	specialeffect EF_HIT5,"Airship Captain#02";
+	specialeffect EF_HIT5,AREA,"Airship Captain#02";
 	end;
-OnTimer67000:
-	specialeffect EF_SUI_EXPLOSION,"boom1#airplane";
-	specialeffect EF_HIT5,"Airship Captain#02";
+OnTimer103500:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom1#airplane";
+	specialeffect EF_HIT5,AREA,"Airship Captain#02";
 	end;
-OnTimer67500:
-	specialeffect EF_SUI_EXPLOSION,"boom2#airplane";
-	specialeffect EF_HIT5,"Airship Captain#02";
+OnTimer104000:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom2#airplane";
+	specialeffect EF_HIT5,AREA,"Airship Captain#02";
 	end;
-OnTimer68000:
-	specialeffect EF_SUI_EXPLOSION,"boom3#airplane";
-	specialeffect EF_HIT5,"Airship Captain#02";
+OnTimer104500:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom3#airplane";
+	specialeffect EF_HIT5,AREA,"Airship Captain#02";
 	end;
-OnTimer68500:
-	specialeffect EF_SUI_EXPLOSION,"boom4#airplane";
-	specialeffect EF_HIT5,"Airship Captain#02";
+OnTimer105000:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom4#airplane";
+	specialeffect EF_HIT5,AREA,"Airship Captain#02";
 	end;
-OnTimer69000:
-	specialeffect EF_SUI_EXPLOSION,"boom5#airplane";
-	specialeffect EF_HIT5,"Airship Captain#02";
+OnTimer105500:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom5#airplane";
+	specialeffect EF_HIT5,AREA,"Airship Captain#02";
 	end;
-OnTimer69500:
-	specialeffect EF_SUI_EXPLOSION,"boom0#airplane";
-	specialeffect EF_HIT5,"Airship Captain#02";
+OnTimer106000:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom0#airplane";
+	specialeffect EF_HIT5,AREA,"Airship Captain#02";
 	end;
-OnTimer70000:
-	specialeffect EF_SUI_EXPLOSION,"boom1#airplane";
-	specialeffect EF_HIT5,"Airship Captain#02";
+OnTimer106500:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom1#airplane";
+	specialeffect EF_HIT5,AREA,"Airship Captain#02";
 	end;
-OnTimer70500:
-	specialeffect EF_SUI_EXPLOSION,"boom2#airplane";
-	specialeffect EF_HIT5,"Airship Captain#02";
+OnTimer107000:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom2#airplane";
+	specialeffect EF_HIT5,AREA,"Airship Captain#02";
 	end;
-OnTimer71000:
-	specialeffect EF_SUI_EXPLOSION,"boom4#airplane";
-	specialeffect EF_HIT5,"Airship Captain#02";
+OnTimer107500:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom4#airplane";
+	specialeffect EF_HIT5,AREA,"Airship Captain#02";
 	end;
-OnTimer71500:
-	specialeffect EF_SUI_EXPLOSION,"boom5#airplane";
+OnTimer108000:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom5#airplane";
+	killmonster "airplane_01","Airship#airplane02::OnCaptainMobDead";
 	end;
-OnTimer72000:
-	emotion e_ag,"Airship Captain#02";
+OnTimer113000:
+	emotion e_pif,0,"Airship Captain#02";
 	mapannounce "airplane_01","Captain Tarlock: Filthy animals! Stop ruining my ship!",bc_map,0x70DBDB;
 	end;
-OnTimer72500:
+OnTimer118000:
 	mapannounce "airplane_01", "*Bang! Bang Bang! Bang Bang! Bang Bang Bang!*",bc_map,0x00FF00;
-	specialeffect EF_HIT5,"Airship Captain#02";
+	specialeffect EF_HIT5,AREA,"Airship Captain#02";
 	end;
-OnTimer73000:
-	specialeffect EF_SUI_EXPLOSION,"boom6#airplane";
-	specialeffect EF_HIT5,"Airship Captain#02";
+OnTimer118500:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom6#airplane";
+	specialeffect EF_HIT5,AREA,"Airship Captain#02";
 	end;
-OnTimer73500:
-	specialeffect EF_SUI_EXPLOSION,"boom7#airplane";
-	specialeffect EF_HIT5,"Airship Captain#02";
+OnTimer119000:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom7#airplane";
+	specialeffect EF_HIT5,AREA,"Airship Captain#02";
 	end;
-OnTimer74000:
-	specialeffect EF_SUI_EXPLOSION,"boom8#airplane";
-	specialeffect EF_HIT5,"Airship Captain#02";
+OnTimer119500:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom8#airplane";
+	specialeffect EF_HIT5,AREA,"Airship Captain#02";
 	end;
-OnTimer74500:
-	specialeffect EF_SUI_EXPLOSION,"boom9#airplane";
-	specialeffect EF_HIT5,"Airship Captain#02";
+OnTimer120000:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom9#airplane";
+	specialeffect EF_HIT5,AREA,"Airship Captain#02";
 	end;
-OnTimer75000:
-	specialeffect EF_SUI_EXPLOSION,"boom10#airplane";
-	specialeffect EF_HIT5,"Airship Captain#02";
+OnTimer120500:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom10#airplane";
+	specialeffect EF_HIT5,AREA,"Airship Captain#02";
 	end;
-OnTimer75500:
-	specialeffect EF_SUI_EXPLOSION,"boom6#airplane";
-	specialeffect EF_HIT5,"Airship Captain#02";
+OnTimer121000:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom6#airplane";
+	specialeffect EF_HIT5,AREA,"Airship Captain#02";
 	end;
-OnTimer76000:
-	specialeffect EF_SUI_EXPLOSION,"boom7#airplane";
-	specialeffect EF_HIT5,"Airship Captain#02";
+OnTimer121500:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom7#airplane";
+	specialeffect EF_HIT5,AREA,"Airship Captain#02";
 	end;
-OnTimer76500:
-	specialeffect EF_SUI_EXPLOSION,"boom8#airplane";
-	specialeffect EF_HIT5,"Airship Captain#02";
+OnTimer122000:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom8#airplane";
+	specialeffect EF_HIT5,AREA,"Airship Captain#02";
 	end;
-OnTimer77000:
-	specialeffect EF_SUI_EXPLOSION,"boom9#airplane";
-	specialeffect EF_HIT5,"Airship Captain#02";
+OnTimer122500:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom9#airplane";
+	specialeffect EF_HIT5,AREA,"Airship Captain#02";
 	end;
-OnTimer77500:
-	specialeffect EF_SUI_EXPLOSION,"boom8#airplane";
+OnTimer123000:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom8#airplane";
 	mapannounce "airplane_01", "*Boom! Boom Boom! Boom Boom! Boom!*",bc_map,0x00FF00;
 	end;
-OnTimer78000:
-	specialeffect EF_SUI_EXPLOSION,"boom9#airplane";
+OnTimer124000:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom9#airplane";
 	end;
-OnTimer78500:
-	specialeffect EF_SUI_EXPLOSION,"boom10#airplane";
+OnTimer125000:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom10#airplane";
 	end;
-OnTimer79000:
-	specialeffect EF_SUI_EXPLOSION,"boom6#airplane";
+OnTimer126000:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom6#airplane";
 	end;
-OnTimer79500:
-	specialeffect EF_SUI_EXPLOSION,"boom7#airplane";
+OnTimer127000:
+	specialeffect EF_SUI_EXPLOSION,AREA,"boom7#airplane";
 	end;
-OnTimer80000:
-	emotion e_an,"Airship Captain#02";
-	mapannounce "airplane_01", "Captain Tarlock: There's... To many to handle!",bc_map,0x70DBDB;
+OnTimer128000:
+	emotion e_an,0,"Airship Captain#02";
+	mapannounce "airplane_01", "Captain Tarlock: There's... Too many to handle!",bc_map,0x70DBDB;
 	end;
-OnTimer85000:
+OnTimer133000:
 	mapannounce "airplane_01", "Pilot: Captain, sir, the situation is getting critical!",bc_map,0x00FF00;
 	end;
-OnTimer100000:
-	emotion e_swt,"Airship Captain#02";
+OnTimer138000:
+	emotion e_swt,0,"Airship Captain#02";
 	mapannounce "airplane_01", "Captain Tarlock: We'll need all the help we can get!",bc_map,0x70DBDB;
 	end;
-OnTimer125000:
-	emotion e_sry,"Airship Captain#02";
+OnTimer143000:
+	emotion e_sry,0,"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#airplane01";
-	donpcevent "YunoIzl_Airship::OnReturn";
+OnTimer148000:
+	hideonnpc "Airship Captain#02";
+	hideoffnpc "Airship Captain#01";
+	end;
+OnTimer400000:
+	killmonster "airplane_01","Airship#airplane02::OnMyMobDead";
+	end;
+OnTimer405000:
+	mapannounce "airplane_01","Monster threat eliminated. The Airship is now returning to normal operation.",bc_map,0x00FF00;
+	hideoffnpc "Airship Staff#airplane_01";
+	end;
+OnTimer410000:
+	mapannounce "airplane_01","We will arrive in Izlude shortly.",bc_map,"0x00ff00";
+	end;
+OnTimer420000:
+	set $@airplanelocation2,1;
+	donpcevent "#AirshipWarp-3::OnUnhide";
+	donpcevent "#AirshipWarp-4::OnUnhide";
+	mapannounce "airplane_01","Welcome to Izlude. Have a safe trip.",bc_map,"0x00ff00";
+	end;
+OnTimer430000:
+	mapannounce "airplane_01","We are currently in Izlude. The Airship will take off shortly.",bc_map,"0x00ff00";
+	end;
+OnTimer440000:
+	donpcevent "#AirshipWarp-3::OnHide";
+	donpcevent "#AirshipWarp-4::OnHide";
+	mapannounce "airplane_01","The Airship is now taking off. Our next destination is Juno.",bc_map,"0x70dbdb";
+	end;
+OnTimer465000:
+	mapannounce "airplane_01","We are heading to Juno.",bc_map,"0x70dbdb";
+	end;
+OnTimer490000:
+	mapannounce "airplane_01","We will arrive in Juno shortly.",bc_map,"0x70dbdb";
+	end;
+OnTimer500000:
+	set $@airplanelocation2,2;
+	donpcevent "#AirshipWarp-3::OnUnhide";
+	donpcevent "#AirshipWarp-4::OnUnhide";
+	mapannounce "airplane_01","Welcome to Juno. Have a safe trip.",bc_map,"0x70dbdb";
+	end;
+OnTimer510000:
+	mapannounce "airplane_01","We are currently in Juno. The Airship will leave shorty.",bc_map,"0x70dbdb";
+	end;
+OnTimer520000:
+	donpcevent "#AirshipWarp-3::OnHide";
+	donpcevent "#AirshipWarp-4::OnHide";
+	mapannounce "airplane_01","The Airship is leaving the ground. Our next destination is Rachel.",bc_map,"0xFF8200";
+	end;
+OnTimer545000:
+	mapannounce "airplane_01","We are heading to Rachel.",bc_map,"0xFF8200";
+	end;
+OnTimer570000:
+	mapannounce "airplane_01","We will arrive in Rachel shortly.",bc_map,"0xFF8200";
+	end;
+OnTimer580000:
+	set $@airplanelocation2,0;
+	donpcevent "#AirshipWarp-3::OnUnhide";
+	donpcevent "#AirshipWarp-4::OnUnhide";
+	mapannounce "airplane_01","Welcome to Rachel. Have a safe trip.",bc_map,"0xFF8200";
+	end;
+OnTimer590000:
+	mapannounce "airplane_01","We are currently in Rachel. The Airship will take off shortly.",bc_map,"0xFF8200";
+	end;
+OnTimer600000:
+	donpcevent "#AirshipWarp-3::OnHide";
+	donpcevent "#AirshipWarp-4::OnHide";
+	mapannounce "airplane_01","The Airship is now taking off. Our next destination is Izlude.",bc_map,"0x00ff00";
+	stopnpctimer;
+	set getvariableofnpc(.moninv, "International_Airship"),2;
+	donpcevent "International_Airship::OnEnable";
+	end;
+
+OnMyMobDead:
+OnCaptainMobDead:
 	end;
-}
 }
 
 airplane_01,246,54,3	script	Airship Captain#02	873,{
@@ -1397,7 +1466,11 @@ airplane_01,246,54,3	script	Airship Captain#02	873,{
 	mes "fight with the";
 	mes "Gremlins!";
 	close2;
-	cutin "fly_felrock",255;
+	cutin "",255;
+	end;
+	
+OnInit:
+	hideonnpc "Airship Captain#02";
 	end;
 }
 
@@ -1414,8 +1487,7 @@ 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,{
+airplane_01,238,154,3	script	Airship Captain#01	873,{
 	cutin "fly_felrock",2;
 	mes "[Tarlock]";
 	mes "I am Tarlock,";
@@ -1432,7 +1504,7 @@ airplane_01,238,154,5	script	Airship Captain#01	873,{
 	} else if(lght_air == 6) {
 		set .@question$, "Already finished reading?";
 	}
-	switch( select( "Y-you're a reindeer?!", .@question$, "No, not really." )){
+	switch (select("Y-you're a reindeer?!", .@question$, "No, not really.")) {
 	case 1:
 		mes "[Tarlock]";
 		mes "Hm? Oh, that";
@@ -1453,7 +1525,7 @@ airplane_01,238,154,5	script	Airship Captain#01	873,{
 		cutin "",255;
 		end;
 	case 2:
-		if(lght_air == 1) {
+		if (lght_air == 1) {
 			if (BaseLevel <= 59) {
 				mes "[Tarlock]";
 				mes "Mm...?";
@@ -1471,7 +1543,7 @@ airplane_01,238,154,5	script	Airship Captain#01	873,{
 				mes "before? Are you just curious";
 				mes "or did you really want to know?";
 				next;
-				switch( select( "No, not really...", "Yes, I really want to know!")) {
+				switch (select("No, not really...:Yes, I really want to know!")) {
 				case 1:
 					mes "[Tarlock]";
 					mes "Hahahaha~";
@@ -1499,7 +1571,7 @@ airplane_01,238,154,5	script	Airship Captain#01	873,{
 					mes "you that classified info if you";
 					mes "do a little favor for me first.";
 					next;
-					switch( select( "Let me think about it.", "Sure.")) {
+					switch (select("Let me think about it.:Sure.")) {
 					case 1:
 						mes "[Tarlock]";
 						mes "Alright. But don't";
@@ -1545,8 +1617,9 @@ airplane_01,238,154,5	script	Airship Captain#01	873,{
 					}
 				}
 			}
-		} else if(lght_air == 4) {
+		} else if (lght_air == 4) {
 			set lght_air, 5;
+			changequest 8034,8035;
 			mes "[Tarlock]";
 			mes "Oh!";
 			mes "And he answer you? Really?!";
@@ -1557,7 +1630,7 @@ airplane_01,238,154,5	script	Airship Captain#01	873,{
 			close2;
 			cutin "",255;
 			end;
-		} else if(lght_air == 5) {
+		} else if (lght_air == 5) {
 			set lght_air, 6;
 			mes "[Tarlock]";
 			mes "Um... Ha ha ha~!";
@@ -1572,7 +1645,7 @@ airplane_01,238,154,5	script	Airship Captain#01	873,{
 			close2;
 			cutin "",255;
 			end;
-		} else if(lght_air== 6) {
+		} else if (lght_air == 6) {
 			mes "[Tarlock]";
 			mes "Yes, I finished.";
 			mes "Even if I understand him";
@@ -1597,63 +1670,59 @@ airplane_01,238,154,5	script	Airship Captain#01	873,{
 			mes "That turns the propeller.";
 			mes "That's all. Did you understand?";
 			next;
-			switch( select( "Um? Only that? There's no more?")) {
-			case 1:
-				mes "[Tarlock]";
-				mes "Ha ha ha!";
-				mes "I explained it roughtly to";
-				mes "make it easier to understand";
-				mes "by you. Still, you aren't";
-				mes "pleased? I said it in plain";
-				mes "english that everyone could";
-				mes "understand.";
-				next;
-				mes "[Tarlock]";
-				mes "Obviously, only with a steam";
-				mes "is impossible to make this fly.";
-				mes "Therefore, it uses an amplifier";
-				mes "called ^ff0000Rune Mechanism^000000.";
-				next;
-				switch( select( "Uh? What's a Rune Mechanism?")) {
-				case 1:
-					mes "[Tarlock]";
-					mes "It's a device that uses a";
-					mes "magic stone as power source.";
-					mes "However, I don't know how";
-					mes "this work...";
-					mes "I forgot the details probably";
-					mes "because I didn't paid much attention.";
-					next;
-					mes "[Tarlock]";
-					mes "The only I remember is";
-					mes "that the energy is amplified";
-					mes "while it passes through the";
-					mes "Rune that is attached to a";
-					mes "steam engine.";
-					next;
-					mes "[Tarlock]";
-					mes "In fact, all this airship";
-					mes "floats thanks to the power";
-					mes "given by the stone, no";
-					mes "exaggeration.";
-					mes "It has really a strong power.";
-					next;
-					specialeffect2 EF_MAPPILLAR;
-					mes "[Tarlock]";
-					mes "Did you understand?";
-					mes "I'll rest a little.";
-					mes "I'm tired for reading";
-					mes "and writing those long";
-					mes "letters.";
-					completequest 8035;
-					set lght_air, 7;
-					getexp 20000, 1000;
-					close2;
-					cutin "",255;
-					end;
-				}
-			}
-		} else if(lght_air == 7) {
+			select("Um? Only that? There's no more?");
+			mes "[Tarlock]";
+			mes "Ha ha ha!";
+			mes "I explained it roughtly to";
+			mes "make it easier to understand";
+			mes "by you. Still, you aren't";
+			mes "pleased? I said it in plain";
+			mes "english that everyone could";
+			mes "understand.";
+			next;
+			mes "[Tarlock]";
+			mes "Obviously, only with a steam";
+			mes "is impossible to make this fly.";
+			mes "Therefore, it uses an amplifier";
+			mes "called ^ff0000Rune Mechanism^000000.";
+			next;
+			select("Uh? What's a Rune Mechanism?");
+			mes "[Tarlock]";
+			mes "It's a device that uses a";
+			mes "magic stone as power source.";
+			mes "However, I don't know how";
+			mes "this work...";
+			mes "I forgot the details probably";
+			mes "because I didn't paid much attention.";
+			next;
+			mes "[Tarlock]";
+			mes "The only I remember is";
+			mes "that the energy is amplified";
+			mes "while it passes through the";
+			mes "Rune that is attached to a";
+			mes "steam engine.";
+			next;
+			mes "[Tarlock]";
+			mes "In fact, all this airship";
+			mes "floats thanks to the power";
+			mes "given by the stone, no";
+			mes "exaggeration.";
+			mes "It has really a strong power.";
+			next;
+			specialeffect2 EF_MAPPILLAR;
+			mes "[Tarlock]";
+			mes "Did you understand?";
+			mes "I'll rest a little.";
+			mes "I'm tired for reading";
+			mes "and writing those long";
+			mes "letters.";
+			completequest 8035;
+			set lght_air, 7;
+			getexp 20000, 1000;
+			close2;
+			cutin "",255;
+			end;
+		} else if (lght_air == 7) {
 			mes "[Tarlock]";
 			mes "Didn't I teach you before?";
 			mes "I won't explain such a long";
@@ -1661,7 +1730,7 @@ airplane_01,238,154,5	script	Airship Captain#01	873,{
 			close2;
 			cutin "",255;
 			end;
-		} else if(lght_air == 2) {
+		} else {
 			mes "[Tarlock]";
 			mes "Hahahah! Don't worry, I'll";
 			mes "tell you know this Airship";

+ 3 - 0
npc/scripts_athena.conf

@@ -74,7 +74,10 @@ npc: npc/merchants/cashheadgear_dye.txt
 // -------------------------- Airport ---------------------------
 npc: npc/airports/airships.txt
 npc: npc/airports/einbroch.txt
+npc: npc/airports/hugel.txt
+npc: npc/airports/izlude.txt
 npc: npc/airports/lighthalzen.txt
+npc: npc/airports/rachel.txt
 npc: npc/airports/yuno.txt
 // --------------------------------------------------------------
 // ------------------------- RE - Quests ------------------------

+ 2 - 2
npc/warps/cities/izlude.txt

@@ -30,5 +30,5 @@ izlude_in,43,169,0	warp	w219	2,3,izlude_in,64,169
 izlude_in,65,84,0	warp	iz01-1	5,2,izlude,113,147
 izlude_in,74,158,0	warp	iz04-1	3,2,izlude,52,136
 izlude_in,87,169,0	warp	iz05-1	2,3,izlude_in,111,169
-izlude,149,39,0	warp	izair1	1,1,izlude,180,56
-izlude,176,56,0	warp	lizair2	1,1,izlude,145,39
+izlude,149,39,0	warp	izair1	1,1,izlude,182,56
+izlude,176,56,0	warp	lizair2	1,1,izlude,145,40

+ 8 - 8
npc/warps/other/airplane.txt

@@ -25,7 +25,7 @@
 //==========================================================================
 //Einbroch - Airport
 //==========================================================================
-einbroch,92,280,0	warp	ein_ap01	1,1,airplane,224,64
+einbroch,92,281,0	warp	ein_ap01	1,1,airplane,224,64
 einbroch,64,234,0	warp	ein_ap02	1,1,airport,138,51
 airport,142,61,0	warp	ein_ap02a	1,1,einbroch,62,246
 airport,124,13,0	warp	ein_ap03	1,1,airport,19,21
@@ -43,9 +43,9 @@ lhz_airport,160,14,0	warp	lairp2	1,1,lhz_airport,48,20
 lhz_airport,48,18,0	warp	lairp2a	1,1,lhz_airport,162,14
 lighthalzen,267,76,0	warp	lairp3	1,1,lhz_airport,143,15
 lhz_airport,143,13,0	warp	lairp3a	1,1,lighthalzen,265,76
-lhz_airport,143,63,0	warp	lairp4	1,1,lighthalzen,296,76
-lighthalzen,294,76,0	warp	lairp4a	1,1,lhz_airport,143,60
-lighthalzen,308,76,0	warp	lairp5	1,1,airplane,224,64
+lhz_airport,142,60,0	warp	lairp4	1,1,lighthalzen,296,76
+lighthalzen,294,76,0	warp	lairp4a	1,1,lhz_airport,143,53
+lighthalzen,308,76,0	warp	lairp5	1,1,airplane,224,58
 
 
 // -Juno Airport-
@@ -55,10 +55,10 @@ y_airport,160,14,0	warp	jairp2	1,1,y_airport,48,20
 y_airport,48,18,0	warp	jairp2a	1,1,y_airport,162,14
 yuno,53,214,0	warp	jairp3	1,1,y_airport,143,23
 y_airport,143,16,0	warp	jairp3a	1,1,yuno,52,207
-yuno,52,238,0	warp	jairp4a	1,1,y_airport,143,60
-yuno,55,238,0	warp	jairp5a	1,1,y_airport,143,60
-yuno,8,261,0	warp	jairp6	1,1,airplane_01,224,64
-yuno,97,260,0	warp	jairp7	1,1,airplane,224,64
+yuno,47,240,0	warp	jairp4a	1,1,y_airport,143,54
+yuno,59,240,0	warp	jairp5a	1,1,y_airport,143,54
+yuno,6,261,0	warp	jairp6	1,1,airplane_01,244,58
+yuno,96,261,0	warp	jairp7	1,1,airplane,244,58
 
 
 //=========================================================================

部分文件因为文件数量过多而无法显示