//===== eAthena Script ======================================= 
//= The Airship System Script
//===== By: ================================================== 
//= MasterOfMuppets
//===== Current Version: ===================================== 
//= 0.1
//===== Compatible With: ===================================== 
//= eAthena SVN 3422+(Requires jA Script System)
//===== Description: ========================================= 
//= The Airship System used in the official servers, however this
//= one is still about 25% custom and is missing some npcs.
//===== Additional Comments: ================================= 
//= 0.1 Added first version, it might be a little buggy [MasterOfMuppets]
//= 0.1a Fixed the Airport Staff#Iz which was [MasterOfMuppets]
//= 	 warping you to the same location as Airport Staff#Ein
//============================================================ 

//============================================================ 
//= The Airship System (Yuno -> Hugel -> Einbroch -> Lighthalzen -> repeat)
//============================================================ 

airplane.gat,243,74,4	script	#AirshipWarp-1	45,2,2{
OnTouch:
	if($airplanelocation == 1)warp "einbroch.gat",90,275;
	if($airplanelocation == 2)warp "yuno.gat",85,265;
	if($airplanelocation == 3)warp "lighthalzen.gat",302,75;
	if($airplanelocation == 4)warp "hugel.gat",182,150;
	end;

OnHide:
	misceffect 16;
	end;
OnUnhide:
	misceffect 215;
	end;
}

airplane.gat,243,29,4	script	#AirshipWarp-2	45,2,2{
OnTouch:
	if($airplanelocation == 1)warp "einbroch.gat",90,275;
	if($airplanelocation == 2)warp "yuno.gat",85,265;
	if($airplanelocation == 3)warp "lighthalzen.gat",302,75;
	if($airplanelocation == 4)warp "hugel.gat",182,150;
	end;

OnHide:
	misceffect 16;
	end;
OnUnhide:
	misceffect 215;
	end;
}

airplane.gat,1,1,0	script	EinYuno_Airship	-1,{
OnInit:
while(1)
{
	initnpctimer;
	setnpctimer 0;
	set $airplanelocation,0;
	donpcevent "#AirshipWarp-1::OnHide";
	donpcevent "#AirshipWarp-2::OnHide";
	disablenpc "#AirshipWarp-1";
	disablenpc "#AirshipWarp-2";
	mapannounce "airplane.gat","The Airship is leaving the ground. Our next destination is Hugel.",1,0xBA55D3;
	end;
OnTimer15000:
	mapannounce "airplane.gat","We are heading to Hugel.",1,0xBA55D3;
	end;
OnTimer30000:
	mapannounce "airplane.gat","We will arrive in Hugel shortly.",1,0xBA55D3;
	end;
OnTimer45000:
	set $airplanelocation,4;
	enablenpc "#AirshipWarp-1";
	enablenpc "#AirshipWarp-2";
	donpcevent "#AirshipWarp-1::OnUnhide";
	donpcevent "#AirshipWarp-2::OnUnhide";	
	mapannounce "airplane.gat","Welcome to Hugel. Have a safe trip.",1,0xBA55D3;
	end;
OnTimer55000:
	mapannounce "airplane.gat","Currently we are in Hugel. The Airship will leave shortly.",1,0xBA55D3;
	end;
OnTimer65000:
	set $airplanelocation,0;
	donpcevent "#AirshipWarp-1::OnHide";
	donpcevent "#AirshipWarp-2::OnHide";
	disablenpc "#AirshipWarp-1";
	disablenpc "#AirshipWarp-2";
	mapannounce "airplane.gat","The Airship is leaving the ground. Our next destination is Einbroch.",1,0x00FF00;
	end;
OnTimer80000:
	mapannounce "airplane.gat","We are heading to Einbroch.",1,0x00FF00;
	end;
OnTimer95000:
	mapannounce "airplane.gat","We will arrive in Einbroch shortly.",1,0x00FF00;
	end;
OnTimer110000:
	set $airplanelocation,1;
	enablenpc "#AirshipWarp-1";
	enablenpc "#AirshipWarp-2";
	donpcevent "#AirshipWarp-1::OnUnhide";
	donpcevent "#AirshipWarp-2::OnUnhide";
	mapannounce "airplane.gat","Welcome to Einbroch. Have a safe trip.",1,0x00FF00;
	end;
OnTimer120000:
	mapannounce "airplane.gat","Currently we are in Einbroch. The Airship will take off shortly.",1,0x00FF00;
	end;
OnTimer130000:
	set $airplanelocation,0;
	donpcevent "#AirshipWarp-1::OnHide";
	donpcevent "#AirshipWarp-2::OnHide";
	disablenpc "#AirshipWarp-1";
	disablenpc "#AirshipWarp-2";
	mapannounce "airplane.gat","The Airship is leaving the ground. Our next destination is Lighthalzen.",1,0xFF8600;
	end;
OnTimer145000:
	mapannounce "airplane.gat","We are heading to Lighthalzen.",1,0xFF8600;
	end;
OnTimer160000:
	mapannounce "airplane.gat","We will arrive in Lighthalzen shortly.",1,0xFF8600;
	end;
OnTimer175000:
	set $airplanelocation,3;
	enablenpc "#AirshipWarp-1";
	enablenpc "#AirshipWarp-2";
	donpcevent "#AirshipWarp-1::OnUnhide";
	donpcevent "#AirshipWarp-2::OnUnhide";
	mapannounce "airplane.gat","Welcome to Lighthalzen. Have a safe trip.",1,0xFF8600;
	end;
OnTimer185000:
	mapannounce "airplane.gat","Currently we are in Lighthalzen. The Airship will leave shortly.",1,0xFF8600;
	end;
OnTimer195000:
	set $airplanelocation,0;
	donpcevent "#AirshipWarp-1::OnHide";
	donpcevent "#AirshipWarp-2::OnHide";
	disablenpc "#AirshipWarp-1";
	disablenpc "#AirshipWarp-2";
	mapannounce "airplane.gat","The Airship is now taking off. Our next destination is Yuno.",1,0x70DBDB;
	end;
OnTimer210000:
	mapannounce "airplane.gat","We are heading to Yuno.",1,0x70DBDB;
	end;
OnTimer225000:
	mapannounce "airplane.gat","We will arrive in Yuno shortly.",1,0x70DBDB;
	end;
OnTimer240000:
	set $airplanelocation,2;
	enablenpc "#AirshipWarp-1";
	enablenpc "#AirshipWarp-2";
	donpcevent "#AirshipWarp-1::OnUnhide";
	donpcevent "#AirshipWarp-2::OnUnhide";
	mapannounce "airplane.gat","Welcome to Yuno. Have a safe trip.",1,0x70DBDB;
	end;
OnTimer250000:
	mapannounce "airplane.gat","Currently we are in Yuno. The Airship will leave shortly.",1,0x70DBDB;
	end;
OnTimer260000:
	stoptimer;
}
}

//C4644E

//============================================================ 
//= Some normal NPCS (airplane.gat)
//============================================================ 

airplane.gat,240,64,5	script	Exit	857,{

end;

}

airplane.gat,247,64,5	duplicate(Exit)	Exit	857

airplane.gat,240,39,1	duplicate(Exit)	Exit	857

airplane.gat,247,39,1	duplicate(Exit)	Exit	857

airplane.gat,100,69,2	script	Airship Crew	852,{

	mes "[Airship Crew]";
	mes "If we've landed at";
	mes "your destination and";
	mes "you'd like to leave the";
	mes "Airship, please use the";
	mes "stairs up ahead. Thank";
	mes "you for you patronage.";
	close;

}

//============================================================ 
//= The Airship System (Yuno -> Izlude -> Repeat)
//============================================================ 

airplane_01.gat,243,74,4	script	#AirshipWarp-3	45,2,2{
OnTouch:
	if($airplanelocation2 == 1)warp "izlude.gat",202,56;
	if($airplanelocation2 == 2)warp "yuno.gat",20,265;
	end;

OnHide:
	misceffect 16;
	end;
OnUnhide:
	misceffect 215;
	end;
}

airplane_01.gat,243,29,4	script	#AirshipWarp-4	45,2,2{
OnTouch:
	if($airplanelocation2 == 1)warp "izlude.gat",202,56;
	if($airplanelocation2 == 2)warp "yuno.gat",20,265;

OnHide:
	misceffect 16;
	end;
OnUnhide:
	misceffect 215;
	end;
}

airplane_01.gat,1,1,0	script	YunoIzl_Airship	-1,{
OnInit:
while(1)
{
	initnpctimer;
	setnpctimer 0;
	set $airplanelocation2,0;
	donpcevent "#AirshipWarp-3::OnHide";
	donpcevent "#AirshipWarp-4::OnHide";
	disablenpc "#AirshipWarp-3";
	disablenpc "#AirshipWarp-4";
	mapannounce "airplane_01.gat","The Airship is leaving the ground. Our next destination is Izlude.",1,0x00FF00;
	end;
OnTimer15000:
	mapannounce "airplane_01.gat","We are heading to Izlude.",1,0x00FF00;
	end;
OnTimer30000:
	mapannounce "airplane_01.gat","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.gat","Welcome to Izlude. Have a safe trip.",1,0x00FF00;
	end;
OnTimer55000:
	mapannounce "airplane_01.gat","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.gat","The Airship is leaving the ground. Our next destination is Yuno.",1,0x70DBDB;
	end;
OnTimer80000:
	mapannounce "airplane_01.gat","We are heading to Yuno.",1,0x70DBDB;
	end;
OnTimer95000:
	mapannounce "airplane_01.gat","We will arrive in Yuno 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.gat","Welcome to Yuno. Have a safe trip.",1,0x70DBDB;
	end;
OnTimer120000:
	mapannounce "airplane_01.gat","Currently we are in Yuno. The Airship will take off shortly.",1,0x70DBDB;
	end;
OnTimer130000:
	stoptimer;
}
}

//============================================================ 
//= Some normal NPCS (airplane_01.gat)
//============================================================ 

airplane_01.gat,240,64,5	duplicate(Exit)	Exit	857

airplane_01.gat,247,64,5	duplicate(Exit)	Exit	857

airplane_01.gat,240,39,1	duplicate(Exit)	Exit	857

airplane_01.gat,247,39,1	duplicate(Exit)	Exit	857

airplane_01.gat,100,69,2	duplicate(Airship Crew)	Airship Crew	852

//============================================================ 
//= The Izlude Airship Staff
//============================================================

izlude.gat,201,54,3	script	Airship Staff#izl	91,{

	mes "[Airship Staff]";
	mes "Welcome to the Izlude Airship.";
	mes "How may I help you?";
	next;
	menu "Board the Airship",-,"Cancel",L_Cancel;

		mes "[Airship Staff]";
		mes "The Airship boarding fee";
		mes "is 1,200 zeny, but if you've";
		mes "got a Free Ticket for Airship,"; 
		mes "the fee will be waived. Will";
		mes "you board the Airship?";
		next;
		menu "Yes",-,"No",L_Cancel;

		if(countitem(7311) > 0) goto L_GotTicket;
		if(Zeny < 1200) goto L_NoZeny;
			set Zeny, Zeny - 1200;
			warp "airplane_01.gat",224,64;
			close;

		L_GotTicket:
			delitem 7311,1;
			warp "airplane_01.gat",224,64;
			close;

	L_NoZeny:
		mes "[Airship Staff]";
		mes "You don't have enough zeny.";
		close;

	L_Cancel:
		mes "[Airship Staff]";
		mes "Thank you and";
		mes "have a nice day.";
		close;
}

//============================================================ 
//= The Hugel Airship Staff
//============================================================

hugel.gat,182,150,3	script	Airship Staff#hu	91,{

	mes "[Airship Staff]";
	mes "Welcome to the Schwartzwald Republic's Airship.";
	mes "How may I help you?";
	next;
	menu "Board the Airship",-,"Cancel",L_Cancel;

		mes "[Airship Staff]";
		mes "The Airship boarding fee";
		mes "is 1,200 zeny, but if you've";
		mes "got a Free Ticket for Airship,"; 
		mes "the fee will be waived. Will";
		mes "you board the Airship?";
		next;
		menu "Yes",-,"No",L_Cancel;

		if(countitem(7311) > 0) goto L_GotTicket;
		if(Zeny < 1200) goto L_NoZeny;
			set Zeny, Zeny - 1200;
			warp "airplane.gat",224,64;
			close;

		L_GotTicket:
			delitem 7311,1;
			warp "airplane.gat",224,64;
			close;

	L_NoZeny:
		mes "[Airship Staff]";
		mes "You don't have enough zeny.";
		close;

	L_Cancel:
		mes "[Airship Staff]";
		mes "Thank you and";
		mes "have a nice day.";
		close;
}

//============================================================ 
//= Yuno Airport NPCs
//============================================================

y_airport.gat,144,63,4	script	Airport Staff#Ein	91,{

	mes "[Airship Staff]";
	mes "Good day!";
	mes "Would you like to go";
	mes "to ^FF0000Einbroch^000000,^FF0000Hugel^000000 or";
	mes "^FF0000Lighthalzen^000000?";
	next;
	menu "Yes.",s_Warp,"No.",-;

	mes "[Airship Staff]";
	mes "Thank you and";
	mes "have a nice day.";
	close;

s_Warp:
	mes "[Airship Staff]";
	mes "Thank you and";
	mes "have a nice day.";
	close2;
	warp "yuno.gat",57,240;
	end;

}
	
y_airport.gat,141,63,4	script	Airport Staff#Izl	91,{

	mes "[Airship Staff]";
	mes "Good day!";
	mes "Would you like to go";
	mes "to ^FF0000Izlude^000000?";
	next;
	menu "Yes.",s_Warp,"No.",-;

	mes "[Airship Staff]";
	mes "Thank you and";
	mes "have a nice day.";
	close;

s_Warp:
	mes "[Airship Staff]";
	mes "Thank you and";
	mes "have a nice day.";
	close2;
	warp "yuno.gat",50,240;
	end;

}
