summaryrefslogblamecommitdiff
path: root/npc/re/instances/OldGlastHeim.txt
blob: a1d6884f96c4705900aaf83e8a5c3ad25c8f2be5 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11










                                                                           


                                              
















                                                                           
                  



                                                                           
       
                                                                           
 
                                                                    


















































                                                                                                                              
             
                                              
                                                      

                                                     


                                                                                                        

                              

                                                   
                                                                             
                                                       
                    

                                                                             
                       
                                                                                     

                                                                             
                                             
                                                                  
                                                                               
                                                                                           

                                      

                                                                                                                               


                                                             
                                                                    
                                                  

                                                                                              

                              


                                                                                                                  
                                      
                         
                                                                                                                                                                                        


                                               


                              





                                                                                                                  
                     

                                                                                                      

                      
                                                                                                                                 
                                 



                                         



                      


                                                                                 
                                                                                     


                                                             
                       
                                          

                    





                                                                     
                                           
                                                         
                                                                                             



                                                                                                   
                                                                                                          

                              
                                           
                                
                                                                    








                                                                                                                      
                                                                                                                             










                                                                                                            
            
 


                                                                         
 

                                                           
                                                            
                                                            
            
 
         
                                                            


            
                                                                 

                                                              










                                                                                                                   

              
          
                                                         

            
                                                          

            





















                                                                                               
 
                                                                      
                                                                                     


                                                                 
                       
                                           

                    

                                             
                                           
                                                                               
                                                                                                                   









                                                                               
                                           
                                                                                                                 
                                                                                                                                                     








                                                                                                
                                                                                                                                                 


                                                                                             
                                                                                                                                              

                                                  
                                           
                                                                          
                                                                                                              














                                                                                                  
                                                                                                           


                                   
               


                                                           
 




                                                            
                                                             
            
 
               
          
                                                           
            
 
         
                                                            
            

 
                                                              
            
 
               


                                                           
 


                                                            

 
                                                                      
            
 
               


                                                           
 


                                                            

 
                                                           
            
 
               
          
                                                           
            
 
         
                                                            
            

 

                                                                                 
                                                  

            
               


                                                      
 



                                                     

            
                                                                             
            

            
                                                                                                                            
            

             
                                                                                    
            

             
                                                                                                                                                                  
            

             
                                                                                                                                                       
            

             
                                                                                                                                            
            

             
                                                                      
            

             
                                                                                                         
            

             
                                                                                                                  
            

             
                                                                                                                                       
            

             
                                                                                                                               
            

             
                                                                                                                                                
            

             
                                                                                                                                               
            

             
                                                                                                                            
                                                                          
            

             
                                                                                                                          
            
 



                                                                          


                                                                    

                                                            

                                                                      









                                                               
                                                            
                                                                     
                                                            
                                                 
                                                            
                                                             
                                                            
                                                       
                                                            
                                                                  
                                                            
                                             
                                                            
                                                    
                                                            
                                                                
                                                            
                                                                   
                                                            
                                                  
                                                             
                                                 
                                                             



                                                         
                                                                                                   
            

             
                                                                                                                                 
            

              
                                                                                
            

              
                                                                                                    
            

              
                                                                                                                    
            

              
                                                                                                                               




                                                     


                                                                    

              

                                                     

                                                     

                                                                    


                                                                    

              

                                                     

                                                     

                                                                    


                                                                    

              

                                                     

                                                     

                                                                    


                                                                    

              

                                                    

                                                    

                                                                   


                                                                   

              

                                                    

                                                    

                                                                   

                                                                   



                                                                          

                                                                                                  

              
                                                                                       


              
                                                                                                        
            

              
                                                                                                    
            

              
                                                                                                                     
            

              
                                                                                                   
            

              
                                                                                                               
            

              
                                                                                                          
            

              
                                                                                                             
            

              
                                                                                                    
            

              
                                                                                                          
            

              

                                                                          


                                                                          


                                                                     
                                                                                                         


                                                                     
 



            
                                                    
            
 
               
          
                                                          
            
 
         
                                                         
            
 




                                    






















                                                                                  
 
                                                             
            
 
               
          
                                                          
            
 
         
                                                         
            
 
        

                                             
                                                                                      











                                                     


                                                     


            

















                                                                                           
                                                          

            
               


                                                        
 

                                                       

                                                                        




                                                                                                    
            
 
            


                                                                        
                                  
                                                                                                                   
                                            
                                                                                    




                                                                              
                                                          
                                                                                     

                                                   

                      




                                                     
                                           

                                              
                                                                                       












                                                                                                                        
                                           
                                                                                              
                                                                                                                                                                                







                                                                         
                                           
                                                                                  
                                                                                                                      






                                                                             
            
 
               
          
                                                              
            
 
         
                                                               


            

                                                                                 
                                                          

            
               


                                                        
 



                                                                     

                                                                        
                                                                                     



                                                                                                     
            
 
            


                                                                        
                                  
                                                                                                                   
                                            
                                                                                  




                                                                              
                                                                            
                                                                                     









                                                                     
                                           
                                                                   
                                                                                                       





                                                                  
                                           
                                                                                          
                                                                                                                                                                            





                                                                                          
                                           
                                           
                                                                               





















                                                                                                                            
            
 
        





                                      
                                                 
                                   

                                                                                                                         
            
 

            
 
               
         
                                                         
            
 
          
                                                          

            








































                                                                                              
                                                          

            
               


                                                        
 



                                                                     

                                                                        
                                                                                            







                                                                                                        
            
 
            


                                                                        
                                  
                                                                                                                                


                                                                                 

                                                                                 




                                                                              

                                                                                 
                                                          

            
               


                                                        
 

                                                       

                                                                                                                                                       
            
 
            
                                            
                                                                                        
                                                                                                                     
                                                                             
                                                                              
                                                                                                                                               

                                                                                 
                                                                                 




                                                                              
                                                                
            
 




                                                                
 
               


                                                  
 



                                                 
 
            
                                                                                                                                                                    



                     
                                                  

            
               


                                                   
 



                                                  
 
            
                                                                                                                             
            
 
            
                                                                                        
            
 
            
                                                                                       
            
 
             
                                                                                                                
            
 
             
                                                                                                                           
            
 
             
                                                                                                                            
            
 
             
                                                                                   
            
 
             
                                                                                                                     
            
 
             
                                                                                                                      
            
 
             
                                                                          
            
 
             
                                                                                                                                 
            
 


                                                                          
 
             
                                                                                                                                 
            
 






                                                                     
                                                                      
                               

                                                                           


                                 
 
               


                                                           
 


                                                            

 
                                                                   
                            

                                                                           


                              
 
               
          
                                                           
            
 
         
                                                            
            

 






                                                                                                                             
                                       







                                            
         
                              

                                                                                                                                     


                                
 
               
          
                                                           
            
 
         
                                                            
            

 

                                                                                 
                                                              
                               

                                                            


                                 
 
               


                                                           
 


                                                            

 
                                                             
                              

                                                                                          


                                
 
               
          
                                                           
            
 
         

                                                            

 
                                                          
            
 
        

                           


                                                                        
            
 


                              
 
               


                                                   
 

                                                  
                                                 


            
                                                  

            
               


                                                   
 



                                                  
 
            
                                                                                                             

                                                                     
 
            
                                                                                                                                 
            
 
            
                                                                                                                  
            
 
             
                                                                                                           
            
 
             

                                                                
 

                                                                 
                                                                                                                 
            
 
             
                                                                                                     
            
 
             
                                                                                                                     
            
 
             
                                                                                                                               
            
 
             
                                                                                                                                               
            
 
             
                                                                                                                                                
            
 
             
                                                                                            
            
 
             
                                                                                                                         
            
 
             
                                                                             
            
 
             
                                                                                                  
            
 
             
                                                                                        
            
 
             
                                                                                                                           
            
 
             
                                                                    
            
 
             
                                                                                     
            
 
             
                                                                                                               
            
 
             
                                                                                                           
            
 
             
                                                                                                 
            
 
             
                                                                                                                                


                                                                     
                                                                          

                                                                          
 





                                                                 
                                                          

            
               


                                                        
 

                                                       

                                                                        





                                                                                                              
            
 
            
                                            

                              
                                                                                                                   



                                                                               
                                                                                

                                 
                                                                                                              

                              
                                                                                                       

                              
                                                                                                                

                              
                                                                                                            

                              
                                                                                                     





                              
                                                          

            
               


                                                        
 



                                                        
 



                                                                    
 


                     
 
             

                                                                        







                                





                                                                                                                                                  

            
 





                                                                    
                                                          

            
               


                                                        
 

                                                       
                                                                                                                                                                                 
            
 
            
                                            
                                                                                        
                                                                                                                    







                                                                              
                                                          

            
               


                                                        
 

                                                       

                                                                        





                                                                                             
            
 
            
                                            

                            
                                                                                                                           


                                                                              
                                                                                
                                  
                       
                                                                                                                     

                              
                                                                                                                      

                              
                                                                                                                               

                              
                                                                                                                       

                              
                                                                                                                  





                              
                                                          

            
               


                                                        
 

                                                       
                                                                                                                                                                                   
            
 
            
                                            
                                                                                        
                                                                                                                          
                                                                              
                                                                              






                                                                              
                                                          

            
               


                                                        
 

                                                       




















                                                                                                                                           
            
 


                                                                                                            



                                                                              




                                                                              
                                                                      




                                                 
            
 
               


                                                           
 


                                                            

 
                                                                     
                              

                                             


                                
 
               
          
                                                           
            
 
         
                                                            
            

 





                                                                                    
            
 
               
          
                                                           
            
 
         
                                                            
            

 
                                                                
            
 
        
                                                                                                                                    
                              
                                                                         
                                                                         

                                                                         

                                                                 
 
               
          
                                                   
            
 
         
                                                  


            
                                                                       
            
 


                                                                

                                                                          
            
 
               
          
                                                            
            
 
         
                                                           


            





                                                                       
               
          
                                                          
            
 
         
                                                           
            
 
                   
                                                                                          
            
 


                                 
 


                                    
 


                                    
 


                                   
 




                              
                                                  

            
               


                                                   
 



                                                  
 
            
                                                                                                                                   
            
 
            
                                                                                                                   
            
 
            
                                                                         
            
 
             
                                                                                                           
            
 
             
                                                                                                                           
            
 
             
                                                                                                                    
            
 
             
                                                                                                                                       
            
 
             
                                                                                                 
            
 
             
                                                                                                                                                   
            
 
             
                                                                                                                    
            
 
             
                                                                                             
            
 
             
                                                                                                                       
            
 
             
                                                                                               
            
 
             
                                                                                                                  
            
 
             
                                                                                        
            
 
             
                                                                                      
            
 
             
                                                                                                                                   
            
 
             
                                                                              
            
 
             
                                                                         
            
 
             
                                                                          
            
 
             
                                                                         
            
 
             
                                                                         
            
 
             
                                                                                                       
                                                                         
            
 
             

                                                                         
                                                                          
                                                                                                                      
                                                                          
            
 
             
                                                                                                
            
 
             
                                                                         
            
 






                                                                     
                                                                    


                                                                                                     
                                 











                                                    
                     

                                                                                               
                                                                     

                                           

                                                                                                           
                     

                                                                                       
                     

                                                                                                    
                                                                 
                       
                                                        


                                    

                                                                                                
                     


                                                                                                                                                  
                     
                                                                             
                       

                                                                                                     






                                                
 
               


                                                         
 



                                                        
















































































































































































































                                                                                             
                                                                                















































                                                                                                                                                                                                                          
                                                                                                                                                                 



















                                                                                                                                    
                                                                                                                                                                                                                    









                                                                                                                                   
                                                                                                         






























































                                                                                                                                                                                                         











                                 


































































                                                                                                                                                                            
                                                                                                                                                    
















                                                                                                                                                                                                                        
                                                                                                                                                           

                                                      
                                                                                               




























































                                                                                                                                                                                                     
                                                                                        

















                                                                                                                                                                
                                                                        



                                                 
                                                               







                                                                               
                                                                    
                                                                                                                     
                                               































                                                                                                                                                                   





                                





















                                                                                                          
                                                                         






















                                                                                                                 
                                                                                






                                                                                                                                                                   
                                                                      

                                                                        











                                                                              






















                                                                                                                                                    
                                                              
                                     
                                                                                                                  














                                                                                           
                                                













                                                                                                                                         
                                                              
                                      
                                                                                                                  














                                                                                           
                                                


                      
//================= Hercules Script =======================================
//=       _   _                     _
//=      | | | |                   | |
//=      | |_| | ___ _ __ ___ _   _| | ___  ___
//=      |  _  |/ _ \ '__/ __| | | | |/ _ \/ __|
//=      | | | |  __/ | | (__| |_| | |  __/\__ \
//=      \_| |_/\___|_|  \___|\__,_|_|\___||___/
//================= License ===============================================
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
//= Copyright (C) 2013-2016  Hercules Dev Team
//= Copyright (C)  Ridley
//= Copyright (C)  Exneval
//= Copyright (C)  Euphy
//= Copyright (C)  Heris
//= Copyright (C)  Ziu
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
//= the Free Software Foundation, either version 3 of the License, or
//= (at your option) any later version.
//=
//= This program is distributed in the hope that it will be useful,
//= but WITHOUT ANY WARRANTY; without even the implied warranty of
//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//= GNU General Public License for more details.
//=
//= You should have received a copy of the GNU General Public License
//= along with this program.  If not, see <http://www.gnu.org/licenses/>.
//=========================================================================
//= Old Glast Heim
//================= Description ===========================================
//= Discover the history of events that took place in the Glast Heim castle
//= and how it ended up in ruins.
//================= Current Version =======================================
//= 1.2
//=========================================================================

glast_01,204,273,6	script	Hugin#ghinstance	4_M_SAGE_C,{
	if (BaseLevel < 130) { // iRO text
		mes("[Hugin]");
		mes("Why don't you come back after becoming stronger Maybe, level 130.");
		close;
	}
	if (!questprogress(12316)) {
		mes("[Hugin]");
		mes("A long time ago, this castle did not look like this.");
		next;
		mes("[Hugin]");
		mes("Ah I'm sorry. I'm muttering in front of a stranger.");
		next;
		mes("[Hugin]");
		mes("My name is Hugin. I'm studying the dimensional gap between time and space.");
		next;
		select("There's something like that here?");
		mes("[Hugin]");
		mes("Have you ever wondered about the history of Glast Heim?");
		next;
		mes("[Hugin]");
		mes("There was a King named Shumiche who was known as a tyrant in the history of the Rune-Midgarts Kingdom.");
		next;
		mes("[Hugin]");
		mes("Time will reveal the true answers if we look in the right places.");
		next;
		if (select("I don't care about history", "That is interesting. Find anything?") == 1) {
			mes("[Hugin]");
			mes("Really? Hmm, please come back later when you are interested then.");
			close;
		}
		mes("[Hugin]");
		mes("Actually, dimensional time travel is possible but I'm so afraid to go there.");
		next;
		mes("[Hugin]");
		mes("Yes! It might be possible for you.");
		next;
		mes("[Hugin]");
		mes("Do you want to time travel?");
		next;
		if (select("No thanks.", "Yes, of course I do!") == 1) {
			mes("[Hugin]");
			mes("Really? But, jumping gigawatts like this is such a great opportunity.");
			close;
		}
		mes("[Hugin]");
		mes("I knew that you would understand what I said. Well, please tell what you gonna do.");
		setquest(12316);
		next;
	}
	mes("[Hugin]");
	mes("Umm? Did you see me at another place? I don't think so. What about this time?");
	next;
	if (!questprogress(12317, PLAYTIME)) {
		.@party_id = getcharid(CHAR_ID_PARTY);
		.@p_name$ = getpartyname(.@party_id);
		.@md_name$ = "Old Glast Heim";
		if (!instance_check_party(.@party_id)) {
			mes("[Hugin]");
			mes("Why don't you make a party with more than 1 person and talk to me again?");
			close;
		}
		if (!questprogress(12318, HUNTING))
			setquest 12318;
		if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id, 2))
			.@menu1$ = "Generate Time Gap";
		else
			.@menu1$ = "";
		switch (select(.@menu1$, "Enter Old Glast Heim", "Cancel")) {
		case 1:
			if (getcharid(CHAR_ID_CHAR) != getpartyleader(.@party_id, 2))
				end;
			.@instance = instance_create(.@md_name$, .@party_id);
			if (.@instance < 0) {
				mesf("Party Name: %s", .@p_name$);
				mesf("Party Leader: %s", strcharinfo(PC_NAME));
				mesf("^0000ff%s^000000 - Reservation Failed!", .@md_name$);
				close;
			}
			if (instance_attachmap("1@gl_k", .@instance) == "" || instance_attachmap("2@gl_k", .@instance) == "") {
				mesf("^0000FF%s^000000 - Reservation Failed!", .@md_name$);
				instance_destroy(.@instance);
				close;
			}
			instance_set_timeout(3600, 300, .@instance);
			instance_init(.@instance);
			mes("[Hugin]");
			mes("The time gap was created. When you're ready, talk to me again.");
			close;
		case 2:
			if (has_instance("1@gl_k") == "" ) {
				mesf("The memorial dungeon ^0000FF%s^000000 does not exist.\r"
						"The party leader did not generate the dungeon yet.", .@md_name$);
				close;
			}
			mapannounce("glast_01", sprintf(_$("%s, member of the party %s entered the instance %s."), strcharinfo(PC_NAME), .@p_name$, .@md_name$), bc_map, C_SPRINGGREEN);
			setquest 12317;
			warp "1@gl_k", 150, 20;
			end;
		case 3:
			close;
		}
	} else if (questprogress(12317, PLAYTIME) == 1) {
		mes("[Hugin]");
		mes("Oh, my... You still have after-effects of time travel. You can't travel in this condition.");
			if (questprogress(12322) == 1) {
				erasequest 12322;
			}
		next;
		mes("[Hugin]");
		mes("Staying healthy is important so please take a break and come back again later.");
		close;
	} else {
		mes("^0000FFAll trace of access to Old Glast Heim have been removed. Now you can talk with Hugin again.^000000");
		erasequest 12317;
		if (questprogress(12318))
			erasequest 12318;
		if (questprogress(12319))
			erasequest 12319;
		close;
	}
}

// Floor 1
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
1@gl_k,149,41,6	script	Varmundt#ghinstance1	4_M_BARMUND,{
	if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 2)) {
		cutin("gl_barmund2", 2);
		mes("[Varmundt]");
		mes("Where's your leader? I need his help.");
		close2;
		cutin("gl_barmund2", 255);
		end;
	}
	cutin("gl_barmund1", 2);
	mes("[Varmundt]");
	mes("Are you the one ^0000FFHerico^000000 sent to help me?");
	npctalk(_("Are you the one Herico sent to help me?"));
	next;
	select("Oh. Well I...");
	mesf("[%s]", strcharinfo(PC_NAME));
	mes("Ah yes, I am. Herico told me to meet you.");
	unittalk(getcharid(CHAR_ID_ACCOUNT), _("Ah yes, I am. Herico told me to meet you."));
	next;
	cutin("gl_barmund2", 2);
	mes("[Varmundt]");
	mes("We don't have much time. We must report to Sir. Heinrich about Himelmez's invasion.");
	npctalk(_("We don't have much time. We must report to Sir. Heinrich about Himelmez's invasion."));
	next;
	select("Himelmez...");
	mesf("[%s]", strcharinfo(PC_NAME));
	mes("Who is Himelmez?");
	unittalk(getcharid(CHAR_ID_ACCOUNT), _("Who is Himelmez?"));
	next;
	cutin("gl_barmund3", 2);
	mes("[Varmundt]");
	mes("Herico didn't tell you?");
	npctalk(_("Herico didn't tell you?"));
	next;
	cutin("gl_barmund2", 2);
	mes("[Varmundt]");
	mes("She is the Ruler of Death, Dead man's Valkyrie. Himelmez is looking to take the heart of Ymir from us.");
	npctalk(_("She is the Ruler of Death, Dead man's Valkyrie. Himelmez is looking to take the heart of Ymir from us."));
	next;
	mes("[Varmundt]");
	mes("She might even destroy this whole castle if she wanted to.");
	npctalk(_("She might even destroy this whole castle if she wanted to."));
	next;
	mes("[Varmundt]");
	mes("Hurry! Report to Sir. Heinrich about Himelmez. I must check the defense barrier here!");
	npctalk(_("Hurry! Report to Sir. Heinrich about Himelmez. I must check the defense barrier here!"));
	close2;
	cutin("gl_barmund2", 255);
	donpcevent(instance_npcname("Varmundt#ghinstance1")+"::OnDisable");
	end;

OnInstanceInit:
	donpcevent instance_npcname("Varmundt#ghinstance1")+"::OnEnable";
	end;

OnDisable:
	hideonnpc instance_npcname("Varmundt#ghinstance1");
	hideoffnpc instance_npcname("Heinrich#ghinstance1");
	hideoffnpc instance_npcname("Varmundt#ghinstance2");
	end;

OnEnable:
	hideoffnpc instance_npcname("Varmundt#ghinstance1");
	end;
}

1@gl_k,145,54,6	script	Khalitzburg Knight#1	4_F_KHALITZBURG,{
	mesf("[%s]", strnpcinfo(NPC_NAME_VISIBLE));
	switch ((atoi(strnpcinfo(NPC_NAME_HIDDEN)) + 1) / 2) {
		case 1: mes("Is there something you need?"); break;
		case 2: mes("What can I do for you?"); break;
		case 3: mes("..."); break;
		case 4: mes("I do not like to chat during work."); break;
		case 5: mes("Doesn't this castle seem weird all of a sudden? Something's not quite right."); break;
		case 6: mes("How do you know Varmundt? I heard that he's not really a friendly man..."); break;
		case 7: mes("Orders please."); break;
		case 8: mes("Please do not make a mess here."); break;
		case 9: mes("I had a weird dream last night. My mom was in it... Wonder if she is ok..."); break;
		case 10: mes("Are you wit Varmundt? Commander is waiting for you."); break;
		case 11: mes("My work shift will be over soon, but the next crew is not coming."); break;
	}
	close;
OnDisable:
	hideonnpc instance_npcname(strnpcinfo(NPC_NAME));
	end;
OnEnable:
	hideoffnpc instance_npcname(strnpcinfo(NPC_NAME));
	end;
}

1@gl_k,154,54,3	duplicate(Khalitzburg Knight#1)	Khalitzburg Knight#2	4_F_KHALITZBURG
1@gl_k,145,59,6	duplicate(Khalitzburg Knight#1)	White Knight#3	4_WHITEKNIGHT
1@gl_k,154,59,3	duplicate(Khalitzburg Knight#1)	White Knight#4	4_WHITEKNIGHT
1@gl_k,145,64,6	duplicate(Khalitzburg Knight#1)	Khalitzburg Knight#5	4_F_KHALITZBURG
1@gl_k,154,64,3	duplicate(Khalitzburg Knight#1)	Khalitzburg Knight#6	4_F_KHALITZBURG
1@gl_k,145,69,6	duplicate(Khalitzburg Knight#1)	White Knight#7	4_WHITEKNIGHT
1@gl_k,154,69,3	duplicate(Khalitzburg Knight#1)	White Knight#8	4_WHITEKNIGHT
1@gl_k,145,74,6	duplicate(Khalitzburg Knight#1)	Khalitzburg Knight#9	4_F_KHALITZBURG
1@gl_k,154,74,3	duplicate(Khalitzburg Knight#1)	Khalitzburg Knight#10	4_F_KHALITZBURG
1@gl_k,145,79,6	duplicate(Khalitzburg Knight#1)	White Knight#11	4_WHITEKNIGHT
1@gl_k,154,79,3	duplicate(Khalitzburg Knight#1)	White Knight#12	4_WHITEKNIGHT
1@gl_k,145,84,6	duplicate(Khalitzburg Knight#1)	Khalitzburg Knight#13	4_F_KHALITZBURG
1@gl_k,154,84,3	duplicate(Khalitzburg Knight#1)	Khalitzburg Knight#14	4_F_KHALITZBURG
1@gl_k,145,89,6	duplicate(Khalitzburg Knight#1)	White Knight#15	4_WHITEKNIGHT
1@gl_k,154,89,3	duplicate(Khalitzburg Knight#1)	White Knight#16	4_WHITEKNIGHT
1@gl_k,145,94,6	duplicate(Khalitzburg Knight#1)	Khalitzburg Knight#17	4_F_KHALITZBURG
1@gl_k,154,94,3	duplicate(Khalitzburg Knight#1)	Khalitzburg Knight#18	4_F_KHALITZBURG
1@gl_k,145,99,6	duplicate(Khalitzburg Knight#1)	White Knight#19	4_WHITEKNIGHT
1@gl_k,154,99,3	duplicate(Khalitzburg Knight#1)	White Knight#20	4_WHITEKNIGHT
1@gl_k,145,104,6	duplicate(Khalitzburg Knight#1)	Khalitzburg Knight#21	4_F_KHALITZBURG
1@gl_k,154,104,3	duplicate(Khalitzburg Knight#1)	Khalitzburg Knight#22	4_F_KHALITZBURG

1@gl_k,149,100,6	script	Heinrich#ghinstance1	4_M_HEINRICH,{
	if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 2)) {
		cutin("gl_heinrich2", 2);
		mes("[Heinrich]");
		mes("Where is your leader? I must talk to him.");
		close2;
		cutin("gl_heinrich2", 255);
		end;
	}
	cutin("gl_heinrich2", 2);
	select("Sir. Heinrich. Varmundt...");
	mesf("[%s]", strcharinfo(PC_NAME));
	mes("Sir. Heinrich. Do you know what is happening in the castle now?");
	unittalk(getcharid(CHAR_ID_ACCOUNT), _("Sir. Heinrich. Do you know what is happening in the castle now?"));
	next;
	mes("[Heinrich]");
	mes("Aren't you the adventurer that came along with Varmundt?");
	npctalk(_("Aren't you the adventurer that came along with Varmundt?"));
	next;
	mes("[Heinrich]");
	mes("What is it? Something wrong with the castle?");
	npctalk(_("What is it? Something wrong with the castle?"));
	next;
	select("Himelmez's invasion...");
	mesf("[%s]", strcharinfo(PC_NAME));
	mes("Dead man's Valkyrie, Himelmez is coming to take the Ymir's Heart piece hidden inside this castle!");
	unittalk(getcharid(CHAR_ID_ACCOUNT), _("Dead man's Valkyrie, Himelmez is coming to take the Ymir's Heart piece hidden inside this castle!"));
	next;
	cutin("gl_heinrich1", 2);
	mes("[Heinrich]");
	mes("Haha. Funny. Do you really think that is possible?");
	npctalk(_("Haha. Funny. Do you really think that is possible?"));
	next;
	cutin("gl_barmund2", 2);
	mes("[Varmundt]");
	mes("I'm not kidding, Sir. Heinrich. If I'm correct, then she will be here very soon.");
	npctalk(_("I'm not kidding, Sir. Heinrich. If I'm correct, then she will be here very soon."), instance_npcname("Varmundt#ghinstance2"));
	next;
	mes("[Varmundt]");
	mes("We must hide the heart piece to a safe place before Himelmez's attack starts!");
	npctalk(_("We must hide the heart piece to a safe place before Himelmez's attack starts!"), instance_npcname("Varmundt#ghinstance2"));
	next;
	select("Even if you don't believe me...");
	mesf("[%s]", strcharinfo(PC_NAME));
	mes("I can't make you believe me, but there's no time to argue!");
	unittalk(getcharid(CHAR_ID_ACCOUNT), _("I can't make you believe me, but there's no time to argue!"));
	cutin("gl_barmund2", 255);
	next;
	cutin("gl_heinrich1", 2);
	mes("[Heinrich]");
	mes("Thank you for the help. But, we don't even have our king with us right now.");
	npctalk(_("Thank you for the help. But, we don't even have our king with us right now."));
	next;
	mes("[Heinrich]");
	mes("We cannot risk moving the heart just because some stranger says so.");
	npctalk(_("We cannot risk moving the heart just because some stranger says so."));
	close2;
	donpcevent(instance_npcname("Heinrich#ghinstance1")+"::OnDisable");
	donpcevent(instance_npcname("Heinrich#ghinstance2")+"::OnEnable");
	donpcevent(instance_npcname("Himelmez#ghinstance1")+"::OnEnable");
	donpcevent(instance_npcname("#talkinstance1")+"::OnEnable");
	mapannounce(instance_mapname("1@gl_k"), _("????: Muahahahaha~!"), bc_map, C_YELLOW, FW_NORMAL, 18);
	cutin("gl_heinrich1", 255);
	end;

OnInstanceInit:
OnDisable:
	hideonnpc instance_npcname("Heinrich#ghinstance1");
	end;

OnEnable:
	hideoffnpc instance_npcname("Heinrich#ghinstance1");
	end;
}

1@gl_k,152,97,3	script	Varmundt#ghinstance2	4_M_BARMUND,{
	end;

OnInstanceInit:
OnDisable:
	hideonnpc instance_npcname("Varmundt#ghinstance2");
	end;

OnEnable:
	hideoffnpc instance_npcname("Varmundt#ghinstance2");
	end;
}

1@gl_k,149,97,6	script	Heinrich#ghinstance2	4_M_HEINRICH,{
	end;

OnInstanceInit:
OnDisable:
	hideonnpc instance_npcname("Heinrich#ghinstance2");
	end;

OnEnable:
	hideoffnpc instance_npcname("Heinrich#ghinstance2");
	end;
}

1@gl_k,149,100,6	script	Heinrich#ghinstance3	4_M_HEINRICH,{
	end;

OnInstanceInit:
OnDisable:
	hideonnpc instance_npcname("Heinrich#ghinstance3");
	end;

OnEnable:
	hideoffnpc instance_npcname("Heinrich#ghinstance3");
	end;
}

1@gl_k,149,89,1	script	Himelmez#ghinstance1	4_F_HIMEL,{
	end;

OnInstanceInit:
OnDisable:
	hideonnpc instance_npcname("Himelmez#ghinstance1");
	end;

OnEnable:
	hideoffnpc instance_npcname("Himelmez#ghinstance1");
	end;
}

// Control Timer
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
1@gl_k,0,0,0	script	#talkinstance1	FAKE_NPC,{
	end;

OnInstanceInit:
OnDisable:
	disablenpc instance_npcname("#talkinstance1");
	end;

OnEnable:
	enablenpc instance_npcname("#talkinstance1");
	initnpctimer;
	end;

OnTimer1500:
	npctalk(_("Who are you?"), instance_npcname("Heinrich#ghinstance2"));
	end;

OnTimer4500:
	npctalk(_("Well well~ Am I interrupting you? Weren't you expecting me?"), instance_npcname("Himelmez#ghinstance1"));
	end;

OnTimer10000:
	npctalk(_("Himelmez!! Already!"), instance_npcname("Varmundt#ghinstance2"));
	end;

OnTimer17500:
	npctalk(_("My name is Lisa Kahn Himelmez. Master of Dullahan, Dead man's Valkyrie, that's what they call me."), instance_npcname("Himelmez#ghinstance1"));
	end;

OnTimer22000:
	npctalk(_("Aren't you a little too feminine to be the Ruler of death? We are not afraid of you..."), instance_npcname("Heinrich#ghinstance2"));
	end;

OnTimer28500:
	npctalk(_("Let's see if you can relax like that after you find out where your king is."), instance_npcname("Himelmez#ghinstance1"));
	end;

OnTimer36000:
	npctalk(_("What?"), instance_npcname("Heinrich#ghinstance2"));
	end;

OnTimer41000:
	npctalk(_("Hmm, now I have your attention do I not?"), instance_npcname("Himelmez#ghinstance1"));
	end;

OnTimer54000:
	npctalk(_("It's a pity to meet you in a situation like this."), instance_npcname("Himelmez#ghinstance1"));
	end;

OnTimer59000:
	npctalk(_("My king is visiting the Rune-Midgarts royal family. He's not back yet."), instance_npcname("Heinrich#ghinstance2"));
	end;

OnTimer66500:
	npctalk(_("And now you are trying to trick me, what has happened to him?!"), instance_npcname("Heinrich#ghinstance2"));
	end;

OnTimer71500:
	npctalk(_("Well~ I would love to sit down and explain for you, but I'm kind of busy today~"), instance_npcname("Himelmez#ghinstance1"));
	end;

OnTimer78000:
	npctalk(_("I have business to take care of. My minions will treat you well enough for me~"), instance_npcname("Himelmez#ghinstance1"));
	end;

OnTimer84500:
	npctalk(_("She probably already knows where the Ymir's heart piece is."), instance_npcname("Heinrich#ghinstance2"));
	donpcevent instance_npcname("Himelmez#ghinstance1")+"::OnDisable";
	end;

OnTimer90500:
	npctalk(_("All Khalitzburg and White Knights should follow me now..."), instance_npcname("Heinrich#ghinstance2"));
	end;

OnTimer92000:
	for (.@i=1; .@i <= 20; .@i += 4) {
		hideonnpc instance_npcname("Khalitzburg Knight#"+.@i);
		hideonnpc instance_npcname("Khalitzburg Knight#"+(.@i+1));
		hideonnpc instance_npcname("White Knight#"+(.@i+2));
		hideonnpc instance_npcname("White Knight#"+(.@i+3));
	}
	hideonnpc instance_npcname("Khalitzburg Knight#21");
	hideonnpc instance_npcname("Khalitzburg Knight#22");
	.@map$ = instance_mapname("1@gl_k");
	.@label$ = instance_npcname("#talkinstance1")+"::OnMyMobDead";
	monster .@map$,145,59,"Abysmal Knight",2470,1,.@label$;
	monster .@map$,154,59,"Abysmal Knight",2470,1,.@label$;
	monster .@map$,145,69,"Abysmal Knight",2470,1,.@label$;
	monster .@map$,154,69,"Abysmal Knight",2470,1,.@label$;
	monster .@map$,145,79,"Abysmal Knight",2470,1,.@label$;
	monster .@map$,154,79,"Abysmal Knight",2470,1,.@label$;
	monster .@map$,145,89,"Abysmal Knight",2470,1,.@label$;
	monster .@map$,154,89,"Abysmal Knight",2470,1,.@label$;
	monster .@map$,145,99,"Abysmal Knight",2470,1,.@label$;
	monster .@map$,154,99,"Abysmal Knight",2470,1,.@label$;
	monster .@map$,145,54,"Khalitzburg",2471,1,.@label$;
	unittalk($@mobid[0], _("Water... Someone give me water..."));
	monster .@map$,154,54,"Khalitzburg",2471,1,.@label$;
	unittalk($@mobid[0], "Kkkrrrruughgh...");
	monster .@map$,145,64,"Khalitzburg",2471,1,.@label$;
	unittalk($@mobid[0], _("Sir. Heinrich. Save me..."));
	monster .@map$,154,64,"Khalitzburg",2471,1,.@label$;
	unittalk($@mobid[0], _("I miss my sister..."));
	monster .@map$,145,74,"Khalitzburg",2471,1,.@label$;
	unittalk($@mobid[0], _("Don't leave me alone, help me."));
	monster .@map$,154,74,"Khalitzburg",2471,1,.@label$;
	unittalk($@mobid[0], "Aaarrrrrhhhh");
	monster .@map$,145,84,"Khalitzburg",2471,1,.@label$;
	unittalk($@mobid[0], _("I am so thirsty."));
	monster .@map$,154,84,"Khalitzburg",2471,1,.@label$;
	unittalk($@mobid[0], _("Oh...No...I can't die yet..."));
	monster .@map$,145,94,"Khalitzburg",2471,1,.@label$;
	unittalk($@mobid[0], _("I feel sick to my stomach urrgg"));
	monster .@map$,154,94,"Khalitzburg",2471,1,.@label$;
	unittalk($@mobid[0], _("Can someone..."));
	monster .@map$,145,104,"Khalitzburg",2471,1,.@label$;
	unittalk($@mobid[0], "Arrgg... My body");
	monster .@map$,154,104,"Khalitzburg",2471,1,.@label$;
	unittalk($@mobid[0], _("My throat is burning!"));
	end;

OnTimer94000:
	npctalk(_("My men... This can't be happening!"), instance_npcname("Heinrich#ghinstance2"));
	end;

OnTimer96500:
	npctalk(_("Sir. Heinrich, they're all monsters. You need to give them rest!"), instance_npcname("Varmundt#ghinstance2"));
	end;

OnTimer100000:
	npctalk(_("I'm so sorry..."), instance_npcname("Heinrich#ghinstance2"));
	end;

OnTimer103000:
	npctalk(_("I am sorry, my knights! Forgive me!"), instance_npcname("Heinrich#ghinstance2"));
	end;

OnTimer106000:
	mapannounce(instance_mapname("1@gl_k"), _("Sir. Heinrich: Death to all!"), bc_map, C_YELLOW, FW_NORMAL, 18);
	end;

OnTimer109000:
	mapannounce(instance_mapname("1@gl_k"), _("Sir. Heinrich: Go back to the darkness!"), bc_map, C_YELLOW, FW_NORMAL, 18);
	end;

OnTimer109500:
	enablenpc instance_npcname(".#ghinstance22");
	enablenpc instance_npcname(".#ghinstance21");
	donpcevent instance_npcname(".#ghinstance22")+"::OnEffect1";
	donpcevent instance_npcname(".#ghinstance21")+"::OnEffect1";
	end;

OnTimer110000:
	enablenpc instance_npcname(".#ghinstance20");
	enablenpc instance_npcname(".#ghinstance19");
	enablenpc instance_npcname(".#ghinstance18");
	enablenpc instance_npcname(".#ghinstance17");
	donpcevent instance_npcname(".#ghinstance20")+"::OnEffect1";
	donpcevent instance_npcname(".#ghinstance19")+"::OnEffect1";
	donpcevent instance_npcname(".#ghinstance18")+"::OnEffect1";
	donpcevent instance_npcname(".#ghinstance17")+"::OnEffect1";
	end;

OnTimer110500:
	enablenpc instance_npcname(".#ghinstance16");
	enablenpc instance_npcname(".#ghinstance15");
	enablenpc instance_npcname(".#ghinstance14");
	enablenpc instance_npcname(".#ghinstance13");
	donpcevent instance_npcname(".#ghinstance16")+"::OnEffect1";
	donpcevent instance_npcname(".#ghinstance15")+"::OnEffect1";
	donpcevent instance_npcname(".#ghinstance14")+"::OnEffect1";
	donpcevent instance_npcname(".#ghinstance13")+"::OnEffect1";
	end;

OnTimer111000:
	enablenpc instance_npcname(".#ghinstance12");
	enablenpc instance_npcname(".#ghinstance11");
	enablenpc instance_npcname(".#ghinstance10");
	enablenpc instance_npcname(".#ghinstance9");
	donpcevent instance_npcname(".#ghinstance12")+"::OnEffect1";
	donpcevent instance_npcname(".#ghinstance11")+"::OnEffect1";
	donpcevent instance_npcname(".#ghinstance10")+"::OnEffect1";
	donpcevent instance_npcname(".#ghinstance9")+"::OnEffect1";
	end;

OnTimer111500:
	enablenpc instance_npcname(".#ghinstance8");
	enablenpc instance_npcname(".#ghinstance7");
	enablenpc instance_npcname(".#ghinstance6");
	enablenpc instance_npcname(".#ghinstance5");
	donpcevent instance_npcname(".#ghinstance8")+"::OnEffect1";
	donpcevent instance_npcname(".#ghinstance7")+"::OnEffect1";
	donpcevent instance_npcname(".#ghinstance6")+"::OnEffect1";
	donpcevent instance_npcname(".#ghinstance5")+"::OnEffect1";
	end;

OnTimer112000:
	enablenpc instance_npcname(".#ghinstance4");
	enablenpc instance_npcname(".#ghinstance3");
	enablenpc instance_npcname(".#ghinstance2");
	enablenpc instance_npcname(".#ghinstance1");
	donpcevent instance_npcname(".#ghinstance4")+"::OnEffect1";
	donpcevent instance_npcname(".#ghinstance3")+"::OnEffect1";
	donpcevent instance_npcname(".#ghinstance2")+"::OnEffect1";
	donpcevent instance_npcname(".#ghinstance1")+"::OnEffect1";
	donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnEnable";
	donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnDisable";
	for (.@i=1; .@i <= 22; .@i++)
		disablenpc instance_npcname(".#ghinstance"+.@i);
	killmonster instance_mapname("1@gl_k"),instance_npcname("#talkinstance1")+"::OnMyMobDead";
	end;

OnTimer112500:
	npctalk(_("I killed my own men..."), instance_npcname("Heinrich#ghinstance3"));
	end;

OnTimer115500:
	npctalk(_("Sir. Heinrich! We don't have much time!"), instance_npcname("Varmundt#ghinstance2"));
	end;

OnTimer118500:
	npctalk(_("If you hurry now, there's a chance!"), instance_npcname("Varmundt#ghinstance2"));
	end;

OnTimer121500:
	npctalk(_("Varmundt is right. Now is not the time for mourning."), instance_npcname("Heinrich#ghinstance3"));
	end;

OnTimer124500:
	npctalk(_("I have a request to you followers."), instance_npcname("Heinrich#ghinstance3"));
	end;

OnTimer127500:
	npctalk(_("Himelmez can turn living beings into monsters."), instance_npcname("Heinrich#ghinstance3"));
	end;

OnTimer130500:
	npctalk(_("But, there might still be survivors here."), instance_npcname("Heinrich#ghinstance3"));
	end;

OnTimer134500:
	npctalk(_("Destroy the monsters and find any survivors."), instance_npcname("Heinrich#ghinstance3"));
	end;

OnTimer138500:
	npctalk(_("Varmundt and I will chase Himelmez."), instance_npcname("Heinrich#ghinstance3"));
	end;

OnTimer143500:
	npctalk(_("Very well, Varmundt. Let's find Himelmez."), instance_npcname("Heinrich#ghinstance3"));
	end;

OnTimer147500:
	donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnDisable";
	end;

OnTimer148500:
	donpcevent instance_npcname("Varmundt#ghinstance2")+"::OnDisable";
	stopnpctimer;
	donpcevent instance_npcname("#ghinstancewarp1")+"::OnEnable";
	donpcevent instance_npcname("#ghinstancewarp2")+"::OnEnable";
	mapannounce(instance_mapname("1@gl_k"), _("A portal has opened to the west."), bc_map, C_YELLOW);
	donpcevent instance_npcname("#talkinstance1")+"::OnDisable";
	donpcevent instance_npcname("#ghmemorialmob01")+"::OnEnable";
	end;

OnMyMobDead:
	end;
}

1@gl_k,145,54,6	script	.#ghinstance1	HIDDEN_NPC,{
	end;

OnInstanceInit:
OnDisable:
	disablenpc instance_npcname(strnpcinfo(NPC_NAME));
	end;

OnEnable:
	enablenpc instance_npcname(strnpcinfo(NPC_NAME));
	end;

OnEffect1:
	specialeffect EF_GRANDCROSS;
	specialeffect EF_LEXAETERNA;
	end;
}

1@gl_k,154,54,3	duplicate(.#ghinstance1)	.#ghinstance2	HIDDEN_NPC
1@gl_k,145,59,6	duplicate(.#ghinstance1)	.#ghinstance3	HIDDEN_NPC
1@gl_k,154,59,3	duplicate(.#ghinstance1)	.#ghinstance4	HIDDEN_NPC
1@gl_k,145,64,6	duplicate(.#ghinstance1)	.#ghinstance5	HIDDEN_NPC
1@gl_k,154,64,3	duplicate(.#ghinstance1)	.#ghinstance6	HIDDEN_NPC
1@gl_k,145,69,6	duplicate(.#ghinstance1)	.#ghinstance7	HIDDEN_NPC
1@gl_k,154,69,3	duplicate(.#ghinstance1)	.#ghinstance8	HIDDEN_NPC
1@gl_k,145,74,6	duplicate(.#ghinstance1)	.#ghinstance9	HIDDEN_NPC
1@gl_k,154,74,3	duplicate(.#ghinstance1)	.#ghinstance10	HIDDEN_NPC
1@gl_k,145,79,6	duplicate(.#ghinstance1)	.#ghinstance11	HIDDEN_NPC
1@gl_k,154,79,3	duplicate(.#ghinstance1)	.#ghinstance12	HIDDEN_NPC
1@gl_k,145,84,6	duplicate(.#ghinstance1)	.#ghinstance13	HIDDEN_NPC
1@gl_k,154,84,3	duplicate(.#ghinstance1)	.#ghinstance14	HIDDEN_NPC
1@gl_k,145,89,6	duplicate(.#ghinstance1)	.#ghinstance15	HIDDEN_NPC
1@gl_k,154,89,3	duplicate(.#ghinstance1)	.#ghinstance16	HIDDEN_NPC
1@gl_k,145,94,6	duplicate(.#ghinstance1)	.#ghinstance17	HIDDEN_NPC
1@gl_k,154,94,3	duplicate(.#ghinstance1)	.#ghinstance18	HIDDEN_NPC
1@gl_k,145,99,6	duplicate(.#ghinstance1)	.#ghinstance19	HIDDEN_NPC
1@gl_k,154,99,3	duplicate(.#ghinstance1)	.#ghinstance20	HIDDEN_NPC
1@gl_k,145,104,6	duplicate(.#ghinstance1)	.#ghinstance21	HIDDEN_NPC
1@gl_k,154,104,3	duplicate(.#ghinstance1)	.#ghinstance22	HIDDEN_NPC
1@gl_k,149,200,3	warp	treasureroom#out	1,1,1@gl_k,269,264

1@gl_k,96,80,0	script	#ghinstancewarp1	WARPNPC,1,2,{
	end;

OnInstanceInit:
OnDisable:
	disablenpc instance_npcname(strnpcinfo(NPC_NAME));
	end;

OnEnable:
	enablenpc instance_npcname(strnpcinfo(NPC_NAME));
	end;

OnTouch:
	.@map1$ = instance_mapname("1@gl_k");
	.@map2$ = instance_mapname("2@gl_k");
	switch (atoi(replacestr(strnpcinfo(NPC_NAME_HIDDEN), "ghinstancewarp", ""))) {
		case 1: warp .@map1$,80,80; break;
		case 2: warp .@map1$,105,80; break;
		case 3: warp .@map1$,215,79; break;
		case 4: warp .@map1$,195,79; break;
		case 5: warp .@map1$,215,216; break;
		case 6: warp .@map1$,235,216; break;
		case 7: warp .@map2$,150,46; break;
		case 8: warp .@map2$,126,123; break;
		case 9: warp .@map2$,150,116; break;
		case 10: warp .@map2$,174,101; break;
		case 11: warp .@map2$,150,110; break;
		case 12: warp .@map2$,150,179; break;
		case 13: warp .@map2$,150,160; break;
		case 14: warp .@map1$,150,281; break;
		case 15: warp .@map1$,48,168; break;
	}
	end;
}

1@gl_k,90,80,0	duplicate(#ghinstancewarp1)	#ghinstancewarp2	WARPNPC,2,2
1@gl_k,202,79,0	duplicate(#ghinstancewarp1)	#ghinstancewarp3	WARPNPC,2,2
1@gl_k,206,79,0	duplicate(#ghinstancewarp1)	#ghinstancewarp4	WARPNPC,2,2
1@gl_k,228,216,0	duplicate(#ghinstancewarp1)	#ghinstancewarp5	WARPNPC,2,2
1@gl_k,222,216,0	duplicate(#ghinstancewarp1)	#ghinstancewarp6	WARPNPC,2,2
1@gl_k,150,284,0	duplicate(#ghinstancewarp1)	#ghinstancewarp7	WARPNPC,2,2
2@gl_k,145,123,0	duplicate(#ghinstancewarp1)	#ghinstancewarp8	WARPNPC,2,2
2@gl_k,136,122,0	duplicate(#ghinstancewarp1)	#ghinstancewarp9	WARPNPC,2,2
2@gl_k,154,101,0	duplicate(#ghinstancewarp1)	#ghinstancewarp10	WARPNPC,2,2
2@gl_k,165,101,0	duplicate(#ghinstancewarp1)	#ghinstancewarp11	WARPNPC,2,2
2@gl_k,150,163,0	duplicate(#ghinstancewarp1)	#ghinstancewarp12	WARPNPC,2,2
2@gl_k,150,167,0	duplicate(#ghinstancewarp1)	#ghinstancewarp13	WARPNPC,2,2
2@gl_k,150,32,0	duplicate(#ghinstancewarp1)	#ghinstancewarp14	WARPNPC,2,2
1@gl_k,69,168,0	duplicate(#ghinstancewarp1)	#ghinstancewarp15	WARPNPC,2,2

// Sector 1 Mobs
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
1@gl_k,0,0,0	script	#ghmemorialmob01	FAKE_NPC,{
	end;

OnInstanceInit:
OnDisable:
	disablenpc instance_npcname("#ghmemorialmob01");
	end;

OnEnable:
	enablenpc instance_npcname("#ghmemorialmob01");
	.@map$ = instance_mapname("1@gl_k");
	.@label$ = instance_npcname("#ghmemorialmob01")+"::OnMyMobDead";
	areamonster(.@map$, 76, 99, 87, 10, _("Grand Chamberlain in pain"), MG_GHOUL, 15, .@label$);
	areamonster(.@map$, 67, 39, 12, 6, _("Corrupted Monk"), MG_WRAITH, 20, .@label$);
	areamonster(.@map$, 67, 39, 12, 6, _("Grand Chamberlain in pain"), MG_GHOUL, 3, .@label$);
	areamonster(.@map$, 32, 75, 51, 58, _("Corrupted Steward"), MG_ZOMBIE, 6, .@label$);
	areamonster(.@map$, 45, 84, 6, 137, _("Corrupted Steward"), MG_ZOMBIE, 12, .@label$);
	end;

OnMyMobDead:
	.@map$ = instance_mapname("1@gl_k");
	.@label$ = instance_npcname("#ghmemorialmob01")+"::OnMyMobDead";
	.@mob_dead_num = 56 - mobcount(.@map$,.@label$);
	if (.@mob_dead_num > 35) {
		mapannounce(.@map$, _("Himelmez's curse is getting weaker. Find any survivors!"), bc_map, C_WHITE);
		killmonster .@map$,.@label$;
		donpcevent instance_npcname("Altar boy Domun#clearGH")+"::OnEnable";
		donpcevent instance_npcname("#ghmemorialmob01")+"::OnDisable";
	}
	end;
}

1@gl_k,17,51,3	script	Altar boy Domun#clearGH	4_M_KID1,{
	if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 2)) {
		mes("[Altar boy Domun]");
		mes("Save me, save me, please...");
		close;
	}
	mes("[Altar boy Domun]");
	mes("Save me! Save me!!!");
	npctalk(_("Save me! Save me!!!"));
	next;
	select("Hold on!Are you the only survivor?");
	mesf("[%s]", strcharinfo(PC_NAME));
	mes("Hold on!\r"
		"Are you the only survivor?");
	unittalk(getcharid(CHAR_ID_ACCOUNT), _("Hold on! Are you the only survivor?"));
	next;
	mes("[Altar boy Domun]");
	mes("Chamberlains... monks...\r"
		"They all turned into monsters. I couldn't do anything.");
	npctalk(_("Altar boy Domun : Chamberlains... monks... They all turned into monsters. I couldn't do anything."));
	next;
	mes("[Altar boy Domun]");
	mes("All I could do was... \r"
		"Just hide in here...\r"
		"Nothing, nothing I could do...");
	npctalk(_("Altar boy Domun : All I could do was... Just hide in here... Nothing, nothing I could do..."));
	next;
	select("Pull it together!");
	mesf("[%s]", strcharinfo(PC_NAME));
	mes("Wake up kid! Go east and find the middle passage to the outside! That is safe!");
	unittalk(getcharid(CHAR_ID_ACCOUNT), _("Wake up kid! Go east and find the middle passage to the outside! That is safe!")); // Displays 1st Letter of char name in small?
	next;
	mes("[Altar boy Domun]");
	mes("To the east passage?\r"
		"Alone?\r"
		"How?");
	npctalk(_("Altar boy Domun : To the east passage? Alone? How?"));
	next;
	select("I will give you a weapon.");
	mesf("[%s]", strcharinfo(PC_NAME));
	mes("Here's a weapon. Just close your eye and swing for those monsters.");
	unittalk(getcharid(CHAR_ID_ACCOUNT), _("Here's a weapon. Just close your eye and swing for those monsters."));
	next;
	mes("[Altar boy Domun]");
	mes("Ok, I... I'l try.");
	npctalk(_("Altar boy Domun : Ok, I... I'l try."));
	close2;
	donpcevent instance_npcname("Altar boy Domun#clearGH")+"::OnDisable";
	donpcevent instance_npcname("#ghmemorialmob02")+"::OnEnable";
	end;

OnInstanceInit:
OnDisable:
	hideonnpc instance_npcname("Altar boy Domun#clearGH");
	end;

OnEnable:
	hideoffnpc instance_npcname("Altar boy Domun#clearGH");
	end;
}

// Sector 2 Mobs
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
1@gl_k,0,0,0	script	#ghmemorialmob02	FAKE_NPC,{
	end;

OnInstanceInit:
OnDisable:
	disablenpc instance_npcname("#ghmemorialmob02");
	end;

OnEnable:
	enablenpc instance_npcname("#ghmemorialmob02");
	donpcevent instance_npcname("#ghinstancewarp3")+"::OnEnable";
	donpcevent instance_npcname("#ghinstancewarp4")+"::OnEnable";
	.@map$ = instance_mapname("1@gl_k");
	.@label$ = instance_npcname("#ghmemorialmob02")+"::OnMyMobDead";
	mapannounce(.@map$, _("A portal has opened to the east."), bc_map, C_YELLOW);
	areamonster(.@map$, 241, 113, 291, 19, _("Outraged Refiner"), MG_GHOUL, 12, .@label$);
	areamonster(.@map$, 241, 113, 291, 19, _("Decomposed Blacksmith"), MG_ZOMBIE, 12, .@label$);
	areamonster(.@map$, 227, 217, 291, 135, _("Outraged Refiner"), MG_GHOUL, 12, .@label$);
	areamonster(.@map$, 227, 217, 291, 135, _("Decomposed Blacksmith"), MG_ZOMBIE, 12, .@label$);
	end;

OnMyMobDead:
	.@map$ = instance_mapname("1@gl_k");
	.@label$ = instance_npcname("#ghmemorialmob02")+"::OnMyMobDead";
	.@mob_dead_num = 48 - mobcount(.@map$,.@label$);
	if (.@mob_dead_num > 28) {
		mapannounce(.@map$, _("Himelmez's curse is getting weaker. Find any survivors!"), bc_map, C_WHITE);
		killmonster .@map$,.@label$;
		donpcevent instance_npcname("Holgren the Destroyer")+"::OnEnable";
		donpcevent instance_npcname("#ghmemorialmob02")+"::OnDisable";
	}
	end;
}

1@gl_k,291,145,3	script	Holgren the Destroyer	4_F_JOB_BLACKSMITH,{
	if (getcharid(CHAR_ID_CHAR) != getpartyleader(getcharid(CHAR_ID_PARTY), 2)) {
		mes("[Holgren the Destroyer]");
		mes("Are you human?");
		close;
	}
	mes("[Holgren the Destroyer]");
	mes("Die!! You shall die!!!");
	npctalk(_("Holgren the Destroyer : Die!! You shall die!!!"));
	specialeffect EF_CRASHEARTH;
	next;
	select("Relax! I'm not a monster!");
	mesf("[%s]", strcharinfo(PC_NAME));
	mes("Relax! I am Human. Are you alone? Anyone else here?");
	unittalk(getcharid(CHAR_ID_ACCOUNT), _("Relax! I am Human. Are you alone? Anyone else here?"));
	next;
	mes("[Holgren the Destroyer]");
	mes("It's only me alive.");
	npctalk(_("Holgren the Destroyer : It's only me alive."));
	next;
	select("It's dangerous here...");
	mesf("[%s]", strcharinfo(PC_NAME));
	mes("It's dangerous here. You know the way to the middle passage? Can you move?");
	unittalk(getcharid(CHAR_ID_ACCOUNT), _("It's dangerous here. You know the way to the middle passage? Can you move?")); // Displays 1st Letter of char name in small?
	next;
	mes("[Holgren the Destroyer]");
	mes("Yes, I can move. I need to get out of here.");
	npctalk(_("Holgren the Destroyer : Yes, I can move. I need to get out of here."));
	next;
	select("Be safe...");
	mesf("[%s]", strcharinfo(PC_NAME));
	mes("Sorry, I can't go with you.");
	unittalk(getcharid(CHAR_ID_ACCOUNT), _("Sorry, I can't go with you."));
	next;
	mes("[Holgren the Destroyer]");
	mes("It's ok. You've already done enough. I can help myself. Good luck to you too.");
	npctalk(_("Holgren the Destroyer : It's ok. You've already done enough. I can help myself. Good luck to you too."));
	close2;
	donpcevent instance_npcname("Holgren the Destroyer")+"::OnDisable";
	donpcevent instance_npcname("#ghmemorialmob03")+"::OnEnable";
	end;

OnInstanceInit:
OnDisable:
	hideonnpc instance_npcname("Holgren the Destroyer");
	end;

OnEnable:
	hideoffnpc instance_npcname("Holgren the Destroyer");
	end;
}

// Tramp Mobs
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
1@gl_k,221,82,3	script	A dead man#GHtramp1	4_M_DIEMAN,4,4,{
	end;

OnTouch:
	.@i = rand(1,10);
	if (.@i == 1) .@mobs = 3;
	else if (.@i == 2) .@mobs = 4;
	else if (.@i == 3) .@mobs = 5;
	else if (.@i < 7) .@mobs = 6;
	else .@mobs = 7;
	getmapxy(.@map$, .@x, .@y, UNITTYPE_NPC);
	specialeffect EF_VENOMDUST;
	monster(.@map$, .@x, .@y, "Maggot", MG_ARCLOUSE, .@mobs, instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead");
	disablenpc instance_npcname(strnpcinfo(NPC_NAME));
	end;

OnMyMobDead:
	end;

OnInstanceInit:
OnEnable:
	enablenpc instance_npcname(strnpcinfo(NPC_NAME));
	end;

OnDisable:
	disablenpc instance_npcname(strnpcinfo(NPC_NAME));
	end;
}

1@gl_k,213,63,7	duplicate(A dead man#GHtramp1)	A dead man#GHtramp2	4_M_DIEMAN,4,4
1@gl_k,230,50,2	duplicate(A dead man#GHtramp1)	A dead man#GHtramp3	4_M_DIEMAN,4,4
1@gl_k,222,39,2	duplicate(A dead man#GHtramp1)	A dead man#GHtramp4	4_M_DIEMAN,4,4
1@gl_k,214,27,3	duplicate(A dead man#GHtramp1)	A dead man#GHtramp5	4_M_DIEMAN,4,4
1@gl_k,223,17,2	duplicate(A dead man#GHtramp1)	A dead man#GHtramp6	4_M_DIEMAN,4,4
1@gl_k,235,16,4	duplicate(A dead man#GHtramp1)	A dead man#GHtramp7	4_M_DIEMAN,4,4
1@gl_k,251,20,5	duplicate(A dead man#GHtramp1)	A dead man#GHtramp8	4_M_DIEMAN,4,4
1@gl_k,240,43,7	duplicate(A dead man#GHtramp1)	A dead man#GHtramp9	4_M_DIEMAN,4,4
1@gl_k,271,19,1	duplicate(A dead man#GHtramp1)	A dead man#GHtramp10	4_M_DIEMAN,4,4
1@gl_k,246,62,7	duplicate(A dead man#GHtramp1)	A dead man#GHtramp11	4_M_DIEMAN,4,4
1@gl_k,282,48,5	duplicate(A dead man#GHtramp1)	A dead man#GHtramp12	4_M_DIEMAN,4,4
1@gl_k,285,81,7	duplicate(A dead man#GHtramp1)	A dead man#GHtramp13	4_M_DIEMAN,4,4
1@gl_k,241,86,5	duplicate(A dead man#GHtramp1)	A dead man#GHtramp14	4_M_DIEMAN,4,4
1@gl_k,249,101,3	duplicate(A dead man#GHtramp1)	A dead man#GHtramp15	4_M_DIEMAN,4,4
1@gl_k,276,106,7	duplicate(A dead man#GHtramp1)	A dead man#GHtramp16	4_M_DIEMAN,4,4
1@gl_k,252,120,7	duplicate(A dead man#GHtramp1)	A dead man#GHtramp17	4_M_DIEMAN,4,4
1@gl_k,258,150,1	duplicate(A dead man#GHtramp1)	A dead man#GHtramp18	4_M_DIEMAN,4,4
1@gl_k,255,157,6	duplicate(A dead man#GHtramp1)	A dead man#GHtramp19	4_M_DIEMAN,4,4
1@gl_k,261,164,7	duplicate(A dead man#GHtramp1)	A dead man#GHtramp20	4_M_DIEMAN,4,4
1@gl_k,269,173,7	duplicate(A dead man#GHtramp1)	A dead man#GHtramp21	4_M_DIEMAN,4,4
1@gl_k,280,167,3	duplicate(A dead man#GHtramp1)	A dead man#GHtramp22	4_M_DIEMAN,4,4
1@gl_k,293,161,3	duplicate(A dead man#GHtramp1)	A dead man#GHtramp23	4_M_DIEMAN,4,4
1@gl_k,226,96,3	duplicate(A dead man#GHtramp1)	A dead man#GHtramp24	4_M_DIEMAN,4,4
1@gl_k,222,119,5	duplicate(A dead man#GHtramp1)	A dead man#GHtramp25	4_M_DIEMAN,4,4
1@gl_k,233,123,3	duplicate(A dead man#GHtramp1)	A dead man#GHtramp26	4_M_DIEMAN,4,4
2@gl_k,147,203,5	duplicate(A dead man#GHtramp1)	A dead man#GHtramp27	4_M_DIEMAN,4,4
2@gl_k,141,222,3	duplicate(A dead man#GHtramp1)	A dead man#GHtramp28	4_M_DIEMAN,4,4
2@gl_k,167,225,5	duplicate(A dead man#GHtramp1)	A dead man#GHtramp29	4_M_DIEMAN,4,4
2@gl_k,145,236,5	duplicate(A dead man#GHtramp1)	A dead man#GHtramp30	4_M_DIEMAN,4,4
2@gl_k,143,260,3	duplicate(A dead man#GHtramp1)	A dead man#GHtramp31	4_M_DIEMAN,4,4
2@gl_k,170,259,3	duplicate(A dead man#GHtramp1)	A dead man#GHtramp32	4_M_DIEMAN,4,4
2@gl_k,143,197,5	duplicate(A dead man#GHtramp1)	A dead man#GHtramp33	4_M_DIEMAN,4,4
2@gl_k,155,195,5	duplicate(A dead man#GHtramp1)	A dead man#GHtramp34	4_M_DIEMAN,4,4
2@gl_k,154,188,3	duplicate(A dead man#GHtramp1)	A dead man#GHtramp35	4_M_DIEMAN,4,4
2@gl_k,153,214,3	duplicate(A dead man#GHtramp1)	A dead man#GHtramp36	4_M_DIEMAN,4,4
2@gl_k,172,233,3	duplicate(A dead man#GHtramp1)	A dead man#GHtramp37	4_M_DIEMAN,4,4
2@gl_k,176,245,3	duplicate(A dead man#GHtramp1)	A dead man#GHtramp38	4_M_DIEMAN,4,4

// Sector 3 Mobs
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
1@gl_k,0,0,0	script	#ghmemorialmob03	FAKE_NPC,{
	end;

OnInstanceInit:
OnDisable:
	disablenpc instance_npcname("#ghmemorialmob03");
	end;

OnEnable:
	enablenpc instance_npcname("#ghmemorialmob03");
	donpcevent instance_npcname("#ghinstancewarp5")+"::OnEnable";
	donpcevent instance_npcname("#ghinstancewarp6")+"::OnEnable";
	.@map$ = instance_mapname("1@gl_k");
	.@label$ = instance_npcname("#ghmemorialmob03")+"::OnMyMobDead";
	mapannounce(.@map$, _("A portal has appeared to the northwest."), bc_map, C_YELLOW);
	areamonster(.@map$, 17, 259, 53, 180, _("Hungry Palace Guard"), MG_RAYDRIC, 11, .@label$);
	areamonster(.@map$, 17, 259, 53, 180, _("Outraged Archer"), MG_RAYDRIC_ARCHER, 14, .@label$);
	areamonster(.@map$, 62, 281, 73, 186, _("Hungry Palace Guard"), MG_RAYDRIC, 11, .@label$);
	areamonster(.@map$, 62, 281, 73, 186, _("Outraged Archer"), MG_RAYDRIC_ARCHER, 14, .@label$);
	areamonster(.@map$, 74, 251, 109, 224, _("Corrupted Palace Guard"), MG_RAYDRIC, 11, .@label$);
	areamonster(.@map$, 74, 251, 109, 224, _("Wandering Archer"), MG_RAYDRIC_ARCHER, 14, .@label$);
	areamonster(.@map$, 108, 281, 231, 234, _("Corrupted Palace Guard"), MG_RAYDRIC, 11, .@label$);
	areamonster(.@map$, 108, 281, 231, 234, _("Wandering Archer"), MG_RAYDRIC_ARCHER, 14, .@label$);
	end;

OnMyMobDead:
	.@map$ = instance_mapname("1@gl_k");
	.@label$ = instance_npcname("#ghmemorialmob03")+"::OnMyMobDead";
	.@mob_dead_num = 100 - mobcount(.@map$,.@label$);
	if (.@mob_dead_num > 85) {
		mapannounce(.@map$, _("Himelmez: Not bad. Thought you would be dead by now by my creatures~"), bc_map, C_WHITE);
		killmonster .@map$,.@label$;
		donpcevent instance_npcname("#GHMclear3")+"::OnEnable";
		donpcevent instance_npcname("Heinrich#ghinstance4")+"::OnEnable";
		donpcevent instance_npcname("Himelmez#ghinstance2")+"::OnEnable";
		donpcevent instance_npcname("Varmundt#ghinstance3")+"::OnEnable";
		donpcevent instance_npcname("#ghmemorialmob03")+"::OnDisable";
	}
	end;
}

// 1st MVP
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
1@gl_k,0,0,0	script	#ghmemorialmob04	FAKE_NPC,{
	end;

OnInstanceInit:
OnDisable:
	disablenpc instance_npcname("#ghmemorialmob04");
	end;

OnEnable:
	enablenpc instance_npcname("#ghmemorialmob04");
	monster instance_mapname("1@gl_k"), 150, 258, _("Corrupted Soul"), MG_CORRUPTION_ROOT, 1, instance_npcname("#ghmemorialmob04")+"::OnMyMobDead";
	unittalk($@mobid[0], _("Grrrrrrhh~~~"));
	end;

OnMyMobDead:
	.@map$ = instance_mapname("1@gl_k");
	if (mobcount(.@map$,instance_npcname("#ghmemorialmob04")+"::OnMyMobDead") < 1) {
		mapannounce(.@map$, _("Opening 2nd floor entrance towards 12 O'clock direction."), bc_map, C_YELLOW);
		donpcevent instance_npcname("#ghinstancewarp7")+"::OnEnable";
		donpcevent instance_npcname("#ghinstancewarp14")+"::OnEnable";
		npctalk(_("I collected some items dropped from its body. You can take it from me."), instance_npcname("Varmundt#ghinstance3"));
		donpcevent instance_npcname("#effectGH01")+"::OnEnable";
		donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnEnable";
		donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnEnable";
		donpcevent instance_npcname("#ghmemorialmob04")+"::OnDisable";
	}
	end;
}

1@gl_k,150,257,3	script	#GHMclear3	HIDDEN_NPC,9,9,{
	end;

OnTouch:
	donpcevent instance_npcname("#controlGH3")+"::OnEnable";
	specialeffect EF_BASH;
	donpcevent instance_npcname("#GHMclear3")+"::OnDisable";
	end;

OnInstanceInit:
OnDisable:
	disablenpc instance_npcname("#GHMclear3");
	end;

OnEnable:
	enablenpc instance_npcname("#GHMclear3");
	initnpctimer;
	end;

OnTimer2000:
	mapannounce(instance_mapname("1@gl_k"), _("Himelmez: I'll wait for you at the north of the castle. I want to see you how lucky you are."), bc_map, C_WHITE);
	stopnpctimer;
	end;
}

1@gl_k,0,0,0	script	#controlGH3	FAKE_NPC,{
	end;

OnInstanceInit:
OnDisable:
	disablenpc instance_npcname("#controlGH3");
	end;

OnEnable:
	enablenpc instance_npcname("#controlGH3");
	initnpctimer;
	end;

OnTimer3000:
	npctalk(_("Guess you are either lucky or powerful, to make it this far."), instance_npcname("Himelmez#ghinstance2"));
	end;

OnTimer6000:
	npctalk(_("But, it doesn't matter."), instance_npcname("Himelmez#ghinstance2"));
	end;

OnTimer9000:
	npctalk(_("You will all die here."), instance_npcname("Himelmez#ghinstance2"));
	end;

OnTimer12000:
	npctalk(_("Himelmez! We will not let you get away from us!"), instance_npcname("Heinrich#ghinstance4"));
	end;

OnTimer15000:
	npctalk(_("Ha ha ha, worry about yourself. You think I am alone here?"), instance_npcname("Himelmez#ghinstance2"));
	end;

OnTimer18000:
	npctalk(_("Sir. Heinrich! I sense something strange and strong coming!"), instance_npcname("Varmundt#ghinstance3"));
	end;

OnTimer21000:
	npctalk(_("What... These are!"), instance_npcname("Heinrich#ghinstance4"));
	end;

OnTimer24000:
	npctalk(_("I will go on my way while my new toy entertains you."), instance_npcname("Himelmez#ghinstance2"));
	end;

OnTimer27000:
	npctalk(_("Fare well~, hope to see you again sometime, Heinrich."), instance_npcname("Himelmez#ghinstance2"));
	end;

OnTimer28000:
	donpcevent instance_npcname("Himelmez#ghinstance2")+"::OnDisable";
	end;

OnTimer31000:
	npctalk(_("Sir. Varmundt! Help those adventurers. I will go after Himelmez!"), instance_npcname("Heinrich#ghinstance4"));
	end;

OnTimer32000:
	donpcevent instance_npcname("Heinrich#ghinstance4")+"::OnDisable";
	end;

OnTimer35000:
	mapannounce(instance_mapname("1@gl_k"), _("An echoing comes from deep inside of the knight's shrine."), bc_map, C_WHITE);
	end;

OnTimer38000:
	donpcevent instance_npcname("#ghmemorialmob04")+"::OnEnable";
	stopnpctimer;
	donpcevent instance_npcname("#controlGH3")+"::OnDisable";
	end;
}

1@gl_k,144,258,6	script	Heinrich#ghinstance4	4_M_HEINRICH,{
	cutin "gl_heinrich1",2;
	mes("[Heinrich]");
	mes("Himelmez... I will never forget what you've done to my men.");
	close2;
	cutin "gl_heinrich1",255;
	end;

OnInstanceInit:
OnDisable:
	hideonnpc instance_npcname("Heinrich#ghinstance4");
	end;

OnEnable:
	hideoffnpc instance_npcname("Heinrich#ghinstance4");
	end;
}

1@gl_k,150,257,3	script	Himelmez#ghinstance2	4_F_HIMEL,{
	cutin "gl_himel2",2;
	mes("[Himelmez]");
	mes("Don't look at me nervous like that. It will be over soon...");
	close2;
	cutin "gl_himel2",255;
	end;

OnInstanceInit:
OnDisable:
	hideonnpc instance_npcname("Himelmez#ghinstance2");
	end;

OnEnable:
	hideoffnpc instance_npcname("Himelmez#ghinstance2");
	end;
}

1@gl_k,156,259,3	script	Varmundt#ghinstance3	4_M_BARMUND,{ // not disabling it so all players can get their reward
	if (questprogress(12318, HUNTING) == 2) {
		cutin "gl_barmund1", 2;
		mes("[Varmundt]");
		mes("This item has extraordinary aura with it. Can be very useful for someone special.");
		erasequest 12318;
		if (!questprogress(12319, HUNTING))
			setquest 12319;
		setquest 12320;
		erasequest 12320;
		getitem Temporal_Crystal, 1;
		getitem Coagulated_Spell, 1;
		getexp 250000, 250000;
		close2;
		cutin "gl_barmund1", 255;
		end;
	}
	cutin "gl_barmund1",2;
	mes("[Varmundt]");
	mes("I guess this is it. Is it impossible to stop the time traveler's will?! A portal seems to have appeared to the north.");
	close2;
	cutin "gl_barmund2",255;
	end;

OnInstanceInit:
OnDisable:
	hideonnpc instance_npcname("Varmundt#ghinstance3");
	end;

OnEnable:
	hideoffnpc instance_npcname("Varmundt#ghinstance3");
	end;
}

// Floor 2
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2@gl_k,148,67,1	script	Heinrich#ghinstance5	4_M_HEINRICH,{
	cutin "gl_heinrich1",2;
	mes("[Heinrich]");
	mes("Himelmez's closed space covers everywhere...");
	close2;
	cutin "gl_heinrich1",255;
	end;

OnInstanceInit:
OnDisable:
	hideonnpc instance_npcname("Heinrich#ghinstance5");
	end;

OnEnable:
	hideoffnpc instance_npcname("Heinrich#ghinstance5");
	end;
}

2@gl_k,151,71,7	script	Varmundt#ghinstance4	4_M_BARMUND,{
	cutin "gl_barmund1",2;
	mes("[Varmundt]");
	mes("How many times I do this job. In my dream, I did it over and over again...");
	close2;
	cutin "gl_barmund1",255;
	end;

OnInstanceInit:
OnDisable:
	hideonnpc instance_npcname("Varmundt#ghinstance4");
	end;

OnEnable:
	hideoffnpc instance_npcname("Varmundt#ghinstance4");
	end;
}

2@gl_k,150,67,0	script	#effectGH01	HIDDEN_NPC,10,10,{
	end;

OnTouch:
	if ('touch) {
		'touch = 0;
		specialeffect EF_BASH;
		donpcevent instance_npcname("#controlGH4")+"::OnEnable";
	}
	end;

OnEffect:
	specialeffect EF_LORD;
	end;

OnInstanceInit:
OnDisable:
	disablenpc instance_npcname("#effectGH01");
	end;

OnEnable:
	enablenpc instance_npcname("#effectGH01");
	'touch = 1; // Only activate OnTouch once
	end;
}

2@gl_k,0,0,0	script	#controlGH4	FAKE_NPC,{
	end;

OnInstanceInit:
OnDisable:
	disablenpc instance_npcname("#controlGH4");
	end;

OnEnable:
	enablenpc instance_npcname("#controlGH4");
	initnpctimer;
	end;

OnTimer3000:
	npctalk(_("This structure was not in the castle before!"), instance_npcname("Heinrich#ghinstance5"));
	donpcevent instance_npcname("#ghmemorialmob05")+"::OnEnable";
	end;

OnTimer6000:
	npctalk(_("This is Himelmez's closed space. We blocked each area and aisle."), instance_npcname("Varmundt#ghinstance4"));
	end;

OnTimer9000:
	npctalk(_("We tried to break it down but it's really strong."), instance_npcname("Heinrich#ghinstance5"));
	end;

OnTimer12000:
	npctalk(_("Step back. Let me try to dispel the magic."), instance_npcname("Varmundt#ghinstance4"));
	end;

OnTimer15000:
	donpcevent instance_npcname("#effectGH01")+"::OnEffect";
	end;

OnTimer18000:
	donpcevent instance_npcname("#effectGH01")+"::OnDisable";
	npctalk(_("I think that part of closed space is broke down."), instance_npcname("Varmundt#ghinstance4"));
	end;

OnTimer21000:
	npctalk(_("I have never seen this closed space."), instance_npcname("Varmundt#ghinstance4"));
	end;

OnTimer24000:
	npctalk(_("Himelmez hides stone chains in undead people's body."), instance_npcname("Varmundt#ghinstance4"));
	end;

OnTimer27000:
	npctalk(_("Maybe this closed space is maintained with these stone chains."), instance_npcname("Varmundt#ghinstance4"));
	end;

OnTimer30000:
	npctalk(_("If you want to break it, you have to kill one of those who have a stone chain."), instance_npcname("Varmundt#ghinstance4"));
	end;

OnTimer33000:
	npctalk(_("But, we can't recognize who has a stone chain so, we have to purify everything."), instance_npcname("Varmundt#ghinstance4"));
	end;

OnTimer36000:
	npctalk(_("It is inexcusable behavior."), instance_npcname("Heinrich#ghinstance5"));
	end;

OnTimer39000:
	npctalk(_("I already exterminated all my soldiers and maybe more..."), instance_npcname("Heinrich#ghinstance5"));
	end;

OnTimer42000:
	npctalk(_("Commander..."), instance_npcname("Varmundt#ghinstance4"));
	end;

OnTimer45000:
	npctalk(_("Commander! You need to be strong."), instance_npcname("Varmundt#ghinstance4"));
	end;

OnTimer48000:
	npctalk(_("Our enemy is not human."), instance_npcname("Varmundt#ghinstance4"));
	end;

OnTimer51000:
	npctalk(_("Even though you deny it, they'll never turn back to human."), instance_npcname("Varmundt#ghinstance4"));
	end;

OnTimer54000:
	npctalk(_("..."), instance_npcname("Heinrich#ghinstance5"));
	end;

OnTimer57000:
	npctalk(_("Well, let's go then."), instance_npcname("Varmundt#ghinstance4"));
	end;

OnTimer60000:
	npctalk(_("And you guys, just take a break and follow us."), instance_npcname("Varmundt#ghinstance4"));
	end;

OnTimer63000:
	npctalk(_("It could be hard fighting so, stay strong."), instance_npcname("Varmundt#ghinstance4"));
	end;

OnTimer66000:
	npctalk(_("Ok, it's time to begin Heinrich."), instance_npcname("Varmundt#ghinstance4"));
	end;

OnTimer69000:
	mapannounce(instance_mapname("2@gl_k"), _("A portal to the west has opened in the central hallway."), bc_map, C_YELLOW);
	donpcevent instance_npcname("#ghinstancewarp8")+"::OnEnable";
	donpcevent instance_npcname("#ghinstancewarp9")+"::OnEnable";
	donpcevent instance_npcname("#ghmemorialmob06")+"::OnEnable";
	donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnDisable";
	donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnDisable";
	end;

OnTimer70000:
	stopnpctimer;
	donpcevent instance_npcname("#controlGH4")+"::OnDisable";
	end;
}

2@gl_k,0,0,0	script	#ghmemorialmob05	FAKE_NPC,{
	end;

OnInstanceInit:
OnDisable:
	disablenpc instance_npcname("#ghmemorialmob05");
	end;

OnEnable:
	enablenpc instance_npcname("#ghmemorialmob05");
	.@map$ = instance_mapname("2@gl_k");
	.@label$ = instance_npcname("#ghmemorialmob05")+"::OnMyMobDead";
	areamonster(.@map$, 124, 20, 31, 162, _("Corrupted Palace Guard"), MG_RAYDRIC, 8, .@label$);
	areamonster(.@map$, 124, 20, 31, 162, _("Archer of Death"), MG_RAYDRIC_ARCHER, 8, .@label$);
	areamonster(.@map$, 124, 20, 31, 162, _("Corrupted Abysmal Knight"), MG_KNIGHT_OF_ABYSS, 8, .@label$);
	areamonster(.@map$, 124, 20, 31, 162, _("Suffered Khalitzburg"), MG_KHALITZBURG, 8, .@label$);
	areamonster(.@map$, 124, 20, 31, 162, _("Bloody Knight"), MG_BLOODY_KNIGHT, 8, .@label$);
	'MyMobs = 80;
	end;

OnMyMobDead:
	.@map$ = instance_mapname("2@gl_k");
	'MyMobs = 'MyMobs - 1;
	if ('MyMobs == 0) {
		mapannounce(.@map$, _("Evil Forces are appearing in this area."), bc_map, C_YELLOW, FW_NORMAL, 18);
		donpcevent instance_npcname("#ghmemorialmob06")+"::OnDisable2";
		donpcevent instance_npcname("#ghmemorialmob07")+"::OnEnable";
		donpcevent instance_npcname("#ghmemorialmob05")+"::OnDisable";
	} else {
		.@label$ = instance_npcname("#ghmemorialmob05")+"::OnMyMobDead";
		switch(rand(5)) {
		case 0:
			areamonster(.@map$, 124, 20, 31, 162, _("Corrupted Palace Guard"), 2468, 1, .@label$);
			break;
		case 1:
			areamonster(.@map$, 124, 20, 31, 162, _("Archer of Death"), 2469, 1, .@label$);
			break;
		case 2:
			areamonster(.@map$, 124, 20, 31, 162, _("Corrupted Abysmal Knight"), 2470, 1, .@label$);
			break;
		case 3:
			areamonster(.@map$, 124, 20, 31, 162, _("Suffered Khalitzburg"), 2471, 1, .@label$);
			break;
		case 4:
			areamonster(.@map$, 124, 20, 31, 162, _("Bloody Knight"), 2472, 1, .@label$);
			break;
		}
	}
	end;
}

2@gl_k,0,0,0	script	#ghmemorialmob06	FAKE_NPC,{
	end;

OnInstanceInit:
OnDisable:
	disablenpc instance_npcname("#ghmemorialmob06");
	end;

OnDisable2:
	stopnpctimer;
	disablenpc instance_npcname("#ghmemorialmob06");
	end;

OnEnable:
	enablenpc instance_npcname("#ghmemorialmob06");
	donpcevent instance_npcname("#ghmemorialmob06")+"::OnSpawn";
	end;

OnSpawn:
	initnpctimer;
	end;

OnTimer90000:
	.@map$ = instance_mapname("2@gl_k");
	.@label$ = instance_npcname("#ghmemorialmob05")+"::OnMyMobDead";
	setarray .@c[0],
		114,141,118,139,
		128,83,131,78,
		88,53,93,48,
		54,47,61,40,
		58,83,63,78,
		69,138,80,127,
		34,143,39,138;
	for (.@i = 0; .@i < getarraysize(.@c); .@i += 4) {
		areamonster(.@map$, .@c[.@i], .@c[.@i+1], .@c[.@i+2], .@c[.@i+3], _("Corrupted Palace Guard"), MG_RAYDRIC, 1, .@label$);
		areamonster(.@map$, .@c[.@i], .@c[.@i+1], .@c[.@i+2], .@c[.@i+3], _("Archer of Death"), MG_RAYDRIC_ARCHER, 1, .@label$);
		areamonster(.@map$, .@c[.@i], .@c[.@i+1], .@c[.@i+2], .@c[.@i+3], _("Corrupted Abysmal Knight"), MG_KNIGHT_OF_ABYSS, 1, .@label$);
		areamonster(.@map$, .@c[.@i], .@c[.@i+1], .@c[.@i+2], .@c[.@i+3], _("Suffered Khalitzburg"), MG_KHALITZBURG, 1, .@label$);
		areamonster(.@map$, .@c[.@i], .@c[.@i+1], .@c[.@i+2], .@c[.@i+3], _("Bloody Knight"), MG_BLOODY_KNIGHT, 1, .@label$);
	}
	end;

OnTimer92000:
	stopnpctimer;
	donpcevent instance_npcname("#ghmemorialmob06")+"::OnSpawn";
	end;
}

2@gl_k,0,0,0	script	#ghmemorialmob07	FAKE_NPC,{
	end;

OnInstanceInit:
OnDisable:
	disablenpc instance_npcname("#ghmemorialmob07");
	end;

OnEnable:
	enablenpc instance_npcname("#ghmemorialmob07");
	areamonster instance_mapname("2@gl_k"), 124, 20, 31, 162, _("1st Commander of Destruction"), MG_M_UNDEAD_KNIGHT, 1, instance_npcname("#ghmemorialmob07")+"::OnMyMobDead";
	end;

OnMyMobDead:
	.@map$ = instance_mapname("2@gl_k");
	if (mobcount(.@map$,instance_npcname("#ghmemorialmob07")+"::OnMyMobDead") < 1) {
		mapannounce(.@map$, _("A portal has opened to the east in the central hallway."), bc_map, C_YELLOW);
		donpcevent instance_npcname("#ghinstancewarp10")+"::OnEnable";
		donpcevent instance_npcname("#ghinstancewarp11")+"::OnEnable";
		donpcevent instance_npcname("#ghmemorialmob08")+"::OnEnable";
		donpcevent instance_npcname("#ghmemorialmob07")+"::OnDisable";
	}
	end;
}

2@gl_k,0,0,0	script	#ghmemorialmob08	FAKE_NPC,{
	end;

OnInstanceInit:
OnDisable:
	disablenpc instance_npcname("#ghmemorialmob08");
	end;

OnEnable:
	enablenpc instance_npcname("#ghmemorialmob08");
	.@map$ = instance_mapname("2@gl_k");
	.@label$ = instance_npcname("#ghmemorialmob08")+"::OnMyMobDead";
	areamonster .@map$, 175, 163, 265, 18, "Corrupted Palace Guard", 2468, 7, .@label$;
	areamonster .@map$, 175, 163, 265, 18, "Wandering Archer", 2469, 7, .@label$;
	areamonster .@map$, 175, 163, 265, 18, "Corrupted Abysmal Knight", 2470, 7, .@label$;
	areamonster .@map$, 175, 163, 265, 18, "Suffered Khalitzburg", 2471, 7, .@label$;
	areamonster .@map$, 175, 163, 265, 18, "Bloody Knight", 2472, 7, .@label$;
	'MyMobs = 35;
	end;

OnMyMobDead:
	.@map$ = instance_mapname("2@gl_k");
	'MyMobs = 'MyMobs-1;
	if ('MyMobs == 0) {
		mapannounce(.@map$, _("An evil presence has teleported into this area."), bc_map, C_YELLOW, FW_NORMAL, 18);
		donpcevent instance_npcname("#ghmemorialmob09")+"::OnEnable";
		donpcevent instance_npcname("#ghmemorialmob08")+"::OnDisable";
	} else {
		.@label$ = instance_npcname("#ghmemorialmob08")+"::OnMyMobDead";
		switch (rand(5)) {
		case 0:
			areamonster(.@map$, 175, 163, 265, 18, _("Corrupted Palace Guard"), MG_RAYDRIC, 1, .@label$);
			break;
		case 1:
			areamonster(.@map$, 175, 163, 265, 18, _("Wandering Archer"), MG_RAYDRIC_ARCHER, 1, .@label$);
			break;
		case 2:
			areamonster(.@map$, 175, 163, 265, 18, _("Corrupted Abysmal Knight"), MG_KNIGHT_OF_ABYSS, 1, .@label$);
			break;
		case 3:
			areamonster(.@map$, 175, 163, 265, 18, _("Suffered Khalitzburg"), MG_KHALITZBURG, 1, .@label$);
			break;
		case 4:
			areamonster(.@map$, 175, 163, 265, 18, _("Bloody Knight"), MG_BLOODY_KNIGHT, 1, .@label$);
			break;
		}
	}
	end;
}

2@gl_k,0,0,0	script	#ghmemorialmob09	FAKE_NPC,{
	end;

OnInstanceInit:
OnDisable:
	disablenpc instance_npcname("#ghmemorialmob09");
	end;

OnEnable:
	enablenpc instance_npcname("#ghmemorialmob09");
	areamonster(instance_mapname("2@gl_k"), 175, 163, 265, 18, _("2nd Commander of Destruction"), MG_F_UNDEAD_KNIGHT, 1, instance_npcname("#ghmemorialmob09")+"::OnMyMobDead");
	end;

OnMyMobDead:
	.@map$ = instance_mapname("2@gl_k");
	if (mobcount(.@map$,instance_npcname("#ghmemorialmob09")+"::OnMyMobDead") < 1) {
		mapannounce(.@map$, _("A new portal has appeared at the end of the central corridor."), bc_map, C_YELLOW);
		donpcevent instance_npcname("#ghinstancewarp12")+"::OnEnable";
		donpcevent instance_npcname("#ghinstancewarp13")+"::OnEnable";
		donpcevent instance_npcname("#controlGH6")+"::OnEnable";
		donpcevent instance_npcname("#ghmemorialmob08")+"::OnDisable";
		donpcevent instance_npcname("#ghmemorialmob09")+"::OnDisable";
	}
	end;
}

2@gl_k,0,0,0	script	#ghmemorialmob10	FAKE_NPC,{
	end;

OnInstanceInit:
OnDisable:
	disablenpc instance_npcname("#ghmemorialmob10");
	end;

OnEnable:
	enablenpc instance_npcname("#ghmemorialmob10");
	donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnDisable";
	monster(instance_mapname("2@gl_k"), 158, 255, _("Amdarais"), MG_AMDARAIS, 1, instance_npcname("#ghmemorialmob10")+"::OnMyMobDead");
	unittalk($@mobid[0], _("Run away... run away from me..."));
	initnpctimer;
	end;

OnTimer6000:
	unittalk($@mobid[0], _("I don't want... I don't want to kill anyone. Uhuuuuuh"));
	end;

OnTimer12000:
	unittalk($@mobid[0], _("Please kill me! Please!"));
	end;

OnTimer18000:
	unittalk($@mobid[0], _("Eeeeee...eee...die... die..."));
	end;

OnTimer24000:
	unittalk($@mobid[0], _("Demolition... Death!..."));
	stopnpctimer;
	end;

OnMyMobDead:
	if (mobcount(instance_mapname("2@gl_k"),instance_npcname("#ghmemorialmob10")+"::OnMyMobDead") < 1) {
		donpcevent instance_npcname("Hugin#ghinstance1")+"::OnEnable";
		donpcevent instance_npcname("#ghinstancewarp15")+"::OnEnable";
		for (.@i = 1; .@i <= 8; .@i++)
			enablenpc instance_npcname("Strange crack#"+.@i);
		stopnpctimer;
		donpcevent instance_npcname("#ghmemorialmob10")+"::OnDisable";
	}
	end;
}

2@gl_k,155,250,7	script	Heinrich#ghinstance6	4_M_HEINRICH,{
	cutin "gl_heinrich1",2;
	mes("[Heinrich]");
	mes("What are you decorating Himelmez!");
	close2;
	cutin "gl_heinrich1",255;
	end;

OnInstanceInit:
OnDisable:
	hideonnpc instance_npcname("Heinrich#ghinstance6");
	end;

OnEnable:
	hideoffnpc instance_npcname("Heinrich#ghinstance6");
	end;
}

2@gl_k,162,250,1	script	Varmundt#ghinstance5	4_M_BARMUND,{
	cutin "gl_barmund2",2;
	mes("[Varmundt]");
	mes("Can't take off this bridle...");
	close2;
	cutin "gl_barmund2",255;
	end;

OnInstanceInit:
OnDisable:
	hideonnpc instance_npcname("Varmundt#ghinstance5");
	end;

OnEnable:
	hideoffnpc instance_npcname("Varmundt#ghinstance5");
	end;
}

2@gl_k,158,252,3	script	Himelmez#ghinstance4	4_F_HIMEL,{
	cutin "gl_himel2",2;
	mes("[Himelmez]");
	mes("That is amazing ~ you made it all the way here. May I say thank you?");
	close2;
	cutin "gl_himel2",255;
	end;

OnInstanceInit:
OnDisable:
	hideonnpc instance_npcname("Himelmez#ghinstance4");
	end;

OnEnable:
	hideoffnpc instance_npcname("Himelmez#ghinstance4");
	end;
}

2@gl_k,150,179,0	script	#controlGH6	HIDDEN_NPC,2,2,{
	end;

OnTouch:
	mapannounce(instance_mapname("2@gl_k"), _("???: Do not come here! It's a trap... Kkkkah!!!"), bc_map, C_RED, FW_NORMAL, 18);
	specialeffect EF_BASH;
	donpcevent instance_npcname("Himelmez#ghinstance3")+"::OnEnable";
	donpcevent instance_npcname("Heinrich#ghinstance6")+"::OnEnable";
	donpcevent instance_npcname("Varmundt#ghinstance5")+"::OnEnable";
	donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEnable";
	donpcevent instance_npcname("#controlGH6")+"::OnDisable";
	end;

OnInstanceInit:
OnDisable:
	disablenpc instance_npcname("#controlGH6");
	end;

OnEnable:
	enablenpc instance_npcname("#controlGH6");
	end;
}

2@gl_k,158,252,1	script	Himelmez#ghinstance3	4_F_HIMEL,7,7,{
	end;

OnTouch:
	specialeffect EF_BASH;
	donpcevent instance_npcname("#controlGH5")+"::OnEnable";
	donpcevent instance_npcname("Himelmez#ghinstance4")+"::OnEnable";
	donpcevent instance_npcname("Himelmez#ghinstance3")+"::OnDisable";
	end;

OnInstanceInit:
OnDisable:
	disablenpc instance_npcname("Himelmez#ghinstance3");
	end;

OnEnable:
	enablenpc instance_npcname("Himelmez#ghinstance3");
	end;
}

2@gl_k,158,255,3	script	Gerhalt#ghinstance1	4_LEVITATEMAN,{
	mes("[Gerhalt]");
	mes("Uuuuu... Khhhah!\r"
		"Just run away with the commander!");
	close;

OnInstanceInit:
OnDisable:
	hideonnpc instance_npcname("Gerhalt#ghinstance1");
	end;

OnEnable:
	hideoffnpc instance_npcname("Gerhalt#ghinstance1");
	end;

OnTalk3: /*Unused*/
	npctalk(_("Gerhalt : You can make my body but you can't take my soul Himelmez!"));
	end;

OnEffect1:
	specialeffect EF_BARRIER;
	end;

OnEffect2:
	specialeffect EF_CHAINCOMBO;
	end;

OnEffect3:
	specialeffect EF_MAPPILLAR2;
	end;

OnEffect4:
	specialeffect EF_MAPPILLAR;
	end;

OnEffect5:
	specialeffect EF_LORD;
	end;
}

2@gl_k,0,0,0	script	#controlGH5	FAKE_NPC,{
	end;

OnInstanceInit:
OnDisable:
	disablenpc instance_npcname("#controlGH5");
	end;

OnEnable:
	enablenpc instance_npcname("#controlGH5");
	initnpctimer;
	end;

OnTimer3000:
	npctalk(_("Amazing~ I thought that you were not even close to getting here..."), instance_npcname("Himelmez#ghinstance4"));
	end;

OnTimer6000:
	npctalk(_("Gerhalt : Kkkkah! Run away! I can't endure anymore!"), instance_npcname("Gerhalt#ghinstance1"));
	end;

OnTimer9000:
	npctalk(_("Gerhalt!"), instance_npcname("Heinrich#ghinstance6"));
	end;

OnTimer15000:
	npctalk(_("What are you doing to my soldier Himelmez!"), instance_npcname("Heinrich#ghinstance6"));
	end;

OnTimer18000:
	npctalk(_("Hoo hoo, I already found a piece of Ymir's heart Heinrich."), instance_npcname("Himelmez#ghinstance4"));
	end;

OnTimer21000:
	npctalk(_("If he did not bother me, it would have been faster."), instance_npcname("Himelmez#ghinstance4"));
	end;

OnTimer24000:
	npctalk(_("Gerhalt : Commandant... Come on, you need to run away from here... Ugh."), instance_npcname("Gerhalt#ghinstance1"));
	end;

OnTimer27000:
	npctalk(_("Really? What makes you think so?"), instance_npcname("Himelmez#ghinstance4"));
	end;

OnTimer30000:
	npctalk(_("Himelmez! You already made what you want so there is no more need for a sacrifice!"), instance_npcname("Heinrich#ghinstance6"));
	end;

OnTimer33000:
	npctalk(_("Let him go! I don't need to see anyone else suffer!"), instance_npcname("Heinrich#ghinstance6"));
	end;

OnTimer36000:
	npctalk(_("Let him go? I think... No..."), instance_npcname("Himelmez#ghinstance4"));
	end;

OnTimer39000:
	npctalk(_("Besides, this is your last surviving soldier Heinrich."), instance_npcname("Himelmez#ghinstance4"));
	end;

OnTimer42000:
	npctalk(_("He made life difficult for me."), instance_npcname("Himelmez#ghinstance4"));
	end;

OnTimer45000:
	npctalk(_("He is perfectly fit for my new creation Amdarais."), instance_npcname("Himelmez#ghinstance4"));
	end;

OnTimer48000:
	npctalk(_("I'll never forgive you."), instance_npcname("Heinrich#ghinstance6"));
	end;

OnTimer51000:
	npctalk(_("Uh uh~ I'm so scared."), instance_npcname("Himelmez#ghinstance4"));
	end;

OnTimer54000:
	npctalk(_("Anyway, we will have a chance to see because we need to talk more."), instance_npcname("Himelmez#ghinstance4"));
	end;

OnTimer57000:
	npctalk(_("So long boys."), instance_npcname("Himelmez#ghinstance4"));
	end;

OnTimer60000:
	donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEffect1";
	end;

OnTimer63000:
	donpcevent instance_npcname("Himelmez#ghinstance4")+"::OnDisable";
	end;

OnTimer65000:
	donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEffect3";
	end;

OnTimer66000:
	donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEffect2";
	end;

OnTimer67000:
	npctalk(_("I'll never let you get away Himelmez!!"), instance_npcname("Heinrich#ghinstance6"));
	donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEffect4";
	end;

OnTimer70000:
	donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEffect3";
	donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEffect4";
	donpcevent instance_npcname("Heinrich#ghinstance6")+"::OnDisable";
	npctalk(_("We have no choice. We have to fight against Amdarais!"), instance_npcname("Varmundt#ghinstance5"));
	donpcevent instance_npcname("Varmundt#ghinstance5")+"::OnDisable";
	end;

OnTimer73000:
	mapannounce(instance_mapname("2@gl_k"), _("Gerhalt's body changing."), bc_map, C_WHITE);
	end;

OnTimer76000:
	donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEffect5";
	end;

OnTimer80000:
	donpcevent instance_npcname("#ghmemorialmob10")+"::OnEnable";
	stopnpctimer;
	donpcevent instance_npcname("#controlGH5")+"::OnDisable";
	end;
}

2@gl_k,158,241,1	script	Hugin#ghinstance1	4_M_SAGE_C,{
	if (questprogress(12319, HUNTING) == 2) {
		mes("[Hugin]");
		mes("Hm, you are very well. First of all, let me give you some loot from Amdarais.");
		erasequest 12319;
		setquest 12321;
		setquest 12322;
		erasequest 12321;
		if (gh_instance == 1) {
			getitem Temporal_Crystal, 1;
			getitem Coagulated_Spell, 1;
		} else {
			getitem Temporal_Crystal, 5;
			getitem Coagulated_Spell, 5;
			gh_instance = 1;
		}
		getexp(350000, 350000);
		next;
		mes("[Hugin]");
		mes("Varmundt's time is stopped by me. And your time will be distorted soon.");
		specialeffect(EF_BLIND,AREA, AREA, playerattached());
		soundeffect "_blind.wav",0;
		next;
		mes("[Hugin]");
		mes("Maybe this poor time traveler will try to stop Glast Heim's tragedy from happening.");
		next;
		mes("[Hugin]");
		mes("However, we will never overlook his behavior now and forever...");
		next;
		mes("[Hugin]");
		mes("Now, let me remove your memory. If you see me again, that will be brand new.");
		specialeffect(EF_FREEZE, AREA, playerattached());
		close2;
		getmapxy(.@map$, .@x, .@y, UNITTYPE_PC);
		warp .@map$,.@x,.@y;
		end;
	} else {
		mes("[Hugin]");
		mes("Oops I almost distorted the time gap. Come over here. We need to go out!");
		next;
		select("You were just with me...");
		mes("[Hugin]");
		mes("What did you say just before? Anyway that is not important, The gap of time will be closed so, we need to get out of here.");
		next;
		switch(select("Let me look around more:Please let me out")) {
		case 1:
			mes("[Hugin]");
			mes("Really? This place will be broke down so, please look around quickly.");
			close;
		case 2:
			close2;
			warp "glast_01",204,270;
			end;
		}
	}

OnInstanceInit:
OnDisable:
	disablenpc instance_npcname("Hugin#ghinstance1");
	end;

OnEnable:
	enablenpc instance_npcname("Hugin#ghinstance1");
	end;
}

// Treasure Room
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
// TODO: Need script command makeitem2
1@gl_k,269,267,0	script	Strange crack#entrace	HIDDEN_NPC,{
	if (!questprogress(12322)) {
		mes("The crack looks suspicious, but nothing more to check.");
		close;
	}
	.@map$ = instance_mapname("1@gl_k");
	warp .@map$,149,193;
	end;
}

1@gl_k,129,136,0	script	Strange crack#1	HIDDEN_NPC,{
	specialeffect EF_SPELLBREAKER;
	specialeffect EF_BASH;
	.@random = rand(1, 4);
	.@random_ = rand(1, 4);
	for (.@i = 1; .@i <= .@random; .@i++) {
		makeitem White_Jewel, 1, "this", 129, 138;
	}
	makeitem Coagulated_Spell, 1, "this", 129, 138;
	if (.@random_ == 4) {
		//makeitem2 Heavy_Sword, 1, "this", 129, 138, 0, 0, 0, 0, 0, 0, 0;
		makeitem Heavy_Sword, 1, "this", 129, 138;
	}
	// FIXME[Haru]: Intention is not clear. Either add 'end;' or add '/* Fall through */'

OnInstanceInit:
OnDisable:
	disablenpc instance_npcname("Strange crack#1");
	end;

OnEnable:
	enablenpc instance_npcname("Strange crack#1");
	end;
}

1@gl_k,135,136,0	script	Strange crack#2	HIDDEN_NPC,{
	specialeffect EF_SPELLBREAKER;
	specialeffect EF_BASH;
	.@random = rand(1, 4);
	.@random_ = rand(1, 4);
	for (.@i=1; .@i<=.@random; .@i++) {
		makeitem Blue_Jewel, 1, "this", 135, 138;
	}
	if (.@random_ == 4) {
		//makeitem2 Staff_Of_Geffen, 1, "this", 135, 138, 0, 0, 0, 0, 0, 0, 0;
		makeitem Staff_Of_Geffen, 1, "this", 135, 138;
	}
	makeitem Coagulated_Spell, 1, "this", 135, 138;
	// FIXME[Haru]: Intention is not clear. Either add 'end;' or add '/* Fall through */'

OnInstanceInit:
OnDisable:
	disablenpc instance_npcname("Strange crack#2");
	end;

OnEnable:
	enablenpc instance_npcname("Strange crack#2");
	end;

}
1@gl_k,141,136,0	script	Strange crack#3	HIDDEN_NPC,{
	specialeffect EF_SPELLBREAKER;
	specialeffect EF_BASH;
	.@random = rand(1, 4);
	.@random_ = rand(1, 4);
	for (.@i=1; .@i<=.@random; .@i++) {
		makeitem Red_Jewel, 1, "this", 141, 138;
	}
	makeitem Coagulated_Spell, 1, "this", 141, 138;
	makeitem Gold_Bullion, 1, "this", 141, 138;
	if (.@random_ == 4) {
		//makeitem2 Ceremonial_Sword, 1, "this", 141, 138, 0, 0, 0, 0, 0, 0, 0;
		makeitem Ceremonial_Sword, 1, "this", 141, 138;
	}
	// FIXME[Haru]: Intention is not clear. Either add 'end;' or add '/* Fall through */'

OnInstanceInit:
OnDisable:
	disablenpc instance_npcname("Strange crack#3");
	end;

OnEnable:
	enablenpc instance_npcname("Strange crack#3");
	end;
}

1@gl_k,147,136,0	script	Strange crack#4	HIDDEN_NPC,{
	specialeffect EF_SPELLBREAKER;
	specialeffect EF_BASH;
	.@random = rand(1, 4);
	.@random_ = rand(1, 4);
	for (.@i=1; .@i<=.@random; .@i++) {
		makeitem Scarlet_Jewel, 1, "this", 147, 138;
	}
	if (.@random_ == 4) {
		//makeitem2 Silversmith_Bracelet, 1, "this", 147, 138, 0, 0, 0, 0, 0, 0, 0;
		makeitem Silversmith_Bracelet, 1, "this", 147, 138;
	}
	makeitem Coagulated_Spell, 1, "this", 147, 138;
	makeitem Gold_Coin_Basket, 1, "this", 147, 138;
	makeitem Colorful_Brooch, 1, "this", 147, 138;
	// FIXME[Haru]: Intention is not clear. Either add 'end;' or add '/* Fall through */'

OnInstanceInit:
OnDisable:
	disablenpc instance_npcname("Strange crack#4");
	end;

OnEnable:
	enablenpc instance_npcname("Strange crack#4");
	end;
}

1@gl_k,153,136,0	script	Strange crack#5	HIDDEN_NPC,{
	specialeffect EF_SPELLBREAKER;
	specialeffect EF_BASH;
	.@random = rand(1, 4);
	.@random_ = rand(1, 4);
	for (.@i=1; .@i<=.@random; .@i++) {
		makeitem Azure_Jewel, 1, "this", 153, 138;
	}
	makeitem Coagulated_Spell, 1, "this", 153, 138;
	makeitem White_Gold_Bullion, 1, "this", 153, 138;
	if (.@random_ == 4) {
		//makeitem2 Goldsmithing_Dagger, 1, "this", 153, 138, 0, 0, 0, 0, 0, 0, 0;
		makeitem Goldsmithing_Dagger, 1, "this", 153, 138;
	}
	// FIXME[Haru]: Intention is not clear. Either add 'end;' or add '/* Fall through */'

OnInstanceInit:
OnDisable:
	disablenpc instance_npcname("Strange crack#5");
	end;

OnEnable:
	enablenpc instance_npcname("Strange crack#5");
	end;
}

1@gl_k,159,136,0	script	Strange crack#6	HIDDEN_NPC,{
	specialeffect EF_SPELLBREAKER;
	specialeffect EF_BASH;
	.@random = rand(1, 4);
	.@random_ = rand(1, 4);
	for (.@i=1; .@i<=.@random; .@i++) {
		makeitem Skyblue_Jewel, 1, "this", 159, 138;
	}
	makeitem Coagulated_Spell, 1, "this", 159, 138;
	makeitem Silver_Bullion, 1, "this", 159, 138;
	if (.@random_ == 4) {
		//makeitem2 Engraved_Armor, 1, "this", 159, 138, 0, 0, 0, 0, 0, 0, 0;
		makeitem Engraved_Armor, 1, "this", 159, 138;
	}
	// FIXME[Haru]: Intention is not clear. Either add 'end;' or add '/* Fall through */'

OnInstanceInit:
OnDisable:
	disablenpc instance_npcname("Strange crack#6");
	end;

OnEnable:
	enablenpc instance_npcname("Strange crack#6");
	end;
}

1@gl_k,165,136,0	script	Strange crack#7	HIDDEN_NPC,{
	specialeffect EF_SPELLBREAKER;
	specialeffect EF_BASH;
	.@random = rand(1, 4);
	for (.@i=1; .@i<=.@random; .@i++) {
		makeitem Violet_Jewel, 1, "this", 165, 138;
	}
	makeitem Coagulated_Spell, 1, "this", 165, 138;
	// FIXME[Haru]: Intention is not clear. Either add 'end;' or add '/* Fall through */'

OnInstanceInit:
OnDisable:
	disablenpc instance_npcname("Strange crack#7");
	end;

OnEnable:
	enablenpc instance_npcname("Strange crack#7");
	end;
}

1@gl_k,171,136,0	script	Strange crack#8	HIDDEN_NPC,{
	specialeffect EF_SPELLBREAKER;
	specialeffect EF_BASH;
	.@random = rand(1, 4);
	for (.@i=1; .@i<=.@random; .@i++) {
		makeitem Dark_Red_Jewel, 1, "this", 171, 138;
	}
	makeitem Coagulated_Spell, 1, "this", 171, 138;
	// FIXME[Haru]: Intention is not clear. Either add 'end;' or add '/* Fall through */'

OnInstanceInit:
OnDisable:
	disablenpc instance_npcname("Strange crack#8");
	end;

OnEnable:
	enablenpc instance_npcname("Strange crack#8");
	end;
}

// Merchant, and Trade NPC - Get Temporal Boots --> exchange to Temporal_*_Boots
// Upon trade all refines got removed
// Uses Temporal_Crystal
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
glast_01,210,273,5	script	Hugin's Butler	1_F_04,{
	disable_items;
	mes("[Hugin's Butler]"); // custom check
	if (MaxWeight - Weight < 1000) {
		mes("Your bag is too heavy. Reduce some weight and come back.");
		close;
	}
	mes("I would like to thank you for helping my master Hugin. I can transmute your ^FF0000Temporal Crystals^000000 into a pair of boots that have withstood the test of time... the ^FF0000Temporal Boots^000000.");
	next;
	mes("[Hugin's Butler]");
	mes("What would you like me to do young adventurer?");
	next;
	switch (select("Give me the Temporal Boots", "Upgrade my Temporal Boots")) {
	case 1:
		if (countitem(Temporal_Crystal) > 0) {
			mes("[Hugin's Butler]");
			mes("Take these Temporal Boots. We can upgrade your Temporal Boots with 5 Temporal Crystals.");
			delitem Temporal_Crystal, 1;
			getitem Temporal_Boots, 1;
			close;
		}
		mes("[Hugin's Butler]");
		mes("You need more Temporal Crystals. Come back when you get some more Temporal Crystals during your travel through Old Glast Heim.");
		close;
	case 2:
		.@part = EQI_SHOES;
		if (!getequipisequiped(.@part)) {
			mes("[Hugin's Butler]");
			mes("Wear the ^0000FFTemporal Boots^000000 you want to upgrade, and then talk to me once again.");
			close;
		}
		if (!isequipped(Temporal_Boots)) { // check
			mes("[Hugin's Butler]");
			mes("You are not wearing the Temporal Boots. Talk to me once you're wearing them.");
			close;
		}
		if (countitem(Temporal_Crystal) < 5) {
			mes("[Hugin's Butler]");
			mes("Not enough Temporal Crystals. You need ^FF00005 Temporal Crystals^000000 to upgrade your boots.");
			close;
		}
		mes("[Hugin's Butler]");
		mes("You can trade ^0000FF1 Temporal Boots and 5 Temporal Crystals^000000 for 1 of the following items. ^FF0000Previous refine rate will not be retained with these new ones^000000.");
		next;
		setarray .@type$[0], "Strength", "Intelligence", "Agility", "Vitality", "Dexterity", "Luck";
		setarray .@equip_type[0], Temporal_Str_Boots, Temporal_Int_Boots, Temporal_Agi_Boots, Temporal_Vit_Boots, Temporal_Dex_Boots, Temporal_Luk_Boots;
		.@select = select("Cancel", "Str Boots", "Int Boots", "Agi Boots", "Vit Boots", "Dex Boots", "Luk Boots");
		switch (.@select) {
		case 1:
			mes("[Hugin's Butler]");
			mes("Come back anytime you want.");
			close;
		case 2:
		case 3:
		case 4:
		case 5:
		case 6:
		case 7:
			mes("[Hugin's Butler]");
			mesf("Are you sure about buying Temporal ^FF0000%s^000000 Boots? There is no refund.", .@type$[.@select-2]);
			next;
			if (select("Think again", "Yes, I am sure.") == 2) {
				mes("[Hugin's Butler]");
				mes("The boots has been upgraded as you want.");
				delequip .@part;
				delitem Temporal_Crystal, 5;
				getitem2 .@equip_type[.@select-2], 1, 1, 0, 0, 0, 0, 0, 0; // Temporal_Str_Boots, Temporal_Int_Boots, Temporal_Agi_Boots, Temporal_Vit_Boots, Temporal_Dex_Boots, Temporal_Luk_Boots
				close;
			}
			mes("[Hugin's Butler]");
			mes("Ok, come back again when you are sure.");
			close;
		}
	}
}

// Enchant NPC - Coagulated Spell to enchants on 4th slot. First one to pick --> upgraded --> additional random enchant on 3rd slot
// Adding a socket on the Craftsman NPC will remove the 3rd and 4th slot enchants of the Temporal_*_Boots
// Enchanting can fail, the 3th slot random one is guaranteed
// Refine remains
// Item Used: Coagulated_Spell
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
glast_01,212,273,4	script	Hugin's Magic Master	1_F_01,{ // Custom text due to official enchant mechanics
	disable_items;
	if (MaxWeight - Weight < 1000) {
		mes("Your bag is too heavy. Reduce some weight and come back.");
		close;
	}
	mes("[Hugin's Magic Master]"); // Custom text
	mes("So you came to enchant the Temporal Boots. Be aware that adding a socket do your boots will remove my enchants as well as it's refine. It is only possible for the boots you are wearing.");
	next;
	if (select("How does the enchanting work?", "Give effect to my Temporal Boots") == 1) {
		mes("[Hugin's Magic Master]");
		mes("You can obtain ^0000FFCoagulated Spell^000000 through your time travels.");
		next;
		mes("[Hugin's Magic Master]");
		mes("I can enchant your Temporal Boots with a variing amount of that item. ^0000FFAvailable for all Temporal STAT Boots^000000.");
		next;
		mes("[Hugin's Magic Master]");
		mes("But, once you try to put a socket into the item, it will be resetted. So if you want a socket, you should do it first. Be sure to remember that.");
		next;
		mes("[Hugin's Magic Master]");
		mes("I don't give out effect randomly. You can pick which effect you want for the item.");
		next;
		mes("[Hugin's Magic Master]");
		mes("Of course it is for 4th slot only. You can have small effect at the start and then the effect grows stronger.\r"
			"^FF0000Remember: It can fail and break your item!^000000");
		next;
		mes("[Hugin's Magic Master]");
		mes("To get to the final option upgrade it will require way more Coagulated Spells. Don't forget that.");
		next;
		mes("[Hugin's Magic Master]");
		mes("Once the 4th slot completes the best option, you get to have a random bonus effect to the 3rd slot. With.. certain payment and a ^0000FFguaranteed success rate~^000000");
		next;
		mes("[Hugin's Magic Master]");
		mes("^FF0000Again: there is a risk on failing and breaking the item^000000.\r"
			"But if the enchant is applied successful, ^0000FFthe refine and everything else will be retained.^000000");
		next;
		mes("[Hugin's Magic Master]");
		mes("Phew... Anyways, that's all for basic enchant information. Now you should see for yourself.");
		close;
	}
	.@part = EQI_SHOES;
	if (!getequipisequiped(.@part)) {
		mes("[Hugin's Magic Master]");
		mes("Are you wearing the item?");
		close;
	}
	.@equip_refine = getequiprefinerycnt(.@part);
	.@equip_id = getequipid(.@part);
	.@equip_name$ = getequipname(.@part);
	.@card0 = getequipcardid(.@part, 0);
	.@card3 = getequipcardid(.@part, 3);
	setarray .@enchant1st[0], Fighting_Spirit4, Expert_Archer1, Spell2, Vitality2, Attack_Delay_1, Luck3;
	setarray .@enchant2nd[0], Fighting_Spirit5, Expert_Archer2, Spell3, Vitality3, Attack_Delay_2, Luck4;
	setarray .@enchant3rd[0], Fighting_Spirit6, Expert_Archer3, Spell4, MHP1, Attack_Delay_3, Luck5;
	setarray .@enchant4th[0], Fighting_Spirit7, Expert_Archer4, Spell5, MHP2, Attack_Delay_4, Luck6;
	setarray .@enchant_cost[0], 1, 4, 15, 30, 10; // Coagulated_Spell costs
	setarray .@enchant_rate[0], 90, 80, 70, 50, 100; // Enchant Success Rate in %
	.@random = rand(1, 100);
	switch (.@equip_id) {
	case Temporal_Str_Boots:
	case Temporal_Int_Boots:
	case Temporal_Agi_Boots:
	case Temporal_Vit_Boots:
	case Temporal_Dex_Boots:
	case Temporal_Luk_Boots:
	case Temporal_Str_Boots_:
	case Temporal_Int_Boots_:
	case Temporal_Agi_Boots_:
	case Temporal_Vit_Boots_:
	case Temporal_Dex_Boots_:
	case Temporal_Luk_Boots_:
		if (.@card3 == 0) { //4th slot 1st try enchanting
			.@cost = .@enchant_cost[0];
			.@scs = .@enchant_rate[0];
			.@number = 1;
			mes("[Hugin's Magic Master]");
			mesf("Want to enchant ^0000FF%s^000000? For the 1st enchanting, you need ^FF0000%d^000000 ^0000FFCoagulated Spells.^000000", .@equip_name$, .@cost);
			next;
			.@select = select("Quit", "Fighting Spirit", "Archery", "Spell", "Vitality", "Attack Speed", "Luck");
			switch (.@select) {
			case 1:
				mes("[Hugin's Magic Master]");
				mes("Ok, come back when you are ready.");
				close;
			case 2:
				.@enchant = .@enchant1st[.@select-2];
				break;
			case 3:
				.@enchant = .@enchant1st[.@select-2];
				break;
			case 4:
				.@enchant = .@enchant1st[.@select-2];
				break;
			case 5:
				.@enchant = .@enchant1st[.@select-2];
				break;
			case 6:
				.@enchant = .@enchant1st[.@select-2];
				break;
			case 7:
				.@enchant = .@enchant1st[.@select-2];
				break;
			}
		} else {
			if (.@card3 == .@enchant1st[0] || .@card3 == .@enchant1st[1] || .@card3 == .@enchant1st[2] ||
				.@card3 == .@enchant1st[3] || .@card3 == .@enchant1st[4] || .@card3 == .@enchant1st[5]) {
				.@cost = .@enchant_cost[1];
				.@scs = .@enchant_rate[1];
				.@number = 2;
			} else if (.@card3 == .@enchant2nd[0] || .@card3 == .@enchant2nd[1] || .@card3 == .@enchant2nd[2] ||
				.@card3 == .@enchant2nd[3] || .@card3 == .@enchant2nd[4] || .@card3 == .@enchant2nd[5]) {
				.@cost = .@enchant_cost[2];
				.@scs = .@enchant_rate[2];
				.@number = 3;
			} else if (.@card3 == .@enchant3rd[0] || .@card3 == .@enchant3rd[1] || .@card3 == .@enchant3rd[2] ||
				.@card3 == .@enchant3rd[3] || .@card3 == .@enchant3rd[4] || .@card3 == .@enchant3rd[5]) {
				.@cost = .@enchant_cost[3];
				.@scs = .@enchant_rate[3];
				.@number = 4;
			} else if (.@card3 == .@enchant4th[0] || .@card3 == .@enchant4th[1] || .@card3 == .@enchant4th[2] ||
				.@card3 == .@enchant4th[3] || .@card3 == .@enchant4th[4] || .@card3 == .@enchant4th[5]) {
				.@card2 = getequipcardid(.@part, 2);
				.@cost = .@enchant_cost[4];
				.@scs = .@enchant_rate[4];
				if (.@card2 != 0) {
					mes("[Hugin's Magic Master]"); // Custom text
					mes("Your shoes have reached the maximum option to enchant.");
					mes("Please bring me a new one if you want me to enchant again.");
					close;
				}
				// 3rd slot random enchanting
				switch (.@card3) {
				case Fighting_Spirit7:
				case Expert_Archer4:
				case Spell5:
				case MHP2:
				case Attack_Delay_4:
				case Luck6:
					.@enchant = callfunc("F_Rand", Bears_Power, Runaway_Magic, Speed_Of_Light, Muscle_Fool, Hawkeye, Lucky_Day);
					mes("[Hugin's Magic Master]"); // Custom text
					mes("Seems you already completed the best upgrade option in your 4th slot. For that I can give a random bonus effect to your 3rd slot. And of course, with certain payment...");
					next;
					mes("[Hugin's Magic Master]");
					mesf("Enchanting ^0000FF%s^000000's 3rd slot for obtaining a random bonus effect. Requires ^FF0000%d^000000 ^0000FFCoagulated Spells^000000", .@equip_name$, .@cost);
					next;
					if (select("Quit", "Effect Upgrade!") == 1) {
						mes("[Hugin's Magic Master]");
						mes("Ok, come back when you are ready.");
						close;
					}
					if (countitem(Coagulated_Spell) < .@cost) {
						mesf("Hmm, you are missing %s Coagulated Spells. Go get more, and then we can talk about more enchants.", .@cost - countitem(Coagulated_Spell));
						close;
					}
					if (.@random > .@scs) {
						mes("Arrggg, we failed. Better luck next time.");
						specialeffect(EF_PHARMACY_FAIL, AREA, playerattached()); delitem Coagulated_Spell, .@cost; delequip .@part;
						close;
					}
					specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
					delitem Coagulated_Spell, .@cost;
					delequip .@part;
					mes("[Hugin's Magic Master]");
					mes("This is it! This special stone is now yours Hahaha... I am really the only master of these things. Thank you for believing in me.");
					getitem2 .@equip_id, 1, 1, .@equip_refine, 0, .@card0, 0, .@enchant, .@card3;
					close;
				}
			}
			// 4th slot 2nd try enchanting
			if (.@card3 == .@enchant1st[0])
				.@enchant = .@enchant2nd[0];
			else if (.@card3 == .@enchant1st[1])
				.@enchant = .@enchant2nd[1];
			else if (.@card3 == .@enchant1st[2])
				.@enchant = .@enchant2nd[2];
			else if (.@card3 == .@enchant1st[3])
				.@enchant = .@enchant2nd[3];
			else if (.@card3 == .@enchant1st[4])
				.@enchant = .@enchant2nd[4];
			else if (.@card3 == .@enchant1st[5])
				.@enchant = .@enchant2nd[5];
			// 4th slot 3rd try enchanting
			if (.@card3 == .@enchant2nd[0])
				.@enchant = .@enchant3rd[0];
			else if (.@card3 == .@enchant2nd[1])
				.@enchant = .@enchant3rd[1];
			else if (.@card3 == .@enchant2nd[2])
				.@enchant = .@enchant3rd[2];
			else if (.@card3 == .@enchant2nd[3])
				.@enchant = .@enchant3rd[3];
			else if (.@card3 == .@enchant2nd[4])
				.@enchant = .@enchant3rd[4];
			else if (.@card3 == .@enchant2nd[5])
				.@enchant = .@enchant3rd[5];
			// 4th slot 4th try enchanting
			if (.@card3 == .@enchant3rd[0])
				.@enchant = .@enchant4th[0];
			else if (.@card3 == .@enchant3rd[1])
				.@enchant = .@enchant4th[1];
			else if (.@card3 == .@enchant3rd[2])
				.@enchant = .@enchant4th[2];
			else if (.@card3 == .@enchant3rd[3])
				.@enchant = .@enchant4th[3];
			else if (.@card3 == .@enchant3rd[4])
				.@enchant = .@enchant4th[4];
			else if (.@card3 == .@enchant3rd[5])
				.@enchant = .@enchant4th[5];
			mes("[Hugin's Magic Master]");
			mesf("Enchanting ^0000FF%s^000000's 4th slot as ^0000FF%d^000000 level effect. Requires ^FF0000%d^000000 ^0000FFCoagulated Spells.^000000", .@equip_name$, .@number, .@cost);
			next;
			if (select("Quit", "Effect Upgrade!") == 1) {
				mes("[Hugin's Magic Master]");
				mes("Ok, come back when you are ready.");
				close;
			}
			if (countitem(Coagulated_Spell) < .@cost) {
				mesf("Hmm, you are missing %d Coagulated Spells. Go get more, and then we can talk about more enchants.", .@cost - countitem(Coagulated_Spell));
				close;
			}
			if (.@random > .@scs) {
				mes("Arrggg, we failed. Better luck next time.");
				specialeffect(EF_PHARMACY_FAIL, AREA, playerattached());
				delitem Coagulated_Spell, .@cost;
				delequip .@part;
				close;
			}
		}
		break;
	default:
		mes("[Hugin's Magic Master]");
		mes("This is not the right item for this enchant. Remember, only those 6 types of Temporal Boots are available for enchanting.");
		close;
	}
	mes("[Hugin's Magic Master]");
	if (countitem(Coagulated_Spell) < .@cost) {
		mesf("Hmm, you are missing %d Coagulated Spells. Go get more, and then we can talk about more enchants.", .@cost - countitem(Coagulated_Spell));
		close;
	}
	if (.@random > .@scs) {
		mes("Arrggg, we failed. Better luck next time.");
		specialeffect(EF_PHARMACY_FAIL, AREA, playerattached());
		delitem Coagulated_Spell, .@cost;
		delequip .@part;
		close;
	}
	specialeffect(EF_REPAIRWEAPON, AREA, playerattached());
	delitem Coagulated_Spell, .@cost;
	delequip .@part;
	mes("[Hugin's Magic Master]");
	mesf("Adding enchant  number ^630000%d^000000.", .@number);
	getitem2 .@equip_id, 1, 1, .@equip_refine, 0, .@card0, 0, 0, .@enchant;
	close;
}

// Socket NPC - Corrupted_Charm or Temporal_Crystal to add card slot
// After the boots were slotted, you can still enchant, but slotting removes any enchants and refines applied before.
// Item Used: Corrupted_Charm, Temporal_Crystal
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
glast_01,210,270,0	script	Hugin's Craftsman	4_F_JOB_BLACKSMITH,{
	disable_items;
	if (MaxWeight - Weight < 1000) {
		mes("Your bag is too heavy. Reduce some weight and come back.");
		close;
	}
	mes("[Hugin's Craftsman]");
	mes("That Magic Master always says that enchanting Temporal Boots is the best. But, I think I can beat that!");
	next;
	mes("[Hugin's Craftsman]");
	mes("I can try putting a slot into your boots. But there is some ^FF0000risk of failing.^000000");
	next;
	mes("[Hugin's Craftsman]");
	mes("Bring me ^0000FF50 Contaminated Magic^000000 or ^0000FF10 Temporal Crystals^000000, and I will try to put a slot into your advanced Temporal Boots.");
	next;
	mes("[Hugin's Craftsman]");
	mes("But, it's possible to ^FF0000fail and break the item^000000. Is that ok?");
	next;
	if (select("Cancel", "Take the risk and try to add a slot") == 1) {
		mes("[Hugin's Craftsman]");
		mes("Ok, come back anytime you want.");
		close;
	}
	.@part = EQI_SHOES;
	if (!getequipisequiped(.@part)) {
	mes("[Hugin's Craftsman]");
	mes("Are you sure you are wearing the item?");
	close;
	}
	.@equip_id = getequipid(.@part);
	switch (.@equip_id) {
	case Temporal_Str_Boots:
	case Temporal_Int_Boots:
	case Temporal_Agi_Boots:
	case Temporal_Vit_Boots:
	case Temporal_Dex_Boots:
	case Temporal_Luk_Boots:
		mes("[Hugin's Craftsman]");
		mes("The ^FF0000Boots and all enchants or refines will be lost if you fail this.^000000\r"
				"Still want to risk it?");
		next;
		if (select("Cancel", "I am ok with it!") == 1) {
			mes("[Hugin's Craftsman]");
			mes("Ok, come back anytime you want.");
			close;
		}
		mes("[Hugin's Craftsman]");
		mes("Once again, ^FF0000That Magic Master won't enchant any item with a slot.^000000\r"
				"Still want to proceed?");
		next;
		if (select("Cancel", "I understand. Try to slot it.") == 1) {
			mes("[Hugin's Craftsman]");
			mes("Ok, come back anytime you want.");
			close;
		}
		mes("[Hugin's Craftsman]");
		mes("Then my last question:\r"
				"Which item are you gonna use to pay me?");
		next;
		setarray .@slotpay[0], Temporal_Crystal, Corrupted_Charm;
		setarray .@slotcost[0], 10, 50;
		setarray .@slotchance[0], 80, 65; // Custom rates
		.@select = select("Cancel", "Temporal Crystal", "Contaminated Magic");
		switch (.@select) {
		case 1:
			mes("[Hugin's Craftsman]");
			mes("Come back anytime you want.");
			close;
		case 2:
		case 3:
			.@item = .@slotpay[.@select-2];
			.@cost = .@slotcost[.@select-2];
			.@chance = .@slotchance[.@select-2];
			if (countitem(.@item) < .@cost) {
				mes("[Hugin's Craftsman]");
				mesf("Requires ^FF0000%d^000000 ^0000FF%s^000000.", .@cost, getitemname(.@item));
				close;
			}
		}
		.@random = rand(1, 100);
		if (.@random > .@chance) {
			mes("[Hugin's Craftsman]");
			mes("Arrggg, we failed. Better luck next time.");
			specialeffect(EF_PHARMACY_FAIL, AREA, playerattached());
			delitem .@item, .@cost;
			delequip .@part;
			close;
		}
		mes("[Hugin's Craftsman]");
		mesf("Yuhuu~ we succeed. There you go... A slot has been added to your ^FF0000%s^000000. Thank you for believing in me.", getitemname(.@equip_id));
		delitem .@item, .@cost;
		specialeffect(EF_PHARMACY_OK, AREA, playerattached());
		delequip .@part;
		// todo: read aegis name and attach "_" to worn constant
		if (.@equip_id == Temporal_Str_Boots) {
			getitem2 Temporal_Str_Boots_, 1, 1, 0, 0, 0, 0, 0, 0;
		} else if (.@equip_id == Temporal_Int_Boots) {
			getitem2 Temporal_Int_Boots_, 1, 1, 0, 0, 0, 0, 0, 0;
		} else if (.@equip_id == Temporal_Agi_Boots) {
			getitem2 Temporal_Agi_Boots_, 1, 1, 0, 0, 0, 0, .0, 0;
		} else if (.@equip_id == Temporal_Vit_Boots) {
			getitem2 Temporal_Vit_Boots_, 1, 1, 0, 0, 0, 0, 0, 0;
		} else if (.@equip_id == Temporal_Dex_Boots) {
			getitem2 Temporal_Dex_Boots_, 1, 1, 0, 0, 0, 0, 0, 0;
		} else if (.@equip_id == Temporal_Luk_Boots) {
			getitem2 Temporal_Luk_Boots_, 1, 1, 0, 0, 0, 0, 0, 0;
		}
		close;
	default:
		mes("[Hugin's Craftsman]");
		mes("This is not it! We need ^FF0000Advanced Temporal Boots^000000! The item ^0000FFwith a stat effect and without a slot^000000!");
		close;
	}
}

// Knight Cards
// White Knight Card cost 70 red coagulated spells or 3000 blue coagulated spells
// Khalitzburg Knight Card cost 100 red coagulated spells or 5000 blue coagulated spells
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
glast_01,188,273,5	script	White Knight#1a	4_WHITEKNIGHT,{
	disable_items;
	mes("[White Knight]"); // custom
	if (MaxWeight - Weight < 1000) {
		mes("Your bag is too heavy. Reduce some weight and come back.");
		close;
	}
	mes("I exchange you a White Knight Card for ^0000FF3000 Coagulated Spell^000000 or ^FF000070 Contaminated Magic^000000.");
	mes("<ITEMLINK>White Knight Card<INFO>4608</INFO></ITEMLINK>");
	next;
	setarray .@item[0], Coagulated_Spell, Corrupted_Charm;
	setarray .@cost[0], 3000, 70;
	.@select = select("Cancel", "^0000FFUse Coagulated Spell^000000", "^FF0000Use Contaminated Magic^000000");
	switch (.@select) {
	case 1:
		mes("[White Knight]");
		mes("Come back any time.");
		close;
	case 2:
	case 3:
		.@item = .@item[.@select-2];
		.@cost = .@cost[.@select-2];
		if (countitem(.@item) < .@cost) {
			mes("[White Knight]");
			mesf("Requires ^0000FF%d %s^000000.", .@cost, getitemname(.@item));
			close;
		}
		delitem .@item, .@cost;
		getitem White_Knightage_Card, 1;
		close;
	}
}

glast_01,192,273,3	script	Khalitzburg Knight#1a	4_F_KHALITZBURG,{
	disable_items;
	mes("[Khalitzburg Knight]"); // custom
	if (MaxWeight - Weight < 1000) {
		mes("Your bag is too heavy. Reduce some weight and come back.");
		close;
	}
	mes("I exchange you a Khalitzburg Knight Card for ^0000FF5000 Coagulated Spell^000000 or ^FF0000100 Contaminated Magic^000000.");
	mes("<ITEMLINK>Khalitzburg Knight Card<INFO>4609</INFO></ITEMLINK>");
	next;
	setarray .@item[0], Coagulated_Spell, Corrupted_Charm;
	setarray .@cost[0], 5000, 100;
	.@select = select("Cancel", "^0000FFUse Coagulated Spell^000000", "^FF0000Use Contaminated Magic^000000");
	switch (.@select) {
	case 1:
		mes("[Khalitzburg Knight]");
		mes("Come back any time.");
		close;
	case 2:
	case 3:
		.@item = .@item[.@select-2];
		.@cost = .@cost[.@select-2];
		if (countitem(.@item) < .@cost) {
			mes("[Khalitzburg Knight]");
			mesf("Requires ^0000FF%d %s^000000.", .@cost, getitemname(.@item));
			close;
		}
		delitem .@item, .@cost;
		getitem Khali_Knightage_Card, 1;
		close;
	}
}