summaryrefslogblamecommitdiff
path: root/npc/airports/airships.txt
blob: d26adcd65d203126125163be528edfa00089b89c (plain) (tree)
1
2
3
4
5
6




                                                                
        








                                                                          
                                                              


































































































                                                                                                                      
                                                                                                                         

               
                                                                                

               
                                                                                        






                                               
                                                                                           

               
                                                                                                                  





























































                                                                                                              

































































































































































                                                                                                








































































































                                                                                                                       





























                                                                           











































































































































                                                                
//===== eAthena Script ======================================= 
//= The Airship System Script
//===== By: ================================================== 
//= MasterOfMuppets
//===== Current Version: ===================================== 
//= 0.2
//===== 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
//= 0.2 Implemented some more airship NPCs, more are to come.
//============================================================ 

//============================================================ 
//= 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;

}

airplane.gat,250,59,3	script	Airship Staff::AirshipInfo	67,{

	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.gat,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.";
	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

airplane_01.gat,250,59,3	duplicate(AirshipInfo)	Airship Staff	67

airplane_01.gat,50,66,4	duplicate(AirshipApples)	Meltz	86

airplane_01.gat,83,61,2	script	Girl	72,{

	mes "[Dianne]";
	mes "It's so weird!";
	mes "I went to visit the";
	mes "Airship Captain and";
	mes "all I saw was this";
	mes "weird reindeer. Oh!";
	mes "Do you think that...";
	close;

}

airplane_01.gat,69,63,2	script	Old Man	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 "have brought my chef so that";
	mes "I could enjoy a real meal.";
	close;

}

//============================================================ 
//= 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;

}