summaryrefslogblamecommitdiff
path: root/npc/instances/OrcsMemory.txt
blob: 48412a63175ff1dd1d5ae02a442d85de474c7ad1 (plain) (tree)



























                                                                           
                
                                                                           
                                


                                                                           


                            
 
                                                            
                                                                   
 
                                              

                                             
 

                                                                                              
                      
         
 
                                                  








                                                                                                                                                                   
                                                                          


                                                     
                                                                              

                                                                                                             
                                                                                                  
                               
                                                                                    
                                                     
                                                                     
                                                                                  

                                                                                                  
                                 
                                                                                                   
                                                                

                                                                                                 
                                 

                                                                     

                                              




                                                                                                                                                                
                                                                                             

                                      
                         
                                                                                             
                            
                                          
         


                         






                                                                                                  
         
 
                                                                                                                                              


                                                  

 
                                                                      



                                                                                                    
                       
                                      
                                                        

                                                                           
                                                                       



                                                                                            
                                                                                                                  




                                                                        
                             

                              













                                                                                                                                                                                            
                                                                               


                                                                                                                            
                                
                              


                                                    
                              
                 
                              

                                                                                                                        

                      
                        
                    


         
                                                            
                                                           


               
                                                            


            

                                                                                                        


            

                                                                                                                              


            

                                                                                                        
                                 
                                       
                                     
                                                                                                                                      

                                                                
                                                                                                                                   
                                              
                                                                                                                               

                         
                                                                
                                                                                                                                               
                                              
                                                                                                                                


                         
                                                                                                                                                 
                                             
                                                                                                                                   








                                                
                                                                                                                                                                                        


            
                                            

                                                                                                                            



                     
                                                           


               
                                                            


            
                                                                                                        


            

                                                                                                                               


            

                                                                                                        

                                         
                                                                                                                                       



                                         
                                                                                                                                                     




                 
                                                           


               
                                                            


            
                                                                                                        


            

                                                                                                                             


            


                                                                                                        

                                         
                                                                                                                                     



                                                        
                                                                                                                                                   
                                             
                                                                                                                                  




                                         
                                                                                                                                                   




                 
                                                           


               

                                                                                                                                          


            

                                                                                                        
                                 
                                                                                                                            



            
                                                                                                        


            
                                                      
                                                               


            
                                                      



                                                  


            

                                                  



                     
                                                                                                                                   


            
                                                                                                                                                                                     


             
                                                                                                                                                               


             
                                                                                                                                        


             
                                                                                                                                                                                                                               


             
                                                                                                                                                    


             
                                                                                                                                                                                                                                    


             
                                                                                                                                                                                                              


             




                                                                                                                                                                                                           


             
                                                                                                                                     


                     

 
                                                             
               
                                                 


            

                                                                                                                                        


            
                                                


            
                                                              



                     
                                                                                                                                                                                                                          


             
                                                                                                                                                                                      



                     
                                                     
               
                                                 


            

                                                                                                                                    


            
                                              


            
                                                              



                     
                                                                                                                                                                                   
            
 
             
                                                                                                                                                    



                     
                                                     
               
                                                 


            

                                                                                                                                      


            
                                               


            
                                                              



                     
                                                                                           


             
                                                                                                                                                    



                     
                                                     
               
                                                 


            




                                                                          


            
                                               


            
                                                  

            
            
                                                              

            
             
                                                                


             
                                                                


             
                                                                


            
                                                            
                                                           


               
                                                             


            

                                                                                                                                


            

                                                                                                         


            

                                                                                                         
                                 
                                       
                                     
                                                                                                                                        

                                                                
                                                                                                                                    

                                                                
                                                                                                                                                    
                                              
                                                                                                                      


                         
                                                                                                                                                  
                                             
                                                                                                                                               








                                               
                                                                                                                                                         


            
                                            

                                                                                                                    



                     
                                                           


               
                                                             


            

                                                                                                                              


            


                                                                                                         

                                         
                                                                                                                                      



                                                       
                                                                                                                                                    
                                              
                                                                                                                                




                                         
                                                                                                                                                    




                 
                                                                                                         


            
                                                           


               

                                                                                                                             


            

                                                                                                         
                                 
                                                                                                                



            
                                                      
                                                               


            
                                                      

            



                                                  
         

                                                  



                     
                                                                                                                                      


            
                                                                                                                                                                                       


             
                                                                                                                                                             


             
                                                                                                                                                                                                 


             
                                                                                                                                                               


             




                                                                                                                                                                               


            
                                                   
                                                                                      
                               
                                                                                                                   



                                                                                           
                     
                                                          


               

                                                                                       


            
                                                         










                                        


                                                                         
 
                                                     
               
                                                


            
                                            

                                                                                                                                    


            
                                               



                     
                                                                                                                                         



                     
                                              


            



                                                                 
 
                                                     
               
                                                


            
                                            

                                                                                                                                                        


            
                                               



                     
                                                                                                                                   



                     
                                               


            



                                                                         
 
                                                             
               
                                                


            
                                            

                                                                                                                        


            


                                                                                          



                     
                                                                                                                                                                                                                      


            
                                                                                                                               


             
                                                                                                                  


             
                                                                                                                                                                                                                                      



                     
                                               


            
                                                   


               
                                                     


            
                                            


                                                                                                          


            
                                                            

                                            
                             
                                                                                                                                       
         
                                  
                                                                                                                                
         
                                  
                                                                                                            
         
                                  
                                                                                                     

              
                                                                                                                                
         


                                                                           


            
                                                             
               
                                                             


            
                                                            






                                  
                                               


                                 
                                                            
                     
                                                  


                                                   
                                                       


                                                         
                                                  







                                                                                                                                             
                                                                                                                 
                              







                                                                                           
                                               


            
                                              


            
                                                   


             
                                                               


             
                                                               


             
                                                               
            
 
//================= Hercules Script =======================================
//=       _   _                     _
//=      | | | |                   | |
//=      | |_| | ___ _ __ ___ _   _| | ___  ___
//=      |  _  |/ _ \ '__/ __| | | | |/ _ \/ __|
//=      | | | |  __/ | | (__| |_| | |  __/\__ \
//=      \_| |_/\___|_|  \___|\__,_|_|\___||___/
//================= License ===============================================
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
//= Copyright (C) 2012-2015  Hercules Dev Team
//= Copyright (C)  Euphy
//= Copyright (C)  L0ne_W0lf
//=
//= 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/>.
//=========================================================================
//= Orc's Memory
//================= Description ===========================================
//= Relive the memory of an orc.
//================= Current Version =======================================
//= 1.7
//=========================================================================

1@orcs	mapflag	src4instance
2@orcs	mapflag	src4instance

//== Entrance ==============================================
gef_fild10,242,202,0	script	Dimensional Gorge Piece	2_MONEMUS,{

	.@party_id = getcharid(CHAR_ID_PARTY);
	.@p_name$ = getpartyname(.@party_id);
	.@md_name$ = "Orc's Memory";

	if (!instance_check_party(.@party_id,2,30,80)) {
		mes "Only users between Levels ^ff000030 ~ 80^000000 can enter this Dungeon.";
		close;
	}

	.@orctime = questprogress(12059,PLAYTIME);
	if (.@orctime == 2) {
		mes "^0000ffAll records and after-effects related to the Orc's Memory Dungeon are deleted. You can now regenerate or re-enter the dungeon.^000000";
		erasequest 12059;
		close;
	}

	if (.@orctime == 1) {
		mes "You can enter the Dungeon if it has been generated.";
		next;
		if(select("Enter the Dungeon "+.@md_name$, "Cancel") == 2)
			close;
		// Fall through to access the dungeon
	} else { // !.@orctime
		if (getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2)) {
			mes "Party status confirmed. Would you like to book entrance to the "+.@md_name$+"?";
			next;
			switch(select("Reserve the "+.@md_name$, "Enter the Dungeon", "Cancel")) {
			case 1:
				.@instance = instance_create(.@md_name$,.@party_id);
				if (.@instance < 0) {
					mes "Party Name: "+.@p_name$;
					mes "Party Leader: "+strcharinfo(PC_NAME);
					mes "^0000ff"+.@md_name$+" ^000000 - Reservation Failed.";
					close;
				}
				mes "^0000ff"+.@md_name$+"^000000- Attempting to book an entrance";
				for (.@i = 1; .@i <= 2; ++.@i) {
					if( instance_attachmap(.@i + "@orcs", .@instance) == "" )
						break;
				}
				if( .@i < 2 ) {
					instance_destroy(.@instance);
					close;
				}
				instance_set_timeout 7200,300,.@instance;
				instance_init(.@instance);
				mes "After making a reservation, you have to select 'Enter the Dungeon' from the menu if you wish to enter the "+.@md_name$+".";
				close;
			case 2:
				break; // Fall through to access the dungeon (after the else)
			case 3:
				close;
			}
		} else if (select(.@md_name$ + " Enter the Memorial Dungeon", "Cancel") == 2)
			end;
		// Else access the dungeon
	}

	// Dungeon access

	if (has_instance("1@orcs") == "") {
		mes "Memorial Dungeon "+.@md_name$+" does not exist.";
		mes "The party leader has not reserved entrance to the dungeon yet.";
		next;
		mes "Once the reservation is complete, the dungeon will be generated.";
		mes "If your dungeon has been destroyed you must wait 7 days before re-entering.";
		close;
	}

	mapannounce "gef_fild10", strcharinfo(PC_NAME) + " of the party, " + .@p_name$ + " is entering the "+.@md_name$+".",bc_map,"0x00ff99";
	if (!questprogress(12059)) setquest 12059;
	warp "1@orcs",179,15;
	end;
}

gef_fild10,238,202,6	script	Mad Scientist#orc	4_LGTSCIENCE,{
	if (BaseLevel < 50) {
		mes "The Mad Scientist doesn't seem to notice you and keeps mumbling to himself...";
		close;
	}
	if (mad == 0) {
		mes "[Mad Scientist]";
		mes "Haha, no Orcs are coming near me!";
		mes "The power of the Dimensional Gorge is undefeatable!!";
		next;
		switch(select("Orcs don't attack you?", "You wish!")) {
		case 1:
			mes "[Mad Scientist]";
			mes "Yeah, yeah.. I know it's hard to belive. I don't blame ya.";
			mes "I used to study the Dimensional Gorge discovered near Morroc.";
			mes "According to my research, the minerals found there have enormous power inside them!";
			next;
			break;
		case 2:
			mes "[Mad Scientist]";
			mes "You are a pretty distrustful person, huh?";
			next;
			break;
		}
		select("Oh? Like what, travel to alternate space?");
		mes "[Mad Scientist]";
		mes "Very smart! I have actually just done that! See that statue over there? It's not your normal Monolith!";
		next;
		mes "[Mad Scientist]";
		mes "I have created it with a combination of our technology and the unlimited energy I discovered from the Gorge! Want to try it?";
		next;
		select("...Um, that doesn't sound legal?");
		mes "[Mad Scientist]";
		mes "Hey, since when did something so interesting have to be legal!? How about it! You can talk to the Orcs! C'mon!";
		next;
		mes "[Mad Scientist]";
		mes "Chances are they'll just give you lots of instructions once they see you, so just wing it! They're always saying the same thing, to the point where I memorized them!";
		next;
		switch(select("Alright... What do I do?", "Umm, maybe not.")) {
		case 1:
			mes "[Mad Scientist]";
			mes "Very good! Just sit in the hands of this statue! And try to act natural when you're in there!";
			mad = 1;
			close;
		case 2:
			mes "[Mad Scientist]";
			mes "Oh fine, be that way!";
			close;
		}
	} else if (mad == 1) {
		mes "[Mad Scientist]";
		mes "Hmm? Put your hand on that Monemus Statue if you want to experience traveling through dimensions!";
		close;
	} else {
		mad = 1;
		end;
	}
}

//== Orc's Memory Floor 1 ==================================
1@orcs,180,30,0	script	#Resurrect Monsters1	CLEAR_NPC,{
	end;

OnInstanceInit:
	disablenpc instance_npcname("#Resurrect Monsters1");
	end;

OnDisable:
	stopnpctimer;
	killmonster instance_mapname("1@orcs"),instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead";
	end;

OnEnable:
	enablenpc instance_npcname("#Resurrect Monsters1");
	monster instance_mapname("1@orcs"),0,0,"Orc Warrior",1023,30,instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead";
	end;

OnMyMobDead:
	.@map$ = instance_mapname("1@orcs");
	.@mob_dead_num = 30 - mobcount(.@map$,instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead");
	if (.@mob_dead_num > 0) {
		.@mob_ran = rand(1,30);
		if (.@mob_ran > 29) {
			monster .@map$,0,0,"Orc Warrior",1023,.@mob_dead_num,instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead";
		}
		else if ((.@mob_ran > 28) && (.@mob_ran < 30)) {
			monster .@map$,0,0,"High Orc",1213,.@mob_dead_num,instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead";
			if (rand(1,10) == 9) {
				mapannounce .@map$, "High Orc: We need more defenses! Get more people here!",bc_map,"0xff4444";
			}
		}
		else if ((.@mob_ran > 26) && (.@mob_ran < 29)) {
			areamonster .@map$,41,91,51,81,"High Orc",1213,.@mob_dead_num,instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead";
			if (rand(1,10) == 9) {
				mapannounce .@map$, "Where are the High Orcs!? Get them to stop the enemies!",bc_map,"0xff4444";
			}
		}
		else {
			areamonster .@map$,17,187,27,177,"High Orc",1213,.@mob_dead_num,instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead";
			if (rand(1,5) == 3) {
				mapannounce .@map$, "Caution: The army's starting to concentrate at Zone No. 4.",bc_map,"0x77ff77";
			}
			if (rand(1,100) == 50) {
				initnpctimer;
			}
		}
	}
	end;

OnTimer10:
	mapannounce instance_mapname("1@orcs"), "Shouts of the Chief Orc of Safeguards: Looks like this will take longer than expected. Summon the Stalactic Golems!",bc_map,"0xff4444";
	end;

OnTimer4010:
	.@map$ = instance_mapname("1@orcs");
	mapannounce .@map$, "Stalactic Golems are digging out of the deep underground.",bc_map,"0x77ff77";
	areamonster .@map$,17,187,27,177,"Stalactic Golem",1278,20,instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead";
	stopnpctimer;
	end;
}

1@orcs,180,30,0	script	#Resurrect Monsters2	CLEAR_NPC,{
	end;

OnInstanceInit:
	disablenpc instance_npcname("#Resurrect Monsters2");
	end;

OnDisable:
	killmonster instance_mapname("1@orcs"),instance_npcname("#Resurrect Monsters2")+"::OnMyMobDead";
	end;

OnEnable:
	enablenpc instance_npcname("#Resurrect Monsters2");
	monster instance_mapname("1@orcs"),0,0,"Trained Wolf",1106,15,instance_npcname("#Resurrect Monsters2")+"::OnMyMobDead";
	end;

OnMyMobDead:
	.@map$ = instance_mapname("1@orcs");
	.@mob_dead_num = 15 - mobcount(.@map$,instance_npcname("#Resurrect Monsters2")+"::OnMyMobDead");
	if (rand(1,30) > 15) {
		if (.@mob_dead_num > 0) {
			monster .@map$,0,0,"Trained Wolf",1106,.@mob_dead_num,instance_npcname("#Resurrect Monsters2")+"::OnMyMobDead";
		}
	}
	else {
		if (.@mob_dead_num > 0) {
			areamonster .@map$,17,187,27,177,"Trained Wolf",1106,.@mob_dead_num,instance_npcname("#Resurrect Monsters2")+"::OnMyMobDead";
		}
	}
	end;
}

1@orcs,180,30,0	script	#Resurrect Monsters3	CLEAR_NPC,{
	end;

OnInstanceInit:
	disablenpc instance_npcname("#Resurrect Monsters3");
	end;

OnDisable:
	killmonster instance_mapname("1@orcs"),instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead";
	end;

OnEnable:
	enablenpc instance_npcname("#Resurrect Monsters3");
	monster instance_mapname("1@orcs"),0,0,"Orc Archer",1189,15,instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead";
	end;

OnMyMobDead:
	.@map$ = instance_mapname("1@orcs");
	.@mob_dead_num = 15 - mobcount(.@map$,instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead");
	.@mob_ran = rand(1,30);
	if (.@mob_ran > 29) {
		if (.@mob_dead_num > 0) {
			monster .@map$,0,0,"Orc Archer",1189,.@mob_dead_num,instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead";
		}
	}
	else if ((.@mob_ran > 26) && (.@mob_ran < 30)) {
		if (.@mob_dead_num > 0) {
			areamonster .@map$,43,155,47,159,"Orc Archer",1189,.@mob_dead_num,instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead";
			if (rand(1,3) == 3) {
				mapannounce .@map$, "High Orc: Attack them from behind! Cut off their support!",bc_map,"0xff4444";
			}
		}
	}
	else {
		if (.@mob_dead_num > 0) {
			areamonster .@map$,17,187,27,177,"Orc Archer",1189,.@mob_dead_num,instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead";
		}
	}
	end;
}

1@orcs,180,30,0	script	#Resurrect Monsters4	CLEAR_NPC,{
	end;

OnInstanceInit:
	enablenpc instance_npcname("#Resurrect Monsters4");
	areamonster instance_mapname("1@orcs"),98,35,178,115,"Anopheles",1627,10,instance_npcname("#Resurrect Monsters4")+"::OnMyMobDead";
	end;

OnMyMobDead:
	.@map$ = instance_mapname("1@orcs");
	.@mob_dead_num = 10 - mobcount(.@map$,instance_npcname("#Resurrect Monsters4")+"::OnMyMobDead");
	if (.@mob_dead_num > 0) {
		monster .@map$,0,0,"Anopheles",1627,.@mob_dead_num,instance_npcname("#Resurrect Monsters4")+"::OnMyMobDead";
	}
	end;

OnDisable:
	killmonster instance_mapname("1@orcs"),instance_npcname("#Resurrect Monsters4")+"::OnMyMobDead";
	end;
}

1@orcs,180,29,4	script	Kruger#1-1	4_ORCWARRIOR,{
	donpcevent instance_npcname("Kruger#1-2")+"::OnEnable";
	end;
}

1@orcs,180,29,4	script	Kruger#1-2	4_ORCWARRIOR,{
	end;

OnInstanceInit:
	disablenpc instance_npcname("Kruger#1-2");
	end;

OnEnable:
	disablenpc instance_npcname("Kruger#1-1");
	enablenpc instance_npcname("Kruger#1-2");
	initnpctimer;
	end;

OnTimer10:
	mapannounce instance_mapname("1@orcs"), "Kruger: Damn... What took you so long!! I don't have all day!!",bc_map,"0xffff00";
	end;

OnTimer5710:
	mapannounce instance_mapname("1@orcs"), "Kruger: My plan was to let our comrades open the gate, but it's all ruined since I got busted by the Orc Shaman.",bc_map,"0xffff00";
	end;

OnTimer14610:
	mapannounce instance_mapname("1@orcs"), "Shouts of the Chief Orc of Safeguards: I smell a rat.. Send some patrols to the entrance!!",bc_map,"0xff4444";
	end;

OnTimer20210:
	mapannounce instance_mapname("1@orcs"), "Kruger: Darn it.. They'll be here any minute. Ok. Listen to me now.",bc_map,"0xffff00";
	end;

OnTimer24910:
	mapannounce instance_mapname("1@orcs"), "Kruger: The Orc Shaman has sealed the 1st basement by dividing it into 4 zones. Each zone has one Enchanted Orc who has the power to unseal the next zone.",bc_map,"0xffff00";
	end;

OnTimer34310:
	mapannounce instance_mapname("1@orcs"), "Kruger: Find those Enchanted Orcs and get rid of them to move to the next zone.",bc_map,"0xffff00";
	end;

OnTimer39710:
	mapannounce instance_mapname("1@orcs"), "Kruger: Try to avoid encountering Orcs other then the Enchanted ones. Everytime you kill a normal Orc, High Orcs will gather at the last path to the 2nd floor.",bc_map,"0xffff00";
	end;

OnTimer49210:
	mapannounce instance_mapname("1@orcs"), "Kruger: In the worst case, the path to the 2nd floor could be completely blocked. For your own sake, you should be as sneaky as possible.",bc_map,"0xffff00";
	end;

OnTimer56310:
	mapannounce instance_mapname("1@orcs"), "Mission: Sneak in and get rid of the 'Enchanted Orcs'. Avoiding battles with other Orcs is the best way of getting into the 2nd floor.",bc_map,"0x44ffff";
	donpcevent instance_npcname("#Resurrect Monsters1")+"::OnEnable";
	donpcevent instance_npcname("#Resurrect Monsters2")+"::OnEnable";
	donpcevent instance_npcname("#Resurrect Monsters3")+"::OnEnable";
	disablenpc instance_npcname("Kruger#1-2");
	end;

OnTimer60000:
	areamonster instance_mapname("1@orcs"),137,83,143,89,"Enchanted Orc",1023,1,instance_npcname("B1 Area Mobs")+"::OnMyMobDead";
	stopnpctimer;
	end;

}

1@orcs,168,125,0	script	B1 Area 1	WARPNPC,3,3,{
OnInstanceInit:
	disablenpc instance_npcname("B1 Area 1");
	end;

OnEnable:
	enablenpc instance_npcname("B1 Area 1");
	areamonster instance_mapname("1@orcs"),103,105,109,111,"Enchanted Orc",1023,1,instance_npcname("B1 Area Mobs")+"::OnMyMobDead1";
	end;

OnTouch:
	warp instance_mapname("1@orcs"),168,130;
	end;

OnContinue:
	donpcevent instance_npcname("B1 Area 2")+"::OnEnable";
	initnpctimer;
	end;

OnTimer10300:
	mapannounce instance_mapname("1@orcs"), "Kruger's Whisper: The Orcs here used to be my companions. They just lost their will ever since the Orc Shaman started to control them with her magic.",bc_map,"0xff4499";
	end;

OnTimer18700:
	mapannounce instance_mapname("1@orcs"), "Kruger's Whisper: There's nothing we can do but to defeat the Orc Shaman if we want to save the remaining tribes.",bc_map,"0xff4499";
	stopnpctimer;
	end;
}

1@orcs,89,94,0	script	B1 Area 2	WARPNPC,3,3,{
OnInstanceInit:
	disablenpc instance_npcname("B1 Area 2");
	end;

OnEnable:
	enablenpc instance_npcname("B1 Area 2");
	areamonster instance_mapname("1@orcs"),32,40,38,46,"Enchanted Orc",1023,1,instance_npcname("B1 Area Mobs")+"::OnMyMobDead2";
	end;

OnTouch:
	warp instance_mapname("1@orcs"),85,85;
	end;

OnContinue:
	donpcevent instance_npcname("B1 Area 3")+"::OnEnable";
	initnpctimer;
	end;

OnTimer30300:
	mapannounce instance_mapname("1@orcs"), "Kruger's Whisper: I saw the bodies of our tribe. It seems that the Orc Shaman used those Orcs for her rituals.",bc_map,"0xff4499";
	end;

OnTimer37600:
	mapannounce instance_mapname("1@orcs"), "Kruger's Whisper: ... It all has to do with me. I am responsible for this evil.",bc_map,"0xff4499";
	stopnpctimer;
	end;
}

1@orcs,38,105,0	script	B1 Area 3	WARPNPC,3,3,{
OnInstanceInit:
	disablenpc instance_npcname("B1 Area 3");
	end;

OnEnable:
	enablenpc instance_npcname("B1 Area 3");
	areamonster instance_mapname("1@orcs"),19,177,25,183,"Enchanted Orc",1023,1,instance_npcname("B1 Area Mobs")+"::OnMyMobDead3";
	end;

OnTouch:
	warp instance_mapname("1@orcs"),38,110;
	end;

OnContinue:
	donpcevent instance_npcname("B1 Area 4")+"::OnEnable";
	initnpctimer;
	end;

OnTimer30300:
	mapannounce instance_mapname("1@orcs"), "Please, hang in there!",bc_map,"0xff4499";
	end;

OnTimer32700:
	mapannounce instance_mapname("1@orcs"), "We'll get some rest when we get to the 2nd basement after passing through here.",bc_map,"0xff4499";
	stopnpctimer;
	end;
}

1@orcs,21,189,0	script	B1 Area 4	WARPNPC,3,3,{
OnInstanceInit:
	disablenpc instance_npcname("B1 Area 4");
	end;

OnEnable:
	enablenpc instance_npcname("B1 Area 4");
	donpcevent instance_npcname("#Resurrect Monsters1")+"::OnDisable";
	donpcevent instance_npcname("#Resurrect Monsters2")+"::OnDisable";
	donpcevent instance_npcname("#Resurrect Monsters3")+"::OnDisable";
	donpcevent instance_npcname("#Resurrect Monsters4")+"::OnDisable";
	end;

OnTouch:
	warp instance_mapname("2@orcs"),32,171;
	end;
}

1@orcs,1,1,0	script	B1 Area Mobs	FAKE_NPC,{
	end;

OnMyMobDead:
	donpcevent instance_npcname("B1 Area 1")+"::OnEnable";
	end;

OnMyMobDead1:
	donpcevent instance_npcname("B1 Area 1")+"::OnContinue";
	end;

OnMyMobDead2:
	donpcevent instance_npcname("B1 Area 2")+"::OnContinue";
	end;

OnMyMobDead3:
	donpcevent instance_npcname("B1 Area 3")+"::OnContinue";
	end;
}

//== Orc's Memory Floor 2 ==================================
2@orcs,36,171,0	script	#2Resurrect Monsters1	CLEAR_NPC,{
	end;

OnInstanceInit:
	disablenpc instance_npcname("#2Resurrect Monsters1");
	end;

OnEnable:
	enablenpc instance_npcname("#2Resurrect Monsters1");
	monster instance_mapname("2@orcs"),0,0,"Vengeful Orc",1152,30,instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead";
	end;

OnDisable:
	stopnpctimer;
	killmonster instance_mapname("2@orcs"),instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead";
	end;

OnMyMobDead:
	.@map$ = instance_mapname("2@orcs");
	.@mob_dead_num = 30 - mobcount(.@map$,instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead");
	if (.@mob_dead_num > 0) {
		.@mob_ran = rand(1,30);
		if (.@mob_ran > 29) {
			monster .@map$,0,0,"Vengeful Orc",1152,.@mob_dead_num,instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead";
		}
		else if ((.@mob_ran > 28) && (.@mob_ran < 30)) {
			monster .@map$,0,0,"High Orc",1213,.@mob_dead_num,instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead";
		}
		else if ((.@mob_ran > 26) && (.@mob_ran < 29)) {
			areamonster .@map$,157,112,167,122,"High Orc",1213,.@mob_dead_num,instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead";
			if (rand(1,10) == 9) {
				mapannounce .@map$, "Warning: High Orcs are gathering near area 3.",bc_map,"0xff4444";
			}
		}
		else {
			areamonster .@map$,173,13,183,23,"High Orc",1213,.@mob_dead_num,instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead";
			if (rand(1,5) == 3) {
				mapannounce .@map$, "Caution: The Forces have started to concentrate at the Shaman's Altar.",bc_map,"0x77ff77";
			}
			if (rand(1,70) == 50) {
				initnpctimer;
			}
		}
	}
	end;

OnTimer10:
	mapannounce instance_mapname("2@orcs"), "Voice from somewhere: Foolish... Do you really think the altar would fall like that?",bc_map,"0xff4444";
	end;

OnTimer4010:
	.@map$ = instance_mapname("2@orcs");
	mapannounce .@map$, "[ Wraiths were summoned by an unknown power ]",bc_map,"0x77ff77";
	areamonster .@map$,167,25,177,35,"Wraith",1475,30,instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead";
	stopnpctimer;
	end;
}

2@orcs,36,171,0	script	#2Resurrect Monsters3	CLEAR_NPC,{
	end;

OnInstanceInit:
	disablenpc instance_npcname("#2Resurrect Monsters3");
	end;

OnEnable:
	enablenpc instance_npcname("#2Resurrect Monsters3");
	monster instance_mapname("2@orcs"),0,0,"Orc Zombie",1153,15,instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead";
	end;

OnMyMobDead:
	.@map$ = instance_mapname("2@orcs");
	.@mob_dead_num = 15 - mobcount(.@map$,instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead");
	.@mob_ran = rand(1,30);
	if (.@mob_ran > 29) {
		if (.@mob_dead_num > 0) {
			monster .@map$,0,0,"Orc Archer",1189,.@mob_dead_num,instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead";
		}
	}
	else if ((.@mob_ran > 6) && (.@mob_ran < 30)) {
		if (.@mob_dead_num > 0) {
			areamonster .@map$,168,10,184,26,"Orc Archer",1189,.@mob_dead_num,instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead";
			if (rand(1,15) == 3) {
				mapannounce .@map$, "Warning: Orc Archer teams are gathering near the altar.",bc_map,"0xff4444";
			}
		}
	}
	else {
		if (.@mob_dead_num > 0) {
			areamonster .@map$,168,21,184,21,"Orc Archer",1189,.@mob_dead_num,instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead";
		}
	}
	end;

OnDisable:
	killmonster instance_mapname("2@orcs"),instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead";
	end;
}

2@orcs,180,30,0	script	#2Resurrect Monsters4	CLEAR_NPC,{
	end;

OnInstanceInit:
	enablenpc instance_npcname("#2Resurrect Monsters4");
	monster instance_mapname("2@orcs"),0,0,"Anopheles",1627,10,instance_npcname("#2Resurrect Monsters4")+"::OnMyMobDead";
	end;

OnMyMobDead:
	.@map$ = instance_mapname("2@orcs");
	.@mob_dead_num = 10 - mobcount(.@map$,instance_npcname("#2Resurrect Monsters4")+"::OnMyMobDead");
	if (.@mob_dead_num > 0) {
		monster .@map$,0,0,"Anopheles",1627,1,instance_npcname("#2Resurrect Monsters4")+"::OnMyMobDead";
	}
	end;
}

2@orcs,35,169,4	script	Kruger#2-1	4_ORCWARRIOR,{
	donpcevent instance_npcname("Kruger#2-2")+"::OnEnable";
	end;
}

2@orcs,35,169,4	script	Kruger#2-2	4_ORCWARRIOR,{
	end;

OnInstanceInit:
	disablenpc instance_npcname("Kruger#2-2");
	end;

OnEnable:
	disablenpc instance_npcname("Kruger#2-1");
	enablenpc instance_npcname("Kruger#2-2");
	initnpctimer;
	end;

OnTimer10:
	mapannounce instance_mapname("2@orcs"), "Kruger's Whisper: I'll tell you how to get to the Shaman's altar.",bc_map,"0xffff00";
	end;

OnTimer3510:
	mapannounce instance_mapname("2@orcs"), "Kruger's Whisper: Do you see the braziers that light the path? Unseal the next zone by strengthening their flames.",bc_map,"0xffff00";
	end;

OnTimer10710:
	mapannounce instance_mapname("2@orcs"), "Kruger's Whisper: Of course those monsters won't let you touch the braziers that easily.",bc_map,"0xffff00";
	end;

OnTimer16310:
	mapannounce instance_mapname("2@orcs"), "Kruger's Whisper: But still, try keep the battles not too noticable so the Shaman won't guard the altar with her army squad.",bc_map,"0xffff00";
	end;

OnTimer21910:
	mapannounce instance_mapname("2@orcs"), "Kruger's Whisper: Only the Party Leader can strengthen the flames, so protect your leader.",bc_map,"0xffff00";
	end;

OnTimer23910:
	mapannounce instance_mapname("2@orcs"), "Mission: Unseal the zone by lighting the braziers. They can only be lit in a certain order, so be careful.",bc_map,"0x4444ff";
	donpcevent instance_npcname("#2Resurrect Monsters1")+"::OnEnable";
	donpcevent instance_npcname("#2Resurrect Monsters3")+"::OnEnable";
	donpcevent instance_npcname("Torch#1-1")+"::OnEnable";
	disablenpc instance_npcname("Kruger#2-2");
	end;
}

2@orcs,26,164,0	script	Torch#1-1	CLEAR_NPC,{
	if(getpartyleader(getcharid(CHAR_ID_PARTY),2) != getcharid(CHAR_ID_CHAR)) end;
	progressbar "ffff00",5;
	setarray .@id[0], atoi(charat(strnpcinfo(NPC_NAME_HIDDEN),0)), atoi(charat(strnpcinfo(NPC_NAME_HIDDEN),2));
	if (.@id[1] == 4)
		donpcevent instance_npcname("#Warp2-"+.@id[0])+"::OnEnable";
	else
		donpcevent instance_npcname("Torch#"+.@id[0]+"-"+(.@id[1]+1))+"::OnEnable";
	initnpctimer;
	disablenpc instance_npcname(strnpcinfo(NPC_NAME));
	end;

OnInstanceInit:
	if (strnpcinfo(NPC_NAME) != "Torch#2-1" && strnpcinfo(NPC_NAME) != "Torch#3-1")
		disablenpc instance_npcname(strnpcinfo(NPC_NAME));
	end;

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

OnTimer100:
	specialeffect EF_FIREPILLAR;
	end;

OnTimer2000:
	specialeffect EF_FIREPILLARBOMB;
	stopnpctimer;
	end;
}
2@orcs,55,155,0	duplicate(Torch#1-1)	Torch#1-2	CLEAR_NPC
2@orcs,108,146,0	duplicate(Torch#1-1)	Torch#1-3	CLEAR_NPC
2@orcs,98,171,0	duplicate(Torch#1-1)	Torch#1-4	CLEAR_NPC

2@orcs,48,100,0	script	#Warp2-1	WARPNPC,3,3,{
OnInstanceInit:
	disablenpc instance_npcname("#Warp2-1");
	end;

OnEnable:
	.@map$ = instance_mapname("2@orcs");
	monster .@map$,109,156,"Safeguard Chief",1981,1,instance_npcname("#Mobs Control")+"::OnMyMobDead1";
	mapannounce .@map$, "The Chief Orc of Safeguards: Oh!! Looks like I have company. Defeat me if you can!!",bc_map,"0xff8888";
	end;

OnContinue:
	enablenpc instance_npcname("#Warp2-1");
	initnpctimer;
	end;

OnTimer10000:
	areamonster instance_mapname("2@orcs"),28,158,40,170,"Safeguard Chief",1981,1,instance_npcname("#Mobs Control")+"::OnMyMobDead1";
	stopnpctimer;
	end;

OnTouch:
	warp instance_mapname("2@orcs"),47,93;
	end;
}

2@orcs,35,92,0	duplicate(Torch#1-1)	Torch#2-1	CLEAR_NPC
2@orcs,32,70,0	duplicate(Torch#1-1)	Torch#2-2	CLEAR_NPC
2@orcs,70,31,0	duplicate(Torch#1-1)	Torch#2-3	CLEAR_NPC
2@orcs,84,51,0	duplicate(Torch#1-1)	Torch#2-4	CLEAR_NPC

2@orcs,101,55,0	script	#Warp2-2	WARPNPC,3,3,{
OnInstanceInit:
	disablenpc instance_npcname("#Warp2-2");
	end;

OnEnable:
	.@map$ = instance_mapname("2@orcs");
	monster .@map$,67,64,"Orc Sniper",1982,1,instance_npcname("#Mobs Control")+"::OnMyMobDead2";
	mapannounce .@map$, "Orc Sniper: Hah! Pretty impressive that you made it this far, but your foolish little trip ends here...",bc_map,"0xff8888";
	end;

OnContinue:
	enablenpc instance_npcname("#Warp2-2");
	initnpctimer;
	end;

OnTimer10000:
	areamonster instance_mapname("2@orcs"),40,91,52,103,"Orc Sniper",1982,1,instance_npcname("#Mobs Control")+"::OnMyMobDead2";
	stopnpctimer;
	end;

OnTouch:
	warp instance_mapname("2@orcs"),107,55;
	end;
}

2@orcs,142,145,0	duplicate(Torch#1-1)	Torch#3-1	CLEAR_NPC
2@orcs,162,134,0	duplicate(Torch#1-1)	Torch#3-2	CLEAR_NPC
2@orcs,144,117,0	duplicate(Torch#1-1)	Torch#3-3	CLEAR_NPC
2@orcs,136,98,0	duplicate(Torch#1-1)	Torch#3-4	CLEAR_NPC

2@orcs,167,104,0	script	#Warp2-3	WARPNPC,3,3,{
OnInstanceInit:
	disablenpc instance_npcname("#Warp2-3");
	end;

OnEnable:
	.@map$ = instance_mapname("2@orcs");
	monster .@map$,152,147,"Depraved Orc Spirit",1983,1,instance_npcname("#Mobs Control")+"::OnMyMobDead3";
	mapannounce .@map$, "Depraved Orc Spirit: I smell flesh! Hungry! Wanna try some human meat!!",bc_map,"0xff8888";
	end;

OnContinue:
	areamonster instance_mapname("2@orcs"),117,61,129,73,"Depraved Orc Spirit",1983,1;
	donpcevent instance_npcname("#Boss Control")+"::OnEnable";
	enablenpc instance_npcname("#Warp2-3");
	initnpctimer;
	end;

OnTimer10:
	mapannounce instance_mapname("2@orcs"), "Shaman Cargalache: Hahaha!! So, you finally made it here. The assassin you sent was just terrible. That stupid Orc is getting cold under my feet.",bc_map,"0xffff00";
	end;

OnTimer6810:
	mapannounce instance_mapname("2@orcs"), "Shaman Cargalache: My loyal slave, go get those intruders!",bc_map,"0xffff00";
	end;

OnTimer10310:
	mapannounce instance_mapname("2@orcs"), "Depraved Orc Hero: Whatever you say, my lord.",bc_map,"0xff7777";
	end;

OnTimer13110:
	mapannounce instance_mapname("2@orcs"), "Caution: You have been discovered by Shaman Cargalache. Kruger's plan to assassinate the Shaman has failed. You must defeat Cargalache and find traces of Kruger.",bc_map,"0x8888ff";
	stopnpctimer;
	end;

OnTouch:
	warp instance_mapname("2@orcs"),167,95;
	end;
}

2@orcs,36,171,0	script	#Boss Control	CLEAR_NPC,{
	end;

OnInstanceInit:
	disablenpc instance_npcname("#Boss Control");
	end;

OnEnable:
	.@map$ = instance_mapname("2@orcs");
	monster .@map$,185,8,"Shaman Cargalache",1984,1,instance_npcname("#Boss Control")+"::OnMyMobDead";
	monster .@map$,179,15,"Depraved Orc Hero",1087,1;
	enablenpc instance_npcname("#Boss Control");
	end;

OnMyMobDead:
	donpcevent instance_npcname("Kruger#")+"::OnEnable";
	.@map$ = instance_mapname("2@orcs");
	.@mob_ran = rand(1,5);
	if (.@mob_ran == 1) {
		mapannounce .@map$, "Shaman Cargalache: How... How could this be... How could someone like you...!!",bc_map,"0xffff00";
	}
	else if (.@mob_ran == 2) {
		mapannounce .@map$, "Shaman Cargalache: How is it that I've been overpowered by mere humans!",bc_map,"0xffff00";
	}
	else if (.@mob_ran == 3) {
		mapannounce .@map$, "Shaman Cargalache: This... This can't be the end...",bc_map,"0xffff00";
	}
	else if (.@mob_ran == 4) {
		mapannounce .@map$, "Shaman Cargalache: I... Can't die... Yet...!",bc_map,"0xffff00";
	}
	else {
		mapannounce .@map$, "Shaman Cargalache: Defeated by these fools... It can't be happening...!",bc_map,"0xffff00";
	}
	donpcevent instance_npcname("#2Resurrect Monsters1")+"::OnDisable";
	donpcevent instance_npcname("#2Resurrect Monsters3")+"::OnDisable";
	donpcevent instance_npcname("#Warp Outside Orc Dun")+"::OnEnable";
	end;
}

2@orcs,182,8,0	script	#Warp Outside Orc Dun	WARPNPC,3,3,{
OnInstanceInit:
	disablenpc instance_npcname("#Warp Outside Orc Dun");
	end;

OnEnable:
	enablenpc instance_npcname("#Warp Outside Orc Dun");
	end;

OnTouch:
	warp "gef_fild10",240,197;
	end;
}

2@orcs,172,13,0	script	Kruger#	4_ORCWARRIOR2,{
	if (yong_odun < 2) {
		mes "[Kruger]";
		mes "*Coughing*";
		mes ""+strcharinfo(PC_NAME)+", it's you...";
		next;
		mes "["+strcharinfo(PC_NAME)+"] ";
		mes "Don't move! You are wounded!";
		next;
		mes "[Kruger]";
		mes "It's... all right.. I'm dying...";
		mes "....";
		mes "The Shaman? What about the Shaman?";
		next;
		mes "["+strcharinfo(PC_NAME)+"] ";
		mes "The Shaman's dead now. Who was that Shaman really?";
		next;
		mes "Kruger seemed to be relieved as he hears of the death of the Shaman, but you notice the bitter expression on his face.";
		next;
		mes "[Kruger]";
		mes "I.. I just couldn't kill my own daughter...";
		mes "Thank you, I'm sure she's finally free from the nightmare that used to choke her soul.";
		next;
		mes "Kruger was about to say something more, but he breathed his last breath before he could...";
		yong_odun = 2;
		close;
	}
	else {
		mes "You can see the dead body of Kruger, peacefully lying on the ground.";
		close;
	}

OnInstanceInit:
	disablenpc instance_npcname("Kruger#");
	end;

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

2@orcs,36,171,0	script	#Mobs Control	CLEAR_NPC,{
	end;

OnMyMobDead1:
	donpcevent instance_npcname("#Warp2-1")+"::OnContinue";
	end;

OnMyMobDead2:
	donpcevent instance_npcname("#Warp2-2")+"::OnContinue";
	end;

OnMyMobDead3:
	donpcevent instance_npcname("#Warp2-3")+"::OnContinue";
	end;
}