summaryrefslogblamecommitdiff
path: root/npc/custom/eAAC_Scripts/kafraExpress/ke_warp_dungeon.txt
blob: 9c2f7f0a6caf24267c662d5ec9c05907362e0d18 (plain) (tree)
1
2
3
4
5
6
7
8
9
10




                                                               
       



                                                               
                               












                                                               
                    
















                            


                            

                                                               
                                         






















                                                 

                    


                        
                 


                    
                   












                                                                       
















































































                                                                                                                                                      



















                                                                                                 

                                                                                         


                                                                                                  
                                                                                 


                                                                                    
                                                                                     

























































                                                                                             
                                   

                              
                                     

                              
                                         

                              
                                     

                              
                                   

                              
                                  

                              
                                  

                              
                                   

                              
                                     

                              
                                    

                              
                                    

                              











                                           



































                                                                                                                     






                                                                                        






                                                         



                       
                                                                             





                                                      


                                                                                                   










                                                      
                                                                                                        

                      
                                                                                                        

                      
                                                                                                       




                      
                                                                         





                                                          


                                                                                                    










                                                          
                                                                                                       

                      
                                                                                                       

                      
                                                                                                        




                      
                                                                                             



                                                    

                                                                                                             









                                                           
                                                                                                         

                      
                                                                                                         




                      
                                                                             





                                                              

                                                                                                    









                                                              
                                                                                                         

                      
                                                                                                       




                      
                                                                          





                                                           




                                                                                                   












                                                           
                                                                                                      

                      
                                                                                                        

                      
                                                                                                        

                      
                                                                                                      

                      
                                                                                                      




                      
                                                                                         




                                                        


                                                                                                                     










                                                                  
                                                                                                        

                      
                                                                                                    

                      
                                                                                                     




                        
                                                                               





                                                       







                                                                                                        















                                                       
                                                                                                        

                      
                                                                                                       

                      
                                                                                                       

                      
                                                                                                       

                      
                                                                                                         

                      
                                                                                                        

                      
                                                                                                         

                      
                                                                                                         




                      
                                                                               





                                                                


                                                                                                    










                                                                
                                                                                                        

                      
                                                                                                         

                      
                                                                                                         




                      
                                                                              





                                                                



                                                                                                    











                                                                
                                                                                                         

                      
                                                                                                       

                      
                                                                                                         

                      
                                                                                                        




                      
                                                                           





                                                              

                                                                                                    









                                                             
                                                                                                      

                      
                                                                                                         




                      
                                                                            





                                                          



                                                                                                    




                                                          


                                                  



                           
                                                                                                       

                      
                                                                                                         

                      
                                                                                                         

                      
                                                                                                         




                      
                                                                                                                             





                                                   



                                                                                                    











                                                   
                                                                                                       

                      
                                                                                                         

                      
                                                                                                         

                      
                                                                                                       




                       
                                                                               




                                                              



                                                                                                                                               














                                                                    













                                                                                                                                       





















                                                                     
                                                                                                       

                      
                                                                                                        

                      
                                                                                                       

                      
                                                                                                      

                      
                                                                                                      

                      
                                                                                                        

                      
                                                                                                       

                      
                                                                                                         

                      
                                                                                                        

                      
                                                                                                        

                      
                                                                                                        

                      
                                                                                                       

                      
                                                                                                        

                      
                                                                                                        




                      
                                                                            





                                                            


                                                                                                    










                                                            
                                                                                                      

                      
                                                                                                        

                      
                                                                                                       




                          
                                                                                    





                                                                


                                                                                                     










                                                                
                                                                                                         

                      
                                                                                                         

                      
                                                                                                       




                      
                                                                              





                                                   


                                                                                                     










                                                   





























































                                                                                                           

                      
                                                                                                         

                      
                                                                                                        




                         
                                                                                     





                                                                 


                                                                                                            











                                                                                   

                                                                                                          

                      
                                                                                                        

                      
                                                                                                         




                      
                                                                             





                                                          


                                                                                                    










                                                          
                                                                                                     

                      
                                                                                                        

                      
                                                                                                        




                      
                                                                               





                                                     

                                                                                                    









                                                     
                                                                                                         

                      

































                                                                                                         




                      
                                                                            



                                                        

                                                                                                          









                                                        
                                                                                                       

                      
                                                                                                       




                      
                                                                              





                                                          




                                                                                                    












                                                          
                                                                                                       

                      
                                                                                                       

                      
                                                                                                       

                      
                                                                                                         

                      
                                                                                                        




                      
                                                                               





                                                       





                                                                                                        













                                                       
                                                                                                       

                      
                                                                                                         

                      
                                                                                                         

                      
                                                                                                         

                      
                                                                                                        

                      












































                                                                                                         




                      
                                                                                





                                                      




                                                                                                     













                                                      
                                                                                                         

                      
                                                                                                         

                      
                                                                                                         

                      
                                                                                                         

                      
                                                                                                         




                        
                                                                                  





                                                       

                                                                                                     










                                                       
                                                                                                      

                      
                                                                                                         




                           
                                                                                          





                                                          












                                                                                                     











                                                          




                                                    



                           
                                                                                                          

                      
                                                                                                       

                      
                                                                                                       

                      
                                                                                                      

                      
                                                                                                    

                      
                                                                                                       

                      
                                                                                                      

                      
                                                                                                      

                      












                                                                                                           




                        
                                                                               






                                                       

                                                                                                     










                                                       
                                                                                                   

                      
                                                                                                          




                          
                                                                                      








                                                         



                                                                                                           











                                                         
                                                                                                       

                      
                                                                                                        

                      
                                                                                                         

                      
                                                                                                         




                      
                                                                             





                                                          

                                                                                                   









                                                          
                                                                                                     

                      
                                                                                                      








                                                                        
                                





                                                                          
                                                          
                                            
                                                          
                                                                           
                                                          
                                              
                                                          
                                            
                                                           
                                                                       
                                                           
                                             
                                                           
                                              
                                                           
                                              
                                                            
                                           
                                                            


                                                            
                                                            
                                            
                                                             
                                           
                                                             
                                              
                                                             
                                             
                                                             
                                               
                                                              
                                           
                                                              
                                               
                                                              
                                             
                                                              
                                             
                                                               
                                             
                                                               
                                              
                                                               
                                            
                                                               
                                               
                                                                
                                        
                                                                
                                             
                                                                
                                          
                                                                





                                                                 
                
                                             
                                                        
                                            
                                                        
                                                                           
                                                        
                                              
                                                        
                                            
                                                         
                                                                       
                                                         
                                             
                                                         
                                              
                                                         
                                              
                                                          
                                           
                                                          


                                                          
                                                          
                                            
                                                           
                                           
                                                           
                                              
                                                           
                                             
                                                           
                                               
                                                            
                                           
                                                            
                                               
                                                            
                                             
                                                            
                                             
                                                             
                                             
                                                             
                                              
                                                             
                                            
                                                             
                                               
                                                              
                                        
                                                              
                                             
                                                              
                                          
                                                              





                                                               


               
//===== eAthena Script ======================================= 
//= Kafra Express - Dungeon Warps Module
//===== By: ================================================== 
//= Skotlex 
//===== Current Version: ===================================== 
//= 4.2
//===== Compatible With: ===================================== 
//= eAthena SVN R3424+, RO Episode 8+ (Hugel)
//===== Description: ========================================= 
//= Part of the Kafra Express Script Package.
//= Offers warping to dungeons.
//===== Additional Comments: ================================= 
//= See config.txt for configuration.
//= Flag values used for dungeons:
//= 0x00000001 Abyss Lake
//= 0x00000002 Amatsu
//= 0x00000004 AntHell
//= 0x00000008 Ayothaya
//= 0x00000010 Byalan
//= 0x00000020 Comodo
//= 0x00000040 Clock tower
//= 0x00000080 Coal Mines
//= 0x00000100 Culvert
//= 0x00000200 Einbech
//= 0x00000400 Kiehl
//= 0x00000800 Geffen
//= 0x00001000 GlastHeim
//= 0x00002000 Gon Ryun
//= 0x00004000 Hidden Temple
//= 0x00008000 Juperos
//= 0x00010000 Lighthalzen
//= 0x00020000 Lou Yang
//= 0x00040000 Magma Caves
//= 0x00080000 Orcs
//= 0x00100000 Payon
//= 0x00200000 Pyramid
//= 0x00400000 Sphinx
//= 0x00800000 Sunken Ship
//= 0x01000000 Thanatos
//= 0x02000000 Toy Factory
//= 0x04000000 Turtle Island
//= 0x08000000 Umbala
//= 0x10000000 Odin Temple
//= 0x20000000 Ice Cave
//= 0x40000000 Rachel Temple
//============================================================ 

-	script	keInit_warpDungeon	{
OnInit:	//Load Config
	donpcevent "keConfig::OnLoadWarpDungeon";
	end;
}

function	script	F_keDungeonWarps	{

function SF_abyssLake;
function SF_amatsu;
function SF_antHell;
function SF_ayothaya;
function SF_byalan;
function SF_comodo;
function SF_clockTower;
function SF_coalMine;
function SF_culvert;
function SF_einbech;
function SF_gefenia;
function SF_geffen;
function SF_glastHeim;
function SF_gonRyun;
function SF_hiddenTemple;
function SF_juperos;
function SF_kiehl;
function SF_iceCave;
function SF_lightHalzen;
function SF_louYang;
function SF_magma;
function SF_odin;
function SF_orcs;
function SF_payon;
function SF_pyramid;
function SF_rachel;
function SF_sphinx;
function SF_sunkenShip;
function SF_thanatosTower;
function SF_toyFactory;
function SF_turtleIsland;
function SF_umbala;
	//Store player map, will be needed in any of the submenus.
	set @map$, getarg(0);
	do {
		set @discount,callfunc("F_keCost",100,$@kewd_discount);
		if ($@kewd_showOnline) {
			set @kmenu, select (
				"- Cancel",
				"- Abyss Lake ("+$@kewd_abyssLake*@discount/100+"z/"+(getmapusers("abyss_01.gat")
					+getmapusers("abyss_02.gat")+getmapusers("abyss_03.gat"))+" "+$@ked_users$+")",
				"- Amatsu Dungeon ("+$@kewd_amatsu*@discount/100+"z/"+(getmapusers("ama_dun01.gat")
					+getmapusers("ama_dun02.gat")+getmapusers("ama_dun03.gat"))+" "+$@ked_users$+")",
				"- Ant Hell ("+$@kewd_antHell*@discount/100+"z/"+(getmapusers("anthell01.gat")
					+getmapusers("anthell02.gat"))+" "+$@ked_users$+")",
				"- Ayothaya Ancient Shrine ("+$@kewd_ayothaya*@discount/100+"z/"+(getmapusers("ayo_dun01.gat")
					+getmapusers("ayo_dun02.gat"))+" "+$@ked_users$+")",
				"- Byalan Dungeon ("+$@kewd_byalan*@discount/100+"z/"+(getmapusers("iz_dun00.gat")
					+getmapusers("iz_dun01.gat")+getmapusers("iz_dun02.gat")+getmapusers("iz_dun03.gat")
					+getmapusers("iz_dun04.gat"))+" "+$@ked_users$+")",
				"- Comodo Caves ("+$@kewd_comodo*@discount/100+"z/"+(getmapusers("beach_dun.gat")
					+getmapusers("beach_dun2.gat")+getmapusers("beach_dun3.gat"))+" "+$@ked_users$+")",
				"- Clock Tower ("+$@kewd_clockTower*@discount/100+"z/"+(getmapusers("c_tower1.gat")
					+getmapusers("c_tower2.gat")+getmapusers("c_tower3.gat")+getmapusers("c_tower4.gat")
					+getmapusers("alde_dun01.gat")+getmapusers("alde_dun02.gat")+getmapusers("alde_dun03.gat")
					+getmapusers("alde_dun04.gat"))+" "+$@ked_users$+")",
				"- Coal Mine ("+$@kewd_coalMines*@discount/100+"z/"+(getmapusers("mjo_dun01.gat")
					+getmapusers("mjo_dun02.gat")+getmapusers("mjo_dun03.gat"))+" "+$@ked_users$+")",
				"- Culvert ("+$@kewd_culvert*@discount/100+"z/"+(getmapusers("prt_sewb1.gat")+getmapusers("prt_sewb2.gat")
					+getmapusers("prt_sewb3.gat")+getmapusers("prt_sewb4.gat"))+" "+$@ked_users$+")",
				"- Einbroch Station ("+$@kewd_einbech*@discount/100+"z/"+(getmapusers("ein_dun01.gat")
					+getmapusers("ein_dun02.gat"))+" "+$@ked_users$+")",
				"- Gefenia ("+$@kewd_gefenia*@discount/100+"z/"+(getmapusers("gefenia01.gat")+getmapusers("gefenia02.gat")
					+getmapusers("gefenia03.gat")+getmapusers("gefenia04.gat"))+" "+$@ked_users$+")",
				"- Geffen Dungeon ("+$@kewd_geffen*@discount/100+"z/"+(getmapusers("gef_dun00.gat")
					+getmapusers("gef_dun01.gat")+getmapusers("gef_dun02.gat")+getmapusers("gef_dun03.gat"))+" "+$@ked_users$+")",
				"- Glast Heim ("+$@kewd_glastHeim*@discount/100+"z/"+(getmapusers("gl_cas02.gat")+getmapusers("gl_church.gat")
					+getmapusers("gl_chyard.gat")+getmapusers("gl_dun01.gat")+getmapusers("gl_dun02.gat")
					+getmapusers("gl_in01.gat")+getmapusers("gl_knt01.gat")+getmapusers("gl_knt02.gat")
					+getmapusers("gl_prison.gat")+getmapusers("gl_prison1.gat")+getmapusers("gl_sew01.gat")
					+getmapusers("gl_sew02.gat")+getmapusers("gl_sew03.gat")+getmapusers("gl_sew04.gat")
					+getmapusers("gl_step.gat")+getmapusers("glast_01.gat"))+" "+$@ked_users$+")",
				"- Gon Ryun Dungeon ("+$@kewd_gonRyun*@discount/100+"z/"+(getmapusers("gon_dun01.gat")
					+getmapusers("gon_dun02.gat")+getmapusers("gon_dun03.gat"))+" "+$@ked_users$+")",
				"- Hidden Temple ("+$@kewd_hiddenTemple*@discount/100+"z/"+(getmapusers("prt_maze01.gat")
					+getmapusers("prt_maze02.gat")+getmapusers("prt_maze03.gat"))+" "+$@ked_users$+")",
				"- Juperos ("+$@kewd_juperos*@discount/100+"z/"+(getmapusers("juperos_01.gat")+getmapusers("juperos_02.gat")
					+getmapusers("jupe_area1.gat")+getmapusers("jupe_area2.gat")+getmapusers("jupe_core.gat")
					+getmapusers("jupe_gate.gat")+getmapusers("jupe_area1.gat"))+" "+$@ked_users$+")",
				"- Kiehl Doll Factory ("+$@kewd_kiehl*@discount/100+"z/"+(getmapusers("kh_dun01.gat")
					+getmapusers("kh_dun02.gat"))+" "+$@ked_users$+")",
				"- Ice Cave("+$@kewd_iceCave*@discount/100+"z/"+(getmapusers("ice_dun01.gat")
					+getmapusers("ice_dun02.gat")+getmapusers("ice_dun03.gat"))+" "+$@ked_users$+")",
				"- LightHalzen Rekkenber ("+$@kewd_lightHalzen*@discount/100+"z/"+(getmapusers("lhz_dun01.gat")
					+getmapusers("lhz_dun02.gat")+getmapusers("lhz_dun03.gat"))+" "+$@ked_users$+")",
				"- Lou Yang Royal Tomb ("+$@kewd_louYang*@discount/100+"z/"+(getmapusers("lou_dun01.gat")
					+getmapusers("lou_dun02.gat")+getmapusers("lou_dun03.gat"))+" "+$@ked_users$+")",
				"- Magma Dungeon ("+$@kewd_magma*@discount/100+"z/"+(getmapusers("mag_dun01.gat")
					+getmapusers("mag_dun02.gat"))+" "+$@ked_users$+")",
				"- Odin Temple ("+$@kewd_odin*@discount/100+"z/"+(getmapusers("odin_tem01.gat")
					+getmapusers("odin_tem02.gat")+getmapusers("odin_tem03.gat"))+" "+$@ked_users$+")",
				"- Orc Dungeon ("+$@kewd_orc*@discount/100+"z/"+(getmapusers("orcsdun01.gat")
					+getmapusers("orcsdun02.gat"))+" "+$@ked_users$+")",
				"- Payon Dungeon ("+$@kewd_payon*@discount/100+"z/"+(getmapusers("pay_dun00.gat")
					+getmapusers("pay_dun01.gat")+getmapusers("pay_dun02.gat")+getmapusers("pay_dun03.gat")
					+getmapusers("pay_dun04.gat"))+" "+$@ked_users$+")",
				"- Pyramid ("+$@kewd_pyramid*@discount/100+"z/"+(getmapusers("moc_pryd01.gat")+getmapusers("moc_pryd02.gat")
					+getmapusers("moc_pryd03.gat")+getmapusers("moc_pryd04.gat")+getmapusers("moc_pryd05.gat")
					+getmapusers("moc_pryd06.gat")+getmapusers("moc_prydb1.gat"))+" "+$@ked_users$+")",
				"- Rachel Temple ("+$@kewd_rachel*@discount/100+"z/"+(getmapusers("ra_san01.gat")
					+getmapusers("ra_san02.gat")+getmapusers("ra_san03.gat")+getmapusers("ra_san04.gat")
					+getmapusers("ra_san05.gat"))+" "+$@ked_users$+")",
				"- Sphinx ("+$@kewd_sphinx*@discount/100+"z/"+(getmapusers("in_sphinx1.gat")
					+getmapusers("in_sphinx2.gat")+getmapusers("in_sphinx3.gat")+getmapusers("in_sphinx4.gat")
					+getmapusers("in_sphinx5.gat"))+" "+$@ked_users$+")",
				"- Sunken Ship ("+$@kewd_sunkenShip*@discount/100+"z/"+(getmapusers("treasure01.gat")
					+getmapusers("treasure02.gat"))+" "+$@ked_users$+")",
				"- Thanatos Tower ("+$@kewd_thanatosTower*@discount/100+"z/"+(getmapusers("tha_t01.gat")
					+getmapusers("tha_t02.gat")+getmapusers("tha_t03.gat")+getmapusers("tha_t04.gat")
					+getmapusers("tha_t05.gat")+getmapusers("tha_t06.gat")+getmapusers("tha_t07.gat")
					+getmapusers("tha_t08.gat")+getmapusers("tha_t09.gat")+getmapusers("tha_t10.gat")
					+getmapusers("tha_t11.gat")+getmapusers("tha_t12.gat")+getmapusers("thana_step.gat")
					+getmapusers("thana_boss.gat"))+" "+$@ked_users$+")",
				"- Toy Factory ("+$@kewd_toyFactory*@discount/100+"z/"+(getmapusers("xmas_dun01.gat")
					+getmapusers("xmas_dun02.gat"))+" "+$@ked_users$+")",
				"- Turtle Island ("+$@kewd_turtleIsland*@discount/100+"z/"+(getmapusers("tur_dun01.gat")
					+getmapusers("tur_dun02.gat")+getmapusers("tur_dun03.gat")+getmapusers("tur_dun04.gat")
					+getmapusers("tur_dun05.gat")+getmapusers("tur_dun06.gat"))+" "+$@ked_users$+")",
				"- Umbala Dungeon ("+$@kewd_umbala*@discount/100+"z/"+(getmapusers("um_dun01.gat")
					+getmapusers("um_dun02.gat"))+" "+$@ked_users$+")"
			);
		} else {
			set @kmenu, select(
				"- Cancel",
				"- Abyss Lake ("+$@kewd_abyssLake*@discount/100+"z)",
				"- Amatsu Dungeon ("+$@kewd_amatsu*@discount/100+"z)",
				"- Ant Hell ("+$@kewd_antHell*@discount/100+"z)",
				"- Ayothaya Ancient Shrine ("+$@kewd_ayothaya*@discount/100+"z)",
				"- Byalan Dungeon ("+$@kewd_byalan*@discount/100+"z)",
				"- Comodo Caves ("+$@kewd_comodo*@discount/100+"z)",
				"- Clock Tower ("+$@kewd_clockTower*@discount/100+"z)",
				"- Coal Mine ("+$@kewd_coalMines*@discount/100+"z)",
				"- Culvert ("+$@kewd_culvert*@discount/100+"z)",
				"- Einbroch Mine ("+$@kewd_einbech*@discount/100+"z)",
				"- Gefenia ("+$@kewd_gefenia*@discount/100+"z)",
				"- Geffen Dungeon ("+$@kewd_geffen*@discount/100+"z)",
				"- Glast Heim ("+$@kewd_glastHeim*@discount/100+"z)",
				"- Gon Ryun Dungeon ("+$@kewd_gonRyun*@discount/100+"z)",
				"- Hidden Temple ("+$@kewd_hiddenTemple*@discount/100+"z)",
				"- Juperos ("+$@kewd_juperos*@discount/100+"z)",
				"- Kiehl Doll Factory ("+$@kewd_kiehl*@discount/100+"z)",
				"- Ice Cave ("+$@kewd_iceCave*@discount/100+"z)",
				"- LightHalzen Rekkenber ("+$@kewd_lightHalzen*@discount/100+"z)",
				"- Lou Yang Royal Tomb ("+$@kewd_louYang*@discount/100+"z)",
				"- Magma Dungeon ("+$@kewd_magma*@discount/100+"z)",
				"- Odin Temple ("+$@kewd_odin*@discount/100+"z)",
				"- Orcs Dungeon ("+$@kewd_orc*@discount/100+"z)",
				"- Payon Dungeon ("+$@kewd_payon*@discount/100+"z)",
				"- Pyramid ("+$@kewd_pyramid*@discount/100+"z)",
				"- Rachel Temple ("+$@kewd_rachel*@discount/100+"z)",
				"- Sphinx ("+$@kewd_sphinx*@discount/100+"z)",
				"- Sunken Ship ("+$@kewd_sunkenShip*@discount/100+"z)",
				"- Thanatos Tower ("+$@kewd_thanatosTower*@discount/100+"z)",
				"- Toy Factory ("+$@kewd_toyFactory*@discount/100+"z)",
				"- Turtle Island ("+$@kewd_turtleIsland*@discount/100+"z)",
				"- Umbala Dungeon ("+$@kewd_umbala*@discount/100+"z)"
			);
		}
		switch (@kmenu) {
		case 2:
			SF_abyssLake();
			break;
		case 3:
			SF_amatsu();
			break;
		case 4:
			SF_antHell();
			break;
		case 5:
			SF_ayothaya();
			break;
		case 6:
			SF_byalan();
			break;
		case 7:
			SF_comodo();
			break;
		case 8:
			SF_clockTower();
			break;
		case 9:
			SF_coalMine();
			break;
		case 10:
			SF_culvert();
			break;
		case 11:
			SF_einbech();
			break;
		case 12:
			SF_gefenia();
			break;
		case 13:
			SF_geffen();
			break;
		case 14:
			SF_glastHeim();
			break;
		case 15:
			SF_gonRyun();
			break;
		case 16:
			SF_hiddenTemple();
			break;
		case 17:
			SF_juperos();
			break;
		case 18:
			SF_kiehl();
			break;
		case 19:
			SF_iceCave();
			break;
		case 20:
			SF_lightHalzen();
			break;
		case 21:
			SF_louYang();
			break;
		case 22:
			SF_magma();
			break;
		case 23:
			SF_odin();
			break;
		case 24:
			SF_orcs();
			break;
		case 25:
			SF_payon();
			break;
		case 26:
			SF_pyramid();
			break;
		case 27:
			SF_rachel();
			break;
		case 28:
			SF_sphinx();
			break;
		case 29:
			SF_sunkenShip();
			break;
		case 30:
			SF_thanatosTower();
			break;
		case 31:
			SF_toyFactory();
			break;
		case 32:
			SF_turtleIsland();
			break;
		case 33:
			SF_umbala();
			break;
		default:
			return;
		}
	} while (@kmenu > 1);
	return;

//Subfunction SF_check(flag, cost, floor-count, player-map, dungeon-map#, map#1, map#2, ...)
//If kewd_travel is set, the flag needs to match to be to warp there.
//Floor count is the amount of levels the dungeon needs a price for,
//dungeon-map# is the number of maps passed that need to be checked against
//the player's map to see if they are warping from within the entrance.

function SF_check {
	if ($@kewd_travel && !((kewd_travel|#kewd_travel)&getarg(0))) {
		callfunc "F_keIntro", e_sry, "Sorry, but we can only warp you to dungeons you have saved in before.";
		return 0;
	}
	set @cost, getarg(1);
	set @discount,100;
	set @map$, getarg(3);
	set @mapI, getarg(4);

	while (@mapI > 0)
	{
		if (@map$ == getarg(4+@mapI)) {
			set @discount,100-$@kewd_entryDiscount;
			break;
		}
		set @mapI, @mapI-1;
	}
	set @discountKP, callfunc("F_keCost",100,$@kewd_discount);
	set @discount,@discount*@discountKP/100;
	
	set @cost,@cost*@discount/100;

	//@discountKP is used to reverse the price to before the KP discount takes place
	if (@discountKP == 0)
		set @discountKP,1;
	if ($@kewd_deep == 0)
		return 1;

	//Reuse temp variable to set floor costs.
	set @mapI, getarg(2);
	set @inc,@cost*$@kewd_levelCost/100;
	while (@mapI > 1) {
		setd "@cost"+@mapI, @cost+(@mapI-1)*@inc;
		set @mapI, @mapI-1;
	}
	return 1;
}

function SF_abyssLake {
	if (!(SF_check(0x1, $@kewd_abyssLake, 3, @map$, 1, "hu_fild05.gat")))
		return;
	if ($@kewd_deep == 0)
		set @submenu, 2;
	else if ($@kewd_showOnline) {
		set @submenu, select(
			"- Cancel warp to Abyss Lake",
			"- Entrance ("+@cost+"z/"+getmapusers("abyss_01.gat")+" "+$@ked_users$+")",
			"- Level 2 ("+@cost2+"z/"+getmapusers("abyss_02.gat")+" "+$@ked_users$+")",
			"- Level 3 ("+@cost3+"z/"+getmapusers("abyss_03.gat")+" "+$@ked_users$+")"
		);
	} else {
		set @submenu, select(
			"- Cancel warp to Abyss Lake",
			"- Entrance ("+@cost+"z)",
			"- Level 2 ("+@cost2+"z)",
			"- Level 3 ("+@cost3+"z)"
		);
	}
	switch (@submenu) {
	case 2:
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"hu_fild05.gat",173,308;
		break;
	case 3:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"abyss_02.gat",272,270;
		break;
	case 4:
		callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"abyss_03.gat",116,29;
		break;
	}
}

function SF_amatsu {
	if (!(SF_check(0x2, $@kewd_amatsu, 3, @map$, 1, "ama_in02.gat")))
		return;
	if ($@kewd_deep == 0)
		set @submenu, 2;
	else if ($@kewd_showOnline) {
		set @submenu, select(
			"- Cancel warp to Amatsu Dungeon",
			"- Entrance ("+@cost+"z/"+getmapusers("ama_dun01.gat")+" "+$@ked_users$+")",
			"- Level 2 ("+@cost2+"z/"+getmapusers("ama_dun02.gat")+" "+$@ked_users$+")",
			"- Level 3 ("+@cost3+"z/"+getmapusers("ama_dun03.gat")+" "+$@ked_users$+")"
		);
	} else {
		set @submenu, select(
			"- Cancel warp to Amatsu Dungeon",
			"- Entrance ("+@cost+"z)",
			"- Level 2 ("+@cost2+"z)",
			"- Level 3 ("+@cost3+"z)"
		);
	}
	switch (@submenu) {
	case 2:
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"ama_in02.gat",120,181;
		break;
	case 3:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"ama_dun02.gat",34,41;
		break;
	case 4:
		callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"ama_dun03.gat",119,14;
		break;
	}
}

function SF_antHell {
	if (!(SF_check(0x4, $@kewd_antHell, 1, @map$, 2, "moc_fild04.gat","moc_fild15.gat")))
		return;
	if ($@kewd_showOnline) {
		set @submenu, select(
			"- Cancel warp to Ant Hell",
			"- Northern Entrance ("+@cost+"z/"+getmapusers("anthell01.gat")+" "+$@ked_users$+")",
			"- Southern Entrance ("+@cost+"z/"+getmapusers("anthell02.gat")+" "+$@ked_users$+")"
		);
	} else {
		set @submenu, select(
			"- Cancel warp to Ant Hell",
			"- Northern Entrance ("+@cost+"z)",
			"- Southern Entrance ("+@cost+"z)"
		);
	}
	switch (@submenu) {
	case 2:
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"moc_fild04.gat",201,327;
		break;
	case 3:
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"moc_fild15.gat",246,251;
		break;
	}
}

function SF_ayothaya {
	if (!(SF_check(0x8, $@kewd_ayothaya, 2, @map$, 1, "ayo_fild02.gat")))
		return;
	if ($@kewd_deep == 0)
		set @submenu, 2;
	else if ($@kewd_showOnline) {
		set @submenu, select(
			"- Cancel warp to the Ancient Shrine",
			"- Entrance ("+@cost+"z/"+getmapusers("ayo_dun01.gat")+" "+$@ked_users$+")",
			"- Level 2 ("+@cost2+"z/"+getmapusers("ayo_dun02.gat")+" "+$@ked_users$+")"
		);
	} else {
		set @submenu, select(
			"- Cancel warp to the Ancient Shrine",
			"- Entrance ("+@cost+"z)",
			"- Level 2 ("+@cost2+"z)"
		);
	}
	switch (@submenu) {
	case 2:
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"ayo_fild02.gat",273,150;
		break;
	case 3:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"ayo_dun02.gat",24,28;
		break;
	}
}

function SF_byalan {
	if (!(SF_check(0x10, $@kewd_byalan, 5, @map$, 1, "izlu2dun.gat")))
		return;
	if ($@kewd_deep == 0)
		set @submenu, 2;
	else if ($@kewd_showOnline) {
		set @submenu, select(
			"- Cancel warp to Undersea Tunnel",
			"- Entrance ("+@cost+"z/"+getmapusers("iz_dun00.gat")+" "+$@ked_users$+")",
			"- Level 2 ("+@cost2+"z/"+getmapusers("iz_dun01.gat")+" "+$@ked_users$+")",
			"- Level 3 ("+@cost3+"z/"+getmapusers("iz_dun02.gat")+" "+$@ked_users$+")",
			"- Level 4 ("+@cost4+"z/"+getmapusers("iz_dun03.gat")+" "+$@ked_users$+")",
			"- Level 5 ("+@cost5+"z/"+getmapusers("iz_dun04.gat")+" "+$@ked_users$+")"
		);
	} else {
		set @submenu, select(
			"- Cancel warp to Undersea Tunnel",
			"- Entrance ("+@cost+"z)",
			"- Level 2 ("+@cost2+"z)",
			"- Level 3 ("+@cost3+"z)",
			"- Level 4 ("+@cost4+"z)",
			"- Level 5 ("+@cost5+"z)"
		);
	}
	switch (@submenu) {
	case 2:	
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"izlu2dun.gat",114,84;
		break;
	case 3:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"iz_dun01.gat",253,252;
		break;
	case 4:
		callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"iz_dun02.gat",236,204;
		break;
	case 5:
		callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"iz_dun03.gat",32,63;
		break;
	case 6:	
		callfunc "F_keWarp",@cost5*100/@discountKP,$@kewd_discount,e_hmm,"iz_dun04.gat",26,27;
		break;
	}
}

function SF_comodo {
	if (!(SF_check(0x20, $@kewd_comodo, 1, @map$, 2, "comodo.gat","cmd_fild01.gat")))
		return;

	if ($@kewd_showOnline) {
		set @submenu, select(
			"- Cancel warp to Comodo Caves",
			"- Mao, The Eastern Cave ("+@cost+"z/"+getmapusers("beach_dun3.gat")+" "+$@ked_users$+")",
			"- Karu, The Western Cave ("+@cost+"z/"+getmapusers("beach_dun.gat")+" "+$@ked_users$+")",
			"- Ruande, The Northern Cave ("+@cost+"z/"+getmapusers("beach_dun2.gat")+" "+$@ked_users$+")"
		);
	} else {
		set @submenu, select(
			"- Cancel warp to Comodo Caves",
			"- Mao, The Eastern Cave ("+@cost+"z)",
			"- Karu, The Western Cave ("+@cost+"z)",
			"- Ruande, The Northern Cave ("+@cost+"z)"
		);
	}
	switch (@submenu) {
	case 2:
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"cmd_fild01.gat",34,325;
		break;
	case 3:
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"comodo.gat",32,209;
		break;
	case 4:
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"comodo.gat",180,352;
		break;
	}
}

function SF_clockTower {
	if (!(SF_check(0x40, $@kewd_clockTower, 5, @map$, 1, "aldebaran.gat")))
		return;
	if ($@kewd_deep == 0)
		set @submenu, 2;
	else if ($@kewd_showOnline) {
		set @submenu, select(
			"- Cancel warp to Clock Tower",
			"- Entrance ("+@cost+"z/"+getmapusers("c_tower1.gat")+" "+$@ked_users$+")",
			"- Level 2 ("+@cost2+"z/"+getmapusers("c_tower2.gat")+" "+$@ked_users$+")",
			"- Level 3 ("+@cost3+"z/"+getmapusers("c_tower3.gat")+" "+$@ked_users$+")",
			"- Level 4 ("+@cost4+"z/"+getmapusers("c_tower4.gat")+" "+$@ked_users$+")",
			"- Basement 1 ("+@cost2+"z/"+getmapusers("alde_dun01.gat")+" "+$@ked_users$+")",
			"- Basement 2 ("+@cost3+"z/"+getmapusers("alde_dun02.gat")+" "+$@ked_users$+")",
			"- Basement 3 ("+@cost4+"z/"+getmapusers("alde_dun03.gat")+" "+$@ked_users$+")",
			"- Basement 4 ("+@cost5+"z/"+getmapusers("alde_dun04.gat")+" "+$@ked_users$+")"
		);
	} else {
		set @submenu, select(
			"- Cancel warp to Clock Tower",
			"- Entrance ("+@cost+"z)",
			"- Level 2 ("+@cost2+"z)",
			"- Level 3 ("+@cost3+"z)",
			"- Level 4 ("+@cost4+"z)",
			"- Basement 1 ("+@cost2+"z)",
			"- Basement 2 ("+@cost3+"z)",
			"- Basement 3 ("+@cost4+"z)",
			"- Basement 4 ("+@cost5+"z)"
		);
	}
	switch (@submenu) {
	case 2:	
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"aldebaran.gat",140,130;
		break;
	case 3:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"c_tower2.gat",268,26;
		break;
	case 4:
		callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"c_tower3.gat",68,146;
		break;
	case 5:
		callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"c_tower4.gat",185,44;
		break;
	case 6:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"alde_dun01.gat",297,25;
		break;
	case 7:
		callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"alde_dun02.gat",43,24;
		break;
	case 8:
		callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"alde_dun03.gat",18,267;
		break;
	case 9:
		callfunc "F_keWarp",@cost5*100/@discountKP,$@kewd_discount,e_hmm,"alde_dun04.gat",82,267;
		break;
	}
}

function SF_coalMine {
	if (!(SF_check(0x80, $@kewd_coalMines, 3, @map$, 1, "mjolnir_02.gat")))
		return;
	if ($@kewd_deep == 0)
		set @submenu, 2;
	else if ($@kewd_showOnline) {
		set @submenu, select(
			"- Cancel warp to the Mjolnir Dead Pit",
			"- Entrance ("+@cost+"z/"+getmapusers("mjo_dun01.gat")+" "+$@ked_users$+")",
			"- Level 2 ("+@cost2+"z/"+getmapusers("mjo_dun02.gat")+" "+$@ked_users$+")",
			"- Level 3 ("+@cost3+"z/"+getmapusers("mjo_dun03.gat")+" "+$@ked_users$+")"
		);
	} else {
		set @submenu, select(
			"- Cancel warp to the Mjolnir Dead Pit",
			"- Entrance ("+@cost+"z)",
			"- Level 2 ("+@cost2+"z)",
			"- Level 3 ("+@cost3+"z)"
		);
	}
	switch (@submenu) {
	case 2:	
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"mjolnir_02.gat",89,358;
		break;
	case 3:	
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"mjo_dun02.gat",376,342;
		break;
	case 4:
		callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"mjo_dun03.gat",305,260;
		break;
	}
}

function SF_culvert {
	if (!(SF_check(0x100, $@kewd_culvert, 4, @map$, 1, "prt_fild05.gat")))
		return;
	if ($@kewd_deep == 0) {
		set @submenu, 2;
	} else if ($@kewd_showOnline) {
		set @submenu, select(
			"- Cancel warp to the Prontera Culvert",
			"- Entrance ("+@cost+"z/"+getmapusers("prt_sewb1.gat")+" "+$@ked_users$+")",
			"- Level 2 ("+@cost2+"z/"+getmapusers("prt_sewb2.gat")+" "+$@ked_users$+")",
			"- Level 3 ("+@cost3+"z/"+getmapusers("prt_sewb3.gat")+" "+$@ked_users$+")",
			"- Level 4 ("+@cost4+"z/"+getmapusers("prt_sewb4.gat")+" "+$@ked_users$+")"
		);
	} else {
		set @submenu, select(
			"- Cancel warp to the Prontera Culvert",
			"- Entrance ("+@cost+"z)",
			"- Level 2 ("+@cost2+"z)",
			"- Level 3 ("+@cost3+"z)",
			"- Level 4 ("+@cost4+"z)"
		);
	}
	switch (@submenu) {
	case 2:	
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"prt_fild05.gat",274,208;
		break;
	case 3:	
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"prt_sewb2.gat",19,19;
		break;
	case 4:
		callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"prt_sewb3.gat",180,169;
		break;
	case 5:
		callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"prt_sewb4.gat",100,92;
		break;
	}
}

function SF_einbech {
	if (!(SF_check(0x200, $@kewd_einbech, 2, @map$, 1, "einbech.gat")))
		return;
	if ($@kewd_deep == 0)
		set @submenu, 2;
	else if ($@kewd_showOnline) {
		set @submenu, select(
			"- Cancel warp to the Einbroch Mines",
			"- Entrance ("+@cost+"z/"+getmapusers("ein_dun01.gat")+" "+$@ked_users$+")",
			"- Level 2 ("+@cost2+"z/"+getmapusers("ein_dun02.gat")+" "+$@ked_users$+")"
		);
	} else {
		set @submenu, select(
			"- Cancel warp to the Einbech Mines",
			"- Entrance ("+@cost+"z)",
			"- Level 2 ("+@cost2+"z)"
		);
	}
	switch (@submenu) {
	case 2:
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"einbech.gat",138,244;
		break;
	case 3:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"ein_dun02.gat",290,285;
		break;
	}
}

function SF_geffen {
	if (!(SF_check(0x800, $@kewd_geffen, 3, @map$, 1, "gef_tower.gat")))
		return;
	if ($@kewd_deep == 0)
		set @submenu, 2;
	else if ($@kewd_showOnline) {
		set @submenu, select(
			"- Cancel warp to Geffen Dungeon",
			"- Entrance ("+@cost+"z/"+getmapusers("gef_dun00.gat")+" "+$@ked_users$+")",
			"- Level 1 ("+@cost2+"z/"+getmapusers("gef_dun01.gat")+" "+$@ked_users$+")",
			"- Level 2 ("+@cost3+"z/"+getmapusers("gef_dun02.gat")+" "+$@ked_users$+")"
//			"- Level 3 ("+@cost4+"z/"+getmapusers("gef_dun03.gat")+" "+$@ked_users$+")"
		);
	} else {
		set @submenu, select(
			"- Cancel warp to Geffen Dungeon",
			"- Entrance ("+@cost+"z)",
			"- Level 1 ("+@cost2+"z)",
			"- Level 2 ("+@cost3+"z)"
//			"- Level 3 ("+@cost4+"z)"
		);
	}
	switch (@submenu) {
	case 2:
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"gef_tower.gat",147,35;
		break;
	case 3:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"gef_dun01.gat",115,236;
		break;
	case 4:
		callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"gef_dun02.gat",106,132;
		break;
	case 5:
		callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"gef_dun03.gat",203,200;
		break;
	}
}

function SF_gefenia {
	if (!(SF_check(0x400, $@kewd_gefenia, 2, @map$, 4, "gefenia01.gat","gefenia02.gat","gefenia03.gat","gefenia04.gat")))
		return;
	if ($@kewd_deep == 0)
		set @submenu, 2;
	else if ($@kewd_showOnline) {
		set @submenu, select(
			"- Cancel warp to Gefenia",
			"- Level 1 ("+@cost+"z/"+getmapusers("gefenia01.gat")+" "+$@ked_users$+")",
			"- Level 2 ("+@cost2+"z/"+getmapusers("gefenia02.gat")+" "+$@ked_users$+")",
			"- Level 3 ("+@cost2+"z/"+getmapusers("gefenia03.gat")+" "+$@ked_users$+")",
			"- Level 4 ("+@cost+"z/"+getmapusers("gefenia04.gat")+" "+$@ked_users$+")"
		);
	} else {
		set @submenu, select(
			"- Cancel warp to Gefenia",
			"- Level 1 ("+@cost+"z)",
			"- Level 2 ("+@cost2+"z)",
			"- Level 3 ("+@cost2+"z)",
			"- Level 4 ("+@cost+"z)"
		);
	}
	switch (@submenu) {
	case 2:	
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"gefenia01.gat",60,169;
		break;
	case 3:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"gefenia02.gat",116,116;
		break;
	case 4:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"gefenia03.gat",119,277;
		break;
	case 5:
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"gefenia04.gat",129,86;
		break;
	}
}

function SF_glastHeim {
	if (!(SF_check(0x1000, $@kewd_glastHeim, 7, @map$, 1, "glast_01.gat")))
		return;
	if ($@kewd_deep == 0) {
		if ($@kewd_showOnline) {
			set @submenu, select(
				"- Cancel warp to Glast Heim",
				"- Church Entrance ("+@cost+"z/"+getmapusers("gl_church.gat")+" "+$@ked_users$+")",
				"- Castle Terrace ("+@cost+"z/"+(getmapusers("gl_cas01.gat")+getmapusers("gl_cas02.gat"))+" "+$@ked_users$+")",
				"- Staircase Entrance ("+@cost+"z/"+getmapusers("gl_step.gat")+" "+$@ked_users$+")",
				"- Chivalry Entrance ("+@cost+"z/"+getmapusers("gl_knt01.gat")+" "+$@ked_users$+")"
			);
		} else {
			set @submenu, select(
				"- Cancel warp to Glast Heim",
				"- Church Entrance ("+@cost+"z)",
				"- Castle Terrace ("+@cost+"z)",
				"- Staircase Entrance ("+@cost+"z)",
				"- Chivalry Entrance ("+@cost+"z)"
			);
		}
		if (@submenu > 2) //Churchyard is index 3.
			set @submenu, @submenu+1;
	} else if ($@kewd_showOnline) {
		set @submenu, select(
			"- Cancel warp to Glast Heim",
			"- Church Entrance ("+@cost+"z/"+getmapusers("gl_church.gat")+" "+$@ked_users$+")",
			"- Churchyard ("+@cost2+"z/"+getmapusers("gl_chyard.gat")+" "+$@ked_users$+")",
			"- Castle Terrace ("+@cost+"z/"+(getmapusers("gl_cas01.gat")+getmapusers("gl_cas02.gat"))+" "+$@ked_users$+")",
			"- Staircase Entrance ("+@cost+"z/"+getmapusers("gl_step.gat")+" "+$@ked_users$+")",
			"- Chivalry Entrance ("+@cost+"z/"+getmapusers("gl_knt01.gat")+" "+$@ked_users$+")",
			"- Chivalry Level 2 ("+@cost2+"z/"+getmapusers("gl_knt02.gat")+" "+$@ked_users$+")",
			"- Underground Prison 1 ("+@cost2+"z/"+getmapusers("gl_prison.gat")+" "+$@ked_users$+")",
			"- Underground Prison 2 ("+@cost3+"z/"+getmapusers("gl_prison1.gat")+" "+$@ked_users$+")",
			"- Culvert Level 1 ("+@cost4+"z/"+getmapusers("gl_sew01.gat")+" "+$@ked_users$+")",
			"- Culvert Level 2 ("+@cost3+"z/"+getmapusers("gl_sew02.gat")+" "+$@ked_users$+")",
			"- Culvert Level 3 ("+@cost4+"z/"+getmapusers("gl_sew03.gat")+" "+$@ked_users$+")",
			"- Culvert Level 4 ("+@cost5+"z/"+getmapusers("gl_sew04.gat")+" "+$@ked_users$+")",
			"- Underground Cave 1 ("+@cost6+"z/"+getmapusers("gl_dun01.gat")+" "+$@ked_users$+")",
			"- Underground Cave 2 ("+@cost7+"z/"+getmapusers("gl_dun02.gat")+" "+$@ked_users$+")"
		);
	} else {
		set @submenu, select(
			"- Cancel warp to Glast Heim",
			"- Church Entrance ("+@cost+"z)",
			"- Churchyard ("+@cost2+"z)",
			"- Castle Terrace ("+@cost+"z)",
			"- Staircase Entrance ("+@cost+"z)",
			"- Chivalry Entrance ("+@cost+"z)",
			"- Chivalry Level 2 ("+@cost2+"z)",
			"- Underground Prison Level 1 ("+@cost2+"z)",
			"- Underground Prison Level 2 ("+@cost3+"z)",
			"- Culvert Level 1 ("+@cost4+"z)",
			"- Culvert Level 2 ("+@cost3+"z)",
			"- Culvert Level 3 ("+@cost4+"z)",
			"- Culvert Level 4 ("+@cost5+"z)",
			"- Underground Cave Level 1 ("+@cost6+"z)",
			"- Underground Cave Level 2 ("+@cost7+"z)"
		);
	}
	switch (@submenu) {	
	case 2:
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"glast_01.gat",206,136;
		break;
	case 3:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"gl_chyard.gat",147,15;
		break;
	case 4:
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"glast_01.gat",199,335;
		break;
	case 5:
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"glast_01.gat",62,107;
		break;
	case 6:
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"glast_01.gat",69,193;
		break;
	case 7:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"gl_knt02.gat",157,287;
		break;
	case 8:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"gl_prison.gat",14,70;
		break;
	case 9:
		callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"gl_prison1.gat",150,14;
		break;
	case 10:
		callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"gl_sew01.gat",258,255;
		break;
	case 11:
		callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"gl_sew02.gat",108,291;
		break;
	case 12:
		callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"gl_sew03.gat",171,283;
		break;
	case 13:
		callfunc "F_keWarp",@cost5*100/@discountKP,$@kewd_discount,e_hmm,"gl_sew04.gat",68,277;
		break;
	case 14:
		callfunc "F_keWarp",@cost6*100/@discountKP,$@kewd_discount,e_hmm,"gl_dun01.gat",133,271;
		break;
	case 15:
		callfunc "F_keWarp",@cost7*100/@discountKP,$@kewd_discount,e_hmm,"gl_dun02.gat",224,274;
		break;
	}
}

function SF_gonRyun {
	if (!(SF_check(0x2000, $@kewd_gonRyun, 3, @map$, 1, "gonryun.gat")))
		return;
	if ($@kewd_deep == 0)
		set @submenu, 2;
	else if ($@kewd_showOnline) {
		set @submenu, select(
			"- Cancel warp to Gon Ryun Dungeon",
			"- Entrance ("+@cost+"z/"+getmapusers("gon_dun01.gat")+" "+$@ked_users$+")",
			"- Level 2 ("+@cost2+"z/"+getmapusers("gon_dun02.gat")+" "+$@ked_users$+")",
			"- Level 3 ("+@cost3+"z/"+getmapusers("gon_dun03.gat")+" "+$@ked_users$+")"
		);
	} else {
		set @submenu, select(
			"- Cancel warp to Gon Ryun Dungeon",
			"- Entrance ("+@cost+"z)",
			"- Level 2 ("+@cost2+"z)",
			"- Level 3 ("+@cost3+"z)"
		);
	}
	switch (@submenu) {
	case 2:
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"gonryun.gat",161,195;
		break;
	case 3:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"gon_dun02.gat",22,114;
		break;
	case 4:
		callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"gon_dun03.gat",68,11;
		break;
	}
}

function SF_hiddenTemple {
	if (!(SF_check(0x4000, $@kewd_hiddenTemple, 3, @map$, 1, "prt_fild01.gat")))
		return;
	if ($@kewd_deep == 0)
		set @submenu, 2;
	else if ($@kewd_showOnline) {
		set @submenu, select(
			"- Cancel warp to the Laberynth Forest",
			"- Entrance ("+@cost+"z/"+getmapusers("prt_maze01.gat")+" "+$@ked_users$+")",
			"- Level 2 ("+@cost2+"z/"+getmapusers("prt_maze02.gat")+" "+$@ked_users$+")",
			"- Level 3 ("+@cost3+"z/"+getmapusers("prt_maze03.gat")+" "+$@ked_users$+")"
		);	
	} else {
		set @submenu, select(
			"- Cancel warp to the Laberynth Forest",
			"- Entrance ("+@cost+"z)",
			"- Level 2 ("+@cost2+"z)",
			"- Level 3 ("+@cost3+"z)"
		);
	}
	switch (@submenu) {
	case 2:	
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"prt_fild01.gat",136,361;
		break;
	case 3:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"prt_maze02.gat",106,62;
		break;
	case 4:
		callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"prt_maze03.gat",23,8;
		break;
	}
}

function SF_juperos {
	if (!(SF_check(0x8000, $@kewd_juperos, 3, @map$, 1, "jupe_cave.gat")))
		return;
	if ($@kewd_deep == 0)
		set @submenu, 2;
	else if ($@kewd_showOnline) {
		set @submenu, select(
			"- Cancel warp to Juperos",
			"- Entrance ("+@cost+"z/"+getmapusers("juperos_01.gat")+" "+$@ked_users$+")",
			"- Level 2 ("+@cost2+"z/"+getmapusers("juperos_02.gat")+" "+$@ked_users$+")",
			"- Core ("+@cost3+"z/"+getmapusers("jupe_core.gat")+" "+$@ked_users$+")"
		);	
	} else {
		set @submenu, select(
			"- Cancel warp to Juperos",
			"- Entrance ("+@cost+"z)",
			"- Level 2 ("+@cost2+"z)",
			"- Core ("+@cost3+"z)"
		);
	}
	switch (@submenu) {
	case 2:	
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"jupe_cave.gat",55,52;
		break;
	case 3:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"juperos_02.gat",37,63;
		break;
	case 4:
		callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"jupe_gate.gat",-1,-1;
		break;
	}
}

function SF_kiehl {
	if (!(SF_check(0x400, $@kewd_kiehl, 3, @map$, 1, "yuno_fild08.gat")))
		return;
	if ($@kewd_deep == 0)
		set @submenu, 2;
	else if ($@kewd_showOnline) {
		set @submenu, select(
				"- Cancel warp to Machine Doll Factory",
				"- Entrance ("+@cost+"z/"+getmapusers("kh_dun01.gat")+" "+$@ked_users$+")",
				"- Level 2 ("+@cost2+"z/"+getmapusers("kh_dun02.gat")+" "+$@ked_users$+")"
		);
	} else {
		set @submenu, select(
			"- Cancel warp to Machine Doll Factory",
			"- Entrance ("+@cost+"z)",
			"- Level 2 ("+@cost2+"z)"
		);
	}
	switch (@submenu) {	
	case 2:
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"yuno_fild08.gat",80,179;
		break;
	case 3:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"kh_dun02.gat",41,198;
		break;
	}
}

function SF_iceCave {
	if (!(SF_check(0x20000000, $@kewd_iceCave, 3, @map$, 1, "ra_fild01.gat")))
		return;
	if ($@kewd_deep == 0)
		set @submenu, 2;
	else if ($@kewd_showOnline) {
		set @submenu, select(
			"- Cancel warp to the Ice Cave",
			"- Entrance ("+@cost+"z/"+getmapusers("ice_dun01.gat")+" "+$@ked_users$+")",
			"- Level 2 ("+@cost2+"z/"+getmapusers("ice_dun02.gat")+" "+$@ked_users$+")",
			"- Level 3 ("+@cost3+"z/"+getmapusers("ice_dun03.gat")+" "+$@ked_users$+")"
		);	
	} else {
		set @submenu, select(
			"- Cancel warp to the Ice Cave",
			"- Entrance ("+@cost+"z)",
			"- Level 2 ("+@cost2+"z)",
			"- Level 3 ("+@cost3+"z)"
		);
	}
	switch (@submenu) {
	case 2:	
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"ra_fild01.gat",233,319;
		break;
	case 3:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"ice_dun02.gat",151,151;
		break;
	case 4:
		callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"ice_dun03.gat",148,25;
		break;
	}
}

function SF_lightHalzen {
	if (!(SF_check(0x10000, $@kewd_lightHalzen, 3, @map$, 1, "lighthalzen.gat")))
		return;
	if ($@kewd_deep == 0)
		set @submenu, 2;
	else if ($@kewd_showOnline) {
		set @submenu, select(
				"- Cancel warp to the Rekkenber",
				"- Entrance ("+@cost+"z/"+getmapusers("lhz_dun01.gat")+" "+$@ked_users$+")",
				"- Level 2 ("+@cost2+"z/"+getmapusers("lhz_dun02.gat")+" "+$@ked_users$+")",
				"- Level 3 ("+@cost3+"z/"+getmapusers("lhz_dun03.gat")+" "+$@ked_users$+")"
		);
	} else {
		set @submenu, select(
			"- Cancel warp to the Rekkenber",
			"- Entrance ("+@cost+"z)",
			"- Level 2 ("+@cost2+"z)",
			"- Level 3 ("+@cost3+"z)"
		);
	}
	switch (@submenu) {	
	case 2:
//This is the Rekkenber building entrance, which officially is only a dungeon exit.
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"lighthalzen.gat",74,72;
//		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"lighthalzen.gat",303,302;
		break;
	case 3:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"lhz_dun02.gat",154,18;
		break;
	case 4:
		callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"lhz_dun03.gat",141,132;
		break;
	}
}

function SF_louYang {
	if (!(SF_check(0x20000, $@kewd_louYang, 3, @map$, 1, "louyang.gat")))
		return;
	if ($@kewd_deep == 0)
		set @submenu, 2;
	else if ($@kewd_showOnline) {
		set @submenu, select(
			"- Cancel warp to the Royal Tomb",
			"- Entrance ("+@cost+"z/"+getmapusers("lou_dun01.gat")+" "+$@ked_users$+")",
			"- Level 2 ("+@cost2+"z/"+getmapusers("lou_dun02.gat")+" "+$@ked_users$+")",
			"- Level 3 ("+@cost3+"z/"+getmapusers("lou_dun03.gat")+" "+$@ked_users$+")"
		);
	} else {
		set @submenu, select(
			"- Cancel warp to the Royal Tomb",
			"- Entrance ("+@cost+"z)",
			"- Level 2 ("+@cost2+"z)",
			"- Level 3 ("+@cost3+"z)"
		);
	};
	switch (@submenu) {
	case 2:	
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"louyang.gat",41,267;
		break;
	case 3:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"lou_dun02.gat",281,20;
		break;
	case 4:
		callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"lou_dun03.gat",165,39;
		break;
	}
}

function SF_magma {
	if (!(SF_check(0x40000, $@kewd_magma, 2, @map$, 1, "yuno_fild03.gat")))
		return;
	if ($@kewd_deep == 0)
		set @submenu, 2;
	else if ($@kewd_showOnline) {
		set @submenu, select(
			"- Cancel warp to Nogg Road",
			"- Entrance ("+@cost+"z/"+getmapusers("mag_dun01.gat")+" "+$@ked_users$+")",
			"- Level 2 ("+@cost2+"z/"+getmapusers("mag_dun02.gat")+" "+$@ked_users$+")"
		);
	} else {
		set @submenu, select(
			"- Cancel warp to Nogg Road",
			"- Entrance ("+@cost+"z)",
			"- Level 2 ("+@cost2+"z)"
		);
	}
	switch (@submenu) {
	case 2:
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"yuno_fild03.gat",35,135;
		break;
	case 3:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"mag_dun02.gat",47,30;
		break;
	}
}

function SF_odin {
	if (!(SF_check(0x10000000, $@kewd_odin, 5, @map$, 1, "odin_tem01.gat")))
		return;
	if ($@kewd_deep == 0)
		set @submenu, 2;
	else if ($@kewd_showOnline) {
		set @submenu, select(
			"- Cancel warp to the Odin Temple",
			"- Entrance ("+@cost+"z/"+getmapusers("odin_tem01.gat")+" "+$@ked_users$+")",
			"- Level 2 ("+@cost2+"z/"+getmapusers("odin_tem02.gat")+" "+$@ked_users$+")",
			"- Level 3 ("+@cost3+"z/"+getmapusers("odin_tem03.gat")+" "+$@ked_users$+")"
		);
	} else {
		set @submenu, select(
			"- Cancel warp to the Odin Temple",
			"- Entrance ("+@cost+"z)",
			"- Level 2 ("+@cost2+"z)",
			"- Level 3 ("+@cost3+"z)"
		);
	}
	switch (@submenu) {	
	case 2:
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"odin_tem01.gat",91,145;
		break;
	case 3:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"odin_tem02.gat",25,181;
		break;
	case 4:
		callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"odin_tem03.gat",120,54;
		break;
	}
}

function SF_orcs {
	if (!(SF_check(0x80000, $@kewd_orc, 2, @map$, 1, "gef_fild10.gat")))
		return;
	if ($@kewd_showOnline) {
		set @submenu, select(
			"- Cancel warp to Orcs Dungeon",
			"- Front Entrance ("+@cost+"z/"+getmapusers("orcsdun01.gat")+" "+$@ked_users$+")",
			"- Back Entrance ("+@cost+"z/"+getmapusers("orcsdun02.gat")+" "+$@ked_users$+")"
		);
	} else {
		set @submenu, select(
			"- Cancel warp to Orcs Dungeon",
			"- Front Entrance ("+@cost+"z)",
			"- Back Entrance ("+@cost+"z)"
		);
	}
	switch (@submenu) {
	case 2:
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"in_orcs01.gat",34,165;
		break;
	case 3:
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"in_orcs01.gat",112,99;
		break;
	}
}

function SF_payon {
	if (!(SF_check(0x100000, $@kewd_payon, 5, @map$, 1, "pay_arche.gat")))
		return;
	if ($@kewd_deep == 0)
		set @submenu, 2;
	else if ($@kewd_showOnline) {
		set @submenu, select(
			"- Cancel warp to the Payon Cave",
			"- Entrance ("+@cost+"z/"+getmapusers("pay_dun00.gat")+" "+$@ked_users$+")",
			"- Level 2 ("+@cost2+"z/"+getmapusers("pay_dun01.gat")+" "+$@ked_users$+")",
			"- Level 3 ("+@cost3+"z/"+getmapusers("pay_dun02.gat")+" "+$@ked_users$+")",
			"- Level 4 ("+@cost4+"z/"+getmapusers("pay_dun03.gat")+" "+$@ked_users$+")",
			"- Level 5 ("+@cost5+"z/"+getmapusers("pay_dun04.gat")+" "+$@ked_users$+")"
		);
	} else {
		set @submenu, select(
			"- Cancel warp to the Payon Cave",
			"- Entrance ("+@cost+"z)",
			"- Level 2 ("+@cost2+"z)",
			"- Level 3 ("+@cost3+"z)",
			"- Level 4 ("+@cost4+"z)",
			"- Level 5 ("+@cost5+"z)"
		);
	}
	switch (@submenu) {	
	case 2:
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"pay_arche.gat",41,133;
		break;
	case 3:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"pay_dun01.gat",19,33;
		break;
	case 4:
		callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"pay_dun02.gat",19,63;
		break;
	case 5:
		callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"pay_dun03.gat",155,159;
		break;
	case 6:
		callfunc "F_keWarp",@cost5*100/@discountKP,$@kewd_discount,e_hmm,"pay_dun04.gat",34,202;
		break;
	}
}

function SF_pyramid {
	if (!(SF_check(0x200000, $@kewd_pyramid, 4, @map$,1, "moc_ruins.gat")))
		return;
	if ($@kewd_deep == 0)
		set @submenu, 2;
	else if ($@kewd_showOnline) {
		set @submenu, select(
			"- Cancel warp to the Pyramid",
			"- Entrance ("+@cost+"z/"+getmapusers("moc_pryd01.gat")+" "+$@ked_users$+")",
			"- Level 2 ("+@cost2+"z/"+getmapusers("moc_pryd02.gat")+" "+$@ked_users$+")",
			"- Level 3 ("+@cost3+"z/"+getmapusers("moc_pryd03.gat")+" "+$@ked_users$+")",
			"- Level 4 ("+@cost4+"z/"+getmapusers("moc_pryd04.gat")+" "+$@ked_users$+")",
			"- Basement 1 ("+@cost2+"z/"+getmapusers("moc_pryd05.gat")+" "+$@ked_users$+")",
			"- Basement 2 ("+@cost3+"z/"+getmapusers("moc_pryd06.gat")+" "+$@ked_users$+")"
		);
	} else {
		set @submenu, select(
			"- Cancel warp to the Pyramid",
			"- Entrance ("+@cost+"z)",
			"- Level 2 ("+@cost2+"z)",
			"- Level 3 ("+@cost3+"z)",
			"- Level 4 ("+@cost4+"z)",
			"- Basement 1 ("+@cost2+"z)",
			"- Basement 2 ("+@cost3+"z)"
		);
	}
	switch (@submenu) {	
	case 2:
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"moc_ruins.gat",62,162;
		break;
	case 3:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"moc_pryd02.gat",10,192;
		break;
	case 4:
		callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"moc_pryd03.gat",100,92;
		break;
	case 5:
		callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"moc_pryd04.gat",18,187;
		break;
	case 6:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"moc_pryd05.gat",94,96;
		break;
	case 7:
		callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"moc_pryd06.gat",192,11;
		break;
	}
}

function SF_rachel {
	if (!(SF_check(0x40000000, $@kewd_rachel, 5, @map$, 1, "ra_temin.gat")))
		return;
	if ($@kewd_deep == 0)
		set @submenu, 2;
	else if ($@kewd_showOnline) {
		set @submenu, select(
			"- Cancel warp to Freya's Temple",
			"- Entrance ("+@cost+"z/"+getmapusers("ra_san01.gat")+" "+$@ked_users$+")",
			"- Level 2 ("+@cost2+"z/"+getmapusers("ra_san02.gat")+" "+$@ked_users$+")",
			"- Level 3 ("+@cost3+"z/"+getmapusers("ra_san03.gat")+" "+$@ked_users$+")",
			"- Level 4 ("+@cost4+"z/"+getmapusers("ra_san04.gat")+" "+$@ked_users$+")",
			"- Level 5 ("+@cost5+"z/"+getmapusers("ra_san05.gat")+" "+$@ked_users$+")"
		);
	} else {
		set @submenu, select(
			"- Cancel warp to Freya's Temple",
			"- Entrance ("+@cost+"z)",
			"- Level 2 ("+@cost2+"z)",
			"- Level 3 ("+@cost3+"z)",
			"- Level 4 ("+@cost4+"z)",
			"- Level 5 ("+@cost5+"z)"
		);
	}

	switch (@submenu) {
	case 2:
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"ra_temin.gat",276,318;
		break;
	case 3:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"ra_san02.gat",36,21;
		break;
	case 4:
		callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"ra_san03.gat",10,150;
		break;
	case 5:
		callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"ra_san04.gat",204,216;
		break;
	case 6:
		callfunc "F_keWarp",@cost5*100/@discountKP,$@kewd_discount,e_hmm,"ra_san05.gat",149,16;
		break;
	}
}

function SF_sphinx {
	if (!(SF_check(0x400000, $@kewd_sphinx, 5, @map$, 1, "moc_fild19.gat")))
		return;
	if ($@kewd_deep == 0)
		set @submenu, 2;
	else if ($@kewd_showOnline) {
		set @submenu, select(
			"- Cancel warp to the Sphinx",
			"- Entrance ("+@cost+"z/"+getmapusers("in_sphinx1.gat")+" "+$@ked_users$+")",
			"- Level 2 ("+@cost2+"z/"+getmapusers("in_sphinx2.gat")+" "+$@ked_users$+")",
			"- Level 3 ("+@cost3+"z/"+getmapusers("in_sphinx3.gat")+" "+$@ked_users$+")",
			"- Level 4 ("+@cost4+"z/"+getmapusers("in_sphinx4.gat")+" "+$@ked_users$+")",
			"- Level 5 ("+@cost5+"z/"+getmapusers("in_sphinx5.gat")+" "+$@ked_users$+")"
		);
	} else {
		set @submenu, select(
			"- Cancel warp to the Sphinx",
			"- Entrance ("+@cost+"z)",
			"- Level 2 ("+@cost2+"z)",
			"- Level 3 ("+@cost3+"z)",
			"- Level 4 ("+@cost4+"z)",
			"- Level 5 ("+@cost5+"z)"
		);
	}

	switch (@submenu) {
	case 2:
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"moc_fild19.gat",107,100;
		break;
	case 3:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"in_sphinx2.gat",149,81;
		break;
	case 4:
		callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"in_sphinx3.gat",210,54;
		break;
	case 5:
		callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"in_sphinx4.gat",10,222;
		break;
	case 6:
		callfunc "F_keWarp",@cost5*100/@discountKP,$@kewd_discount,e_hmm,"in_sphinx5.gat",100,99;
		break;
	}
}

function SF_sunkenShip {
	if (!(SF_check(0x800000, $@kewd_sunkenShip, 2, @map$, 1, "alb2trea.gat")))
		return;
	if ($@kewd_deep == 0)
		set @submenu, 2;
	else if ($@kewd_showOnline) {
		set @submenu, select(
			"- Cancel warp to Sunken Ship",
			"- Entrance ("+@cost+"z/"+getmapusers("treasure01.gat")+" "+$@ked_users$+")",
			"- Level 2 ("+@cost2+"z/"+getmapusers("treasure02.gat")+" "+$@ked_users$+")"
		);
	} else {
		set @submenu, select(
			"- Cancel warp to Sunken Ship",
			"- Entrance ("+@cost+"z)",
			"- Level 2 ("+@cost2+"z)"
		);
	}

	switch (@submenu) {
	case 2:
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"alb2trea.gat",87,103;
		break;
	case 3:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"treasure02.gat",102,27;
		break;
	}
}

function SF_thanatosTower {
	if (!(SF_check(0x1000000, $@kewd_thanatosTower, 13, @map$, 1, "tha_scene01.gat")))
		return;
	if ($@kewd_deep == 0)
		set @submenu, 2;
	else if ($@kewd_showOnline) {
		set @submenu, select(
			"- Cancel warp to Thanatos Tower",
			"- Entrance ("+@cost+"z/"+getmapusers("tha_t01.gat")+" "+$@ked_users$+")",
			"- Floor 2 ("+@cost2+"z/"+getmapusers("tha_t02.gat")+" "+$@ked_users$+")",
			"- Floor 3 ("+@cost3+"z/"+getmapusers("tha_t03.gat")+" "+$@ked_users$+")",
			"- Floor 4 ("+@cost4+"z/"+getmapusers("tha_t04.gat")+" "+$@ked_users$+")",
			"- Floor 5 ("+@cost5+"z/"+getmapusers("tha_t05.gat")+" "+$@ked_users$+")",
			"- Floor 6 ("+@cost6+"z/"+getmapusers("tha_t06.gat")+" "+$@ked_users$+")",
			"- Floor 7 ("+@cost7+"z/"+getmapusers("tha_t07.gat")+" "+$@ked_users$+")",
			"- Floor 8 ("+@cost8+"z/"+getmapusers("tha_t08.gat")+" "+$@ked_users$+")",
			"- Floor 9 ("+@cost9+"z/"+getmapusers("tha_t09.gat")+" "+$@ked_users$+")",
			"- Floor 10 ("+@cost10+"z/"+getmapusers("tha_t10.gat")+" "+$@ked_users$+")",
			"- Floor 11 ("+@cost11+"z/"+getmapusers("tha_t11.gat")+" "+$@ked_users$+")",
			"- Floor 12 ("+@cost12+"z/"+getmapusers("tha_t12.gat")+" "+$@ked_users$+")"
//			"- Terrace ("+@cost13+"z/"+getmapusers("thana_boss.gat")+" "+$@ked_users$+")"
		);
	} else {
		set @submenu, select(
			"- Cancel warp to Thanatos Tower",
			"- Entrance ("+@cost+"z)",
			"- Floor 2 ("+@cost2+"z)",
			"- Floor 3 ("+@cost3+"z)",
			"- Floor 4 ("+@cost4+"z)",
			"- Floor 5 ("+@cost5+"z)",
			"- Floor 6 ("+@cost6+"z)",
			"- Floor 7 ("+@cost7+"z)",
			"- Floor 8 ("+@cost8+"z)",
			"- Floor 9 ("+@cost9+"z)",
			"- Floor 10 ("+@cost10+"z)",
			"- Floor 11 ("+@cost11+"z)",
			"- Floor 12 ("+@cost12+"z)"
//			"- Terrace ("+@cost13+"z)"
		);
	}
	switch (@submenu) {
	case 2:	
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"tha_scene01.gat",139,201;
		break;
	case 3:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"tha_t02.gat",149,136;
		break;
	case 4:
		callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"tha_t03.gat",220,159;
		break;
	case 5:
		callfunc "F_keWarp",@cost4*100/@discountKP,$@kewd_discount,e_hmm,"tha_t04.gat",59,144;
		break;
	case 6:
		callfunc "F_keWarp",@cost5*100/@discountKP,$@kewd_discount,e_hmm,"tha_t05.gat",62,9;
		break;
	case 7:
		callfunc "F_keWarp",@cost6*100/@discountKP,$@kewd_discount,e_hmm,"tha_t06.gat",120,225;
		break;
	case 8:
		callfunc "F_keWarp",@cost7*100/@discountKP,$@kewd_discount,e_hmm,"tha_t07.gat",32,166;
		break;
	case 9:
		callfunc "F_keWarp",@cost8*100/@discountKP,$@kewd_discount,e_hmm,"tha_t08.gat",108,44;
		break;
	case 10:
		callfunc "F_keWarp",@cost9*100/@discountKP,$@kewd_discount,e_hmm,"tha_t09.gat",87,145;
		break;
	case 11:
		callfunc "F_keWarp",@cost10*100/@discountKP,$@kewd_discount,e_hmm,"tha_t10.gat",166,138;
		break;
	case 12:
		callfunc "F_keWarp",@cost11*100/@discountKP,$@kewd_discount,e_hmm,"tha_t11.gat",88,36;
		break;
	case 13:
		callfunc "F_keWarp",@cost12*100/@discountKP,$@kewd_discount,e_hmm,"tha_t12.gat",132,55;
		break;
	case 14:
		callfunc "F_keWarp",@cost13*100/@discountKP,$@kewd_discount,e_hmm,"thana_boss.gat",135,126;
		break;
	}
}

function SF_toyFactory {
	if (!(SF_check(0x2000000, $@kewd_toyFactory, 2, @map$, 1, "xmas.gat")))
		return;

	if ($@kewd_deep == 0)
		set @submenu, 2;
	else if ($@kewd_showOnline) {
		set @submenu, select(
			"- Cancel warp to Toy Factory",
			"- Entrance ("+@cost+"z/"+getmapusers("xmas_dun01.gat")+" "+$@ked_users$+")",
			"- Level 2 ("+@cost2+"z/"+getmapusers("xmas_dun02.gat")+" "+$@ked_users$+")"
		);
	} else {
		set @submenu, select(
			"- Cancel warp to Toy Factory",
			"- Entrance ("+@cost+"z)",
			"- Level 2 ("+@cost2+"z)"
		);
	}

	switch (@submenu) {
	case 2:
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"xmas.gat",144,306;
		break;
	case 3:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"xmas_dun02.gat",129,133;
		break;
	}
}

function SF_turtleIsland {
	if (!(SF_check(0x4000000, $@kewd_turtleIsland, 3, @map$, 1, "tur_dun01.gat")))
		return;
	if ($@kewd_deep == 0) {
		if ($@kewd_turtleCave)
			set @submenu, 3;
		else
			set @submenu, 2;
	} else if ($@kewd_showOnline) {
		set @submenu, select(
			"- Cancel warp to Turtle Island",
			"- Island Entrance ("+@cost+"z/"+getmapusers("tur_dun01.gat")+" "+$@ked_users$+")",
			"- Cave Entrance ("+@cost+"z/"+getmapusers("tur_dun02.gat")+" "+$@ked_users$+")",
			"- Cave Level 2 ("+@cost2+"z/"+getmapusers("tur_dun03.gat")+" "+$@ked_users$+")",
			"- Cave Level 3 ("+@cost3+"z/"+getmapusers("tur_dun04.gat")+" "+$@ked_users$+")"
		);
	} else {
		set @submenu, select(
			"- Cancel warp to Turtle Island",
			"- Island Entrance ("+@cost+"z)",
			"- Cave Entrance ("+@cost+"z)",
			"- Cave Level 2 ("+@cost2+"z)",
			"- Cave Level 3 ("+@cost3+"z)"
		);
	}
	switch (@submenu) {
	case 2:	
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"tur_dun01.gat",153,47;
		break;
	case 3:
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"tur_dun01.gat",155,234;
		break;
	case 4:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"tur_dun03.gat",132,189;
		break;
	case 5:
		callfunc "F_keWarp",@cost3*100/@discountKP,$@kewd_discount,e_hmm,"tur_dun04.gat",100,192;
		break;
	}
}

function SF_umbala {
	if (!(SF_check(0x8000000, $@kewd_umbala, 2, @map$, 1, "umbala.gat")))
		return;
	if ($@kewd_deep == 0)
		set @submenu, 2;
	else if ($@kewd_showOnline) {
		set @submenu, select(
			"- Cancel warp to Umbala Dungeon",
			"- Entrance ("+@cost+"z/"+getmapusers("um_dun01.gat")+" "+$@ked_users$+")",
			"- Level 2 ("+@cost2+"z/"+getmapusers("um_dun02.gat")+" "+$@ked_users$+")"
		);
	} else {
		set @submenu, select(
			"- Cancel warp to Umbala Dungeon",
			"- Entrance ("+@cost+"z)",
			"- Level 2 ("+@cost2+"z)"
		);
	}
	switch (@submenu) {
	case 2:
		callfunc "F_keWarp",@cost*100/@discountKP,$@kewd_discount,e_hmm,"umbala.gat",113,282;
		break;
	case 3:
		callfunc "F_keWarp",@cost2*100/@discountKP,$@kewd_discount,e_hmm,"um_dun02.gat",48,31;
		break;
	}
}

}

//Invoked when we want to add a map to the list of travelled-to dungeons
function	script	F_keAddTravelDungeon	{
	set @map$, getarg(0);
	if ($@kewd_travel > 1) {
		if (kewd_travel) {	//Copy over character permissions.
			set #kewd_travel,#kewd_travel|kewd_travel;
			set kewd_travel, 0;
		}

		if (@map$ == "hu_fild05.gat")
			set #kewd_travel,#kewd_travel|0x1;
		if (@map$ == "ama_in02.gat")
			set #kewd_travel,#kewd_travel|0x2;
		if (@map$ == "moc_fild04.gat" || @map$ == "moc_fild15.gat")
			set #kewd_travel,#kewd_travel|0x4;
		if (@map$ == "ayo_fild02.gat")
			set #kewd_travel,#kewd_travel|0x8;
		if (@map$ == "izlu2dun.gat")
			set #kewd_travel,#kewd_travel|0x10;
		if (@map$ == "comodo.gat" || @map$ == "cmd_fild01.gat")
			set #kewd_travel,#kewd_travel|0x20;
		if (@map$ == "aldebaran.gat")
			set #kewd_travel,#kewd_travel|0x40;
		if (@map$ == "mjolnir_02.gat")
			set #kewd_travel,#kewd_travel|0x80;
		if (@map$ == "prt_fild05.gat")
			set #kewd_travel,#kewd_travel|0x100;
		if (@map$ == "einbech.gat")
			set #kewd_travel,#kewd_travel|0x200;
		if (@map$ == "yuno_fild08.gat")
			set #kewd_travel,#kewd_travel|0x400;
		if (@map$ == "gef_tower.gat")
			set #kewd_travel,#kewd_travel|0x800;
		if (@map$ == "glast_01.gat")
			set #kewd_travel,#kewd_travel|0x1000;
		if (@map$ == "gonryun.gat")
			set #kewd_travel,#kewd_travel|0x2000;
		if (@map$ == "prt_fild01.gat")
			set #kewd_travel,#kewd_travel|0x4000;
		if (@map$ == "jupe_cave.gat")
			set #kewd_travel,#kewd_travel|0x8000;
		if (@map$ == "lighthalzen.gat")
			set #kewd_travel,#kewd_travel|0x10000;
		if (@map$ == "louyang.gat")
			set #kewd_travel,#kewd_travel|0x20000;
		if (@map$ == "yuno_fild03.gat")
			set #kewd_travel,#kewd_travel|0x40000;
		if (@map$ == "in_orcs01.gat")
			set #kewd_travel,#kewd_travel|0x80000;
		if (@map$ == "pay_arche.gat")
			set #kewd_travel,#kewd_travel|0x100000;
		if (@map$ == "moc_ruins.gat")
			set #kewd_travel,#kewd_travel|0x200000;
		if (@map$ == "moc_fild19.gat")
			set #kewd_travel,#kewd_travel|0x400000;
		if (@map$ == "alb2trea.gat")
			set #kewd_travel,#kewd_travel|0x800000;
		if (@map$ == "tha_scene01.gat")
			set #kewd_travel,#kewd_travel|0x1000000;
		if (@map$ == "xmas.gat")
			set #kewd_travel,#kewd_travel|0x2000000;
		if (@map$ == "tur_dun01.gat")
			set #kewd_travel,#kewd_travel|0x4000000;
		if (@map$ == "umbala.gat")
			set #kewd_travel,#kewd_travel|0x8000000;
		if (@map$ == "odin_tem01.gat")
			set #kewd_travel,#kewd_travel|0x10000000;
		if (@map$ == "ra_fild01.gat")
			set #kewd_travel,#kewd_travel|0x20000000;
		if (@map$ == "ra_temin.gat")
			set #kewd_travel,#kewd_travel|0x40000000;
	} else {
		if (@map$ == "hu_fild05.gat")
			set kewd_travel,kewd_travel|0x1;
		if (@map$ == "ama_in02.gat")
			set kewd_travel,kewd_travel|0x2;
		if (@map$ == "moc_fild04.gat" || @map$ == "moc_fild15.gat")
			set kewd_travel,kewd_travel|0x4;
		if (@map$ == "ayo_fild02.gat")
			set kewd_travel,kewd_travel|0x8;
		if (@map$ == "izlu2dun.gat")
			set kewd_travel,kewd_travel|0x10;
		if (@map$ == "comodo.gat" || @map$ == "cmd_fild01.gat")
			set kewd_travel,kewd_travel|0x20;
		if (@map$ == "aldebaran.gat")
			set kewd_travel,kewd_travel|0x40;
		if (@map$ == "mjolnir_02.gat")
			set kewd_travel,kewd_travel|0x80;
		if (@map$ == "prt_fild05.gat")
			set kewd_travel,kewd_travel|0x100;
		if (@map$ == "einbech.gat")
			set kewd_travel,kewd_travel|0x200;
		if (@map$ == "yuno_fild08.gat")
			set kewd_travel,kewd_travel|0x400;
		if (@map$ == "gef_tower.gat")
			set kewd_travel,kewd_travel|0x800;
		if (@map$ == "glast_01.gat")
			set kewd_travel,kewd_travel|0x1000;
		if (@map$ == "gonryun.gat")
			set kewd_travel,kewd_travel|0x2000;
		if (@map$ == "prt_fild01.gat")
			set kewd_travel,kewd_travel|0x4000;
		if (@map$ == "jupe_cave.gat")
			set kewd_travel,kewd_travel|0x8000;
		if (@map$ == "lighthalzen.gat")
			set kewd_travel,kewd_travel|0x10000;
		if (@map$ == "louyang.gat")
			set kewd_travel,kewd_travel|0x20000;
		if (@map$ == "yuno_fild03.gat")
			set kewd_travel,kewd_travel|0x40000;
		if (@map$ == "in_orcs01.gat")
			set kewd_travel,kewd_travel|0x80000;
		if (@map$ == "pay_arche.gat")
			set kewd_travel,kewd_travel|0x100000;
		if (@map$ == "moc_ruins.gat")
			set kewd_travel,kewd_travel|0x200000;
		if (@map$ == "moc_fild19.gat")
			set kewd_travel,kewd_travel|0x400000;
		if (@map$ == "alb2trea.gat")
			set kewd_travel,kewd_travel|0x800000;
		if (@map$ == "tha_scene01.gat")
			set kewd_travel,kewd_travel|0x1000000;
		if (@map$ == "xmas.gat")
			set kewd_travel,kewd_travel|0x2000000;
		if (@map$ == "tur_dun01.gat")
			set kewd_travel,kewd_travel|0x4000000;
		if (@map$ == "umbala.gat")
			set kewd_travel,kewd_travel|0x8000000;
		if (@map$ == "odin_tem01.gat")
			set kewd_travel,kewd_travel|0x10000000;
		if (@map$ == "ra_fild01.gat")
			set kewd_travel,kewd_travel|0x20000000;
		if (@map$ == "ra_temin.gat")
			set kewd_travel,kewd_travel|0x40000000;
	}
	return;
}