//===== rAthena Script ======================================= 
//= Orc's Memory
//===== By: ================================================== 
//= L0ne_W0lf
//===== Current Version: ===================================== 
//= 1.5
//===== Compatible With: ===================================== 
//= rAthena SVN
//===== Description: ========================================= 
//= [Aegis Conversion]
//= Relive the memory of an orc.
//===== Additional Comments: ================================= 
//= 1.0 First version. [L0ne_W0lf]
//= 1.1 First round of bugfixes. (bugreport:3928) [L0ne_W0lf]
//=     Fixed some npcs calling wrong events. 
//=     Fixed Depraved Orc Spirit spawn point
//=     Fixed an NPC that was never being enabled.
//= 1.1a Second round from bugreport. (bugreport:3928) [L0ne_W0lf]
//=     Fixed first warp never enabling, issue not seen
//=     because of a local source mod.
//=     Corrected the IDs for the Vengeful Orc Spirit and
//=     Shaman Cargalache, copy/paste fail.
//=     Changed spawn point for dungeon according to spawn
//=     point on iRO.
//= 1.2 More bugfixes, mostly typos. :O (bugreport:3944) [L0ne_W0lf]
//=     Fixed some varaibles (types/values) as well.
//= 1.3 Disabled an exploit related to the orc hero spawn. [L0ne_W0lf]
//=     Corrected the variable type for party leader name.
//= 1.4 Fixed donpcevent calling non-existant npc. (bugreport:4039) [L0ne_W0lf]
//= 1.5 Fixed a checkquest condition never setting quest. [L0ne_W0lf]
//============================================================ 

// Entrance
gef_fild10,242,202,0	script	Dimensional Gorge Piece	406,{
	if ((BaseLevel < 30) || (BaseLevel > 80)) {
		mes "Only users between Levels ^ff000030 ~ 80^000000 can enter this Dungeon.";
		close;
	}

	set .@party_id,getcharid(1);
	set .@ins_mas,getpartyleader(.@party_id,2);
	set .@p_name$,getpartyname(.@party_id);
	set .@p_reader$,strcharinfo(0);
	set .@md_name$,"Orc's Memory";

	getpartymember(.@party_id);
	set .@partymembercount,$@partymembercount;
	copyarray .@partymembername$[0],$@partymembername$[0],.@partymembercount;

	set .@orctime,checkquest(12059,PLAYTIME);
	if ((.@party_id > 0) && ((.@partymembercount > 1))) {
		if (.@orctime == -1) {
			if (.@ins_mas == getcharid(0)) {
				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:
					set .@instance, instance_create(.@md_name$, .@party_id);
					if (.@instance < 0) {
						mes "Party Name: "+.@p_name$+"";
						mes "Party Leader: "+.@p_reader$+"";
						mes "^0000ff"+.@md_name$+" ^000000 - Reservation Failed.";
						close;
					}
					else {
						mes "^0000ff"+.@md_name$+"^000000- Attempting to book an entrance";
						mes "After making a reservation, you have to select 'Enter the Dungeon' from the menu if you wish to enter the " + .@md_name$ + ".";

						for( set .@i, 1; .@i <= 2; set .@i, .@i + 1 ) {
							if( instance_attachmap(.@i + "@orcs", .@instance) == "" )
								break;
						}
						if( .@i < 2 ) {
							instance_destroy(.@instance);
							close;
						}
						instance_attach(.@instance);
						instance_set_timeout 7200,300,.@instance;
						instance_init(.@instance);

						// First Floor
						donpcevent instance_npcname("#Resurrect Monsters1", instance_id())+"::OnInstanceInit";
						donpcevent instance_npcname("#Resurrect Monsters2", instance_id())+"::OnInstanceInit";
						donpcevent instance_npcname("#Resurrect Monsters3", instance_id())+"::OnInstanceInit";
						donpcevent instance_npcname("#Resurrect Monsters4", instance_id())+"::OnInstanceInit";
						donpcevent instance_npcname("B1 Area 1", instance_id())+"::OnInstanceInit";
						donpcevent instance_npcname("B1 Area 2", instance_id())+"::OnInstanceInit";
						donpcevent instance_npcname("B1 Area 3", instance_id())+"::OnInstanceInit";
						donpcevent instance_npcname("B1 Area 4", instance_id())+"::OnInstanceInit";
						disablenpc instance_npcname("Kurger#1-2", instance_id());

						// Second Floor
						donpcevent instance_npcname("#2Resurrect Monsters1", instance_id())+"::OnInstanceInit";
						donpcevent instance_npcname("#2Resurrect Monsters3", instance_id())+"::OnInstanceInit";
						donpcevent instance_npcname("#2Resurrect Monsters4", instance_id())+"::OnInstanceInit";
						donpcevent instance_npcname("Torch#1-1", instance_id())+"::OnInstanceInit";
						donpcevent instance_npcname("Torch#1-2", instance_id())+"::OnInstanceInit";
						donpcevent instance_npcname("Torch#1-3", instance_id())+"::OnInstanceInit";
						donpcevent instance_npcname("Torch#1-4", instance_id())+"::OnInstanceInit";
						donpcevent instance_npcname("Torch#2-2", instance_id())+"::OnInstanceInit";
						donpcevent instance_npcname("Torch#2-3", instance_id())+"::OnInstanceInit";
						donpcevent instance_npcname("Torch#2-4", instance_id())+"::OnInstanceInit";
						donpcevent instance_npcname("Torch#3-2", instance_id())+"::OnInstanceInit";
						donpcevent instance_npcname("Torch#3-3", instance_id())+"::OnInstanceInit";
						donpcevent instance_npcname("Torch#3-4", instance_id())+"::OnInstanceInit";
						donpcevent instance_npcname("#Warp2-1", instance_id())+"::OnInstanceInit";
						donpcevent instance_npcname("#Warp2-2", instance_id())+"::OnInstanceInit";
						donpcevent instance_npcname("#Warp2-3", instance_id())+"::OnInstanceInit";
						donpcevent instance_npcname("#Boss Control", instance_id())+"::OnInstanceInit";
						donpcevent instance_npcname("#Warp Outside Orc Dun", instance_id())+"::OnInstanceInit";
						donpcevent instance_npcname("Kruger#", instance_id())+"::OnInstanceInit";
						disablenpc instance_npcname("Kruger#2-2", instance_id());

						close;
					}
				case 2:
					//if (move_md == 3) {
					//	mes "An unidentified error has occured.";
					//	close;
					//}
					//else if (move_md == 2) {
					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;
					}
					//else if (move_md == 0) {
					else if ((has_instance("1@orcs") != "") && (.@partymembercount < 2)) {
						mes "Only party members may enter the Memorial Dungeon.";
						close;
					}
					//else if (move_md == 0) {
					else {
						mapannounce "gef_fild10", .@p_reader$ + " of the party, " + .@p_name$ + " is entering the " + .@md_name$ + ".",bc_map,"0x00ff99";
						warp "1@orcs",179,15;
						if (checkquest(12059)== -1) setquest 12059;
						close;
					}
				case 3:
					close;
				}
			}
			else {
				switch(select(.@md_name$ + " Enter the Memorial Dungeon:Cancel")) {
				case 1:
					//if (move_md == 3) {
					//	mes "An unidentified error has occured.";
					//	close;
					//}
					//else if (move_md == 2) {
					if (has_instance("1@orcs") == "") {
						mes "The Memorial Dungeon " + .@md_name$ + " does not exist.";
						mes "The Memorial Dungeon has been destroyed by the Party Leader or because of the time limit. Please try again after 2 hours.";
						close;
					}
					//else if (move_md == 1) {
					else if ((has_instance("1@orcs") != "") && (.@partymembercount < 2)) {
						mes "Only party members may enter the Memorial Dungeon.";
						close;
					}
					//else if (move_md == 0) {
					else {
						mapannounce "gef_fild10", .@p_name$ + " Party's member " + .@p_reader$ + " has entered the " + .@md_name$ + ".",bc_map,"0x00ff99";
						if (checkquest(12059)== -1) setquest 12059;
						warp "1@orcs",179,15;
						close;
					}
				case 2:
					close;
				}
			}
		}
		else if ((.@orctime == 0) || (.@orctime == 1)) {
			mes "You can enter the Dungeon if it has been generated.";
			next;
			switch(select("Enter the Dungeon " + .@md_name$ + ":Cancel")) {
			case 1:
				//if (move_md == 3) {
				//	mes "An unidentified error has occured.";
				//	close;
				//}
				//else if (move_md == 2) {
				if (has_instance("1@orcs") == "") {
					mes "The Memorial Dungeon " + .@md_name$ + " does not exist.";
					mes "The Memorial Dungeon has been destroyed by the Party Leader or because of the time limit. Please try again after 2 hours.";
					close;
				}
				//else if (move_md == 1) {
				else if ((has_instance("1@orcs") != "") && (.@partymembercount < 2)) {
					mes "Only party members may enter the Memorial Dungeon.";
					close;
				}
				//else if (move_md == 0) {
				else {
					mapannounce "gef_fild10", .@p_name$ + " Party's member " + .@p_reader$ + " has entered the " + .@md_name$ + ".",bc_map,"0x00ff99";
					if (checkquest(12059)== -1) setquest 12059;
					warp "1@orcs",179,15;
					close;
				}
			case 2:
				close;
			}
		}
		else 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;
		}
	}
	else {
		mes "In order to generate a dungeon you must be the Party Leader and have at least 2 members in the party.";
		close;
	}
}

gef_fild10,238,202,6	script	Mad Scientist#orc	865,{
	if (BaseLevel < 50) {
		mes "The Mad Scientist doesn't seem to notice you and keeps mumbling to himself...";
		close;
	}
	if (mad > 1) {
		set mad,1;
	}
	else if (mad < 1) {
		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;
		}
		switch(select("Oh? Like what, travel to alternate space?")) {
		case 1:
			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;
			break;
		}
		switch(select("... Um, that doesn't sound legal?")) {
		case 1:
			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;
			break;
		}
		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!";
			set mad,1;
			break;
		case 2:
			mes "[Mad Scientist]";
			mes "Oh fine, be that way!";
			break;
		}
	}
	else {
		mes "[Mad Scientist]";
		mes "Hmm? Put your hand on that Monemus Statue if you want to experience traveling through dimensions!";
	}
	close;
}

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

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

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

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

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

OnTimer10:
	instance_announce 0, "Shouts of the Chief Orc of Safeguards: Looks like this will take longer than expected. Summon the Stalactic Golems!",bc_map,"0xff4444";
	end;

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

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

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

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

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

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

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

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

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

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

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

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

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

OnMyMobDead:
	set .@callnum,10;
	set .@c_mob_num,mobcount("1@orcs",instance_npcname("#Resurrect Monsters4", instance_id())+"::OnMyMobDead");
	set .@mob_dead_num,.@callnum - .@c_mob_num;
	if (.@mob_dead_num > 0) {
		monster "1@orcs",0,0,"Anopheles",1627,.@mob_dead_num,instance_npcname("#Resurrect Monsters4", instance_id())+"::OnMyMobDead";
	}
	end;

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

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

1@orcs,180,29,4	script	Kurger#1-2	433,{
	end;

OnEnable:
	disablenpc instance_npcname("Kurger#1-1", instance_id());
	enablenpc instance_npcname("Kurger#1-2", instance_id());
	initnpctimer;
	end;

OnTimer10:
	instance_announce 0, "Kruger: Damn... What took you so long!! I don't have all day!!",bc_map,"0xffff00";
	end;

OnTimer5710:
	instance_announce 0, "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:
	instance_announce 0, "Shouts of the Chief Orc of Safeguards: I smell a rat.. Send some patrols to the entrance!!",bc_map,"0xff4444";
	end;

OnTimer20210:
	instance_announce 0, "Kruger: Darn it.. They'll be here any minute. Ok. Listen to me now.",bc_map,"0xffff00";
	end;

OnTimer24910:
	instance_announce 0, "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:
	instance_announce 0, "Kruger: Find those Enchanted Orcs and get rid of them to move to the next zone.",bc_map,"0xffff00";
	end;

OnTimer39710:
	instance_announce 0, "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:
	instance_announce 0, "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:
	instance_announce 0, "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", instance_id())+"::OnEnable";
	donpcevent instance_npcname("#Resurrect Monsters2", instance_id())+"::OnEnable";
	donpcevent instance_npcname("#Resurrect Monsters3", instance_id())+"::OnEnable";
	disablenpc instance_npcname("Kurger#1-2", instance_id());
	end;

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

}

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

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

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

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

OnTimer10300:
	instance_announce 0, "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:
	instance_announce 0, "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	45,3,3,{
OnInstanceInit:
	disablenpc instance_npcname("B1 Area 2", instance_id());
	end;

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

OnTouch:
	warp "1@orcs",85,85;
	end;

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

OnTimer30300:
	instance_announce 0, "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:
	instance_announce 0, "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	45,3,3,{
OnInstanceInit:
	disablenpc instance_npcname("B1 Area 3", instance_id());
	end;

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

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

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

OnTimer30300:
	instance_announce 0, "Please, hang in there!",bc_map,"0xff4499";
	end;

OnTimer32700:
	instance_announce 0, "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	45,3,3,{
OnInstanceInit:
	disablenpc instance_npcname("B1 Area 4", instance_id());
	end;

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

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

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

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

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

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

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

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

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

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

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

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

OnTimer10:
	instance_announce 0, "Voice from somewhere: Foolish... Do you really think the altar would fall like that?",bc_map,"0xff4444";
	end;

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

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

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

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

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

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

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

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

OnMyMobDead:
	set .@callnum,10;
	set .@c_mob_num,mobcount("2@orcs",instance_npcname("#2Resurrect Monsters4", instance_id())+"::OnMyMobDead");
	set .@mob_dead_num,.@callnum - .@c_mob_num;
	if (.@mob_dead_num > 0) {
		monster "2@orcs",0,0,"Anopheles",1627,1,instance_npcname("#2Resurrect Monsters4", instance_id())+"::OnMyMobDead";
	}
	end;
}

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

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

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

OnTimer10:
	instance_announce 0, "Kruger's Whisper: I'll tell you how to get to the Shaman's altar.",bc_map,"0xffff00";
	end;

OnTimer3510:
	instance_announce 0, "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:
	instance_announce 0, "Kruger's Whisper: Of course those monsters won't let you touch the braziers that easily.",bc_map,"0xffff00";
	end;

OnTimer16310:
	instance_announce 0, "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:
	instance_announce 0, "Kruger's Whisper: Only the Party Leader can strengthen the flames, so protect your leader.",bc_map,"0xffff00";
	end;

OnTimer23910:
	instance_announce 0, "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", instance_id())+"::OnEnable";
	donpcevent instance_npcname("#2Resurrect Monsters3", instance_id())+"::OnEnable";
	donpcevent instance_npcname("Torch#1-1", instance_id())+"::OnEnable";
	disablenpc instance_npcname("Kruger#2-2", instance_id());
	end;
}

2@orcs,26,164,0	script	Torch#1-1	844,{
	if(getpartyleader(getcharid(1),2) != getcharid(0)) end;
	progressbar "ffff00",5;
	donpcevent instance_npcname("Torch#1-2", instance_id())+"::OnEnable";
	initnpctimer;
	disablenpc instance_npcname("Torch#1-1", instance_id());
	end;

OnInstanceInit:
	disablenpc instance_npcname("Torch#1-1", instance_id());
	end;

OnEnable:
	enablenpc instance_npcname("Torch#1-1", instance_id());
	end;

OnTimer100:
	specialeffect EF_FIREPILLAR;
	end;

OnTimer2000:
	specialeffect EF_FIREPILLARBOMB;
	stopnpctimer;
	end;
}

2@orcs,55,155,0	script	Torch#1-2	844,{
	if(getpartyleader(getcharid(1),2) != getcharid(0)) end;
	progressbar "ffff00",5;
	donpcevent instance_npcname("Torch#1-3", instance_id())+"::OnEnable";
	initnpctimer;
	disablenpc instance_npcname("Torch#1-2", instance_id());
	end;

OnInstanceInit:
	disablenpc instance_npcname("Torch#1-2", instance_id());
	end;

OnEnable:
	enablenpc instance_npcname("Torch#1-2", instance_id());
	end;

OnTimer100:
	specialeffect EF_FIREPILLAR;
	end;

OnTimer2000:
	specialeffect EF_FIREPILLARBOMB;
	stopnpctimer;
	end;
}

2@orcs,108,146,0	script	Torch#1-3	844,{
	if(getpartyleader(getcharid(1),2) != getcharid(0)) end;
	progressbar "ffff00",5;
	donpcevent instance_npcname("Torch#1-4", instance_id())+"::OnEnable";
	initnpctimer;
	disablenpc instance_npcname("Torch#1-3", instance_id());
	end;

OnInstanceInit:
	disablenpc instance_npcname("Torch#1-3", instance_id());
	end;

OnEnable:
	enablenpc instance_npcname("Torch#1-3", instance_id());
	end;

OnTimer100:
	specialeffect EF_FIREPILLAR;
	end;

OnTimer2000:
	specialeffect EF_FIREPILLARBOMB;
	stopnpctimer;
	end;
}

2@orcs,98,171,0	script	Torch#1-4	844,{
	if(getpartyleader(getcharid(1),2) != getcharid(0)) end;
	progressbar "ffff00",5;
	donpcevent instance_npcname("#Warp2-1", instance_id())+"::OnEnable";
	initnpctimer;
	disablenpc instance_npcname("Torch#1-4", instance_id());
	end;

OnInstanceInit:
	disablenpc instance_npcname("Torch#1-4", instance_id());
	end;

OnEnable:
	enablenpc instance_npcname("Torch#1-4", instance_id());
	end;

OnTimer100:
	specialeffect EF_FIREPILLAR;
	end;

OnTimer2000:
	specialeffect EF_FIREPILLARBOMB;
	stopnpctimer;
	end;
}

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

OnEnable:
	monster "2@orcs",109,156,"Safeguard Chief",1981,1,instance_npcname("#Mobs Control", instance_id())+"::OnMyMobDead1";
	instance_announce 0, "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", instance_id());
	initnpctimer;
	end;

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

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

2@orcs,35,92,0	script	Torch#2-1	844,{
	if(getpartyleader(getcharid(1),2) != getcharid(0)) end;
	progressbar "ffff00",5;
	donpcevent instance_npcname("Torch#2-2", instance_id())+"::OnEnable";
	initnpctimer;
	disablenpc instance_npcname("Torch#2-1", instance_id());
	end;

OnTimer100:
	specialeffect EF_FIREPILLAR;
	end;

OnTimer2000:
	specialeffect EF_FIREPILLARBOMB;
	stopnpctimer;
	end;
}

2@orcs,32,70,0	script	Torch#2-2	844,{
	if(getpartyleader(getcharid(1),2) != getcharid(0)) end;
	progressbar "ffff00",5;
	donpcevent instance_npcname("Torch#2-3", instance_id())+"::OnEnable";
	initnpctimer;
	disablenpc instance_npcname("Torch#2-2", instance_id());
	end;

OnInstanceInit:
	disablenpc instance_npcname("Torch#2-2", instance_id());
	end;

OnEnable:
	enablenpc instance_npcname("Torch#2-2", instance_id());
	end;

OnTimer100:
	specialeffect EF_FIREPILLAR;
	end;

OnTimer2000:
	specialeffect EF_FIREPILLARBOMB;
	stopnpctimer;
	end;
}

2@orcs,70,31,0	script	Torch#2-3	844,{
	if(getpartyleader(getcharid(1),2) != getcharid(0)) end;
	progressbar "ffff00",5;
	donpcevent instance_npcname("Torch#2-4", instance_id())+"::OnEnable";
	initnpctimer;
	disablenpc instance_npcname("Torch#2-3", instance_id());
	end;

OnInstanceInit:
	disablenpc instance_npcname("Torch#2-3", instance_id());
	end;

OnEnable:
	enablenpc instance_npcname("Torch#2-3", instance_id());
	end;

OnTimer100:
	specialeffect EF_FIREPILLAR;
	end;

OnTimer2000:
	specialeffect EF_FIREPILLARBOMB;
	stopnpctimer;
	end;
}

2@orcs,84,51,0	script	Torch#2-4	844,{
	if(getpartyleader(getcharid(1),2) != getcharid(0)) end;
	progressbar "ffff00",5;
	donpcevent instance_npcname("#Warp2-2", instance_id())+"::OnEnable";
	initnpctimer;
	disablenpc instance_npcname("Torch#2-4", instance_id());
	end;

OnInstanceInit:
	disablenpc instance_npcname("Torch#2-4", instance_id());
	end;

OnEnable:
	enablenpc instance_npcname("Torch#2-4", instance_id());
	end;

OnTimer100:
	specialeffect EF_FIREPILLAR;
	end;

OnTimer2000:
	specialeffect EF_FIREPILLARBOMB;
	stopnpctimer;
	end;
}

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

OnEnable:
	monster "2@orcs",67,64,"Orc Sniper",1982,1,instance_npcname("#Mobs Control", instance_id())+"::OnMyMobDead2";
	instance_announce 0, "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", instance_id());
	initnpctimer;
	end;

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

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

2@orcs,142,145,0	script	Torch#3-1	844,{
	if(getpartyleader(getcharid(1),2) != getcharid(0)) end;
	progressbar "ffff00",5;
	donpcevent instance_npcname("Torch#3-2", instance_id())+"::OnEnable";
	initnpctimer;
	disablenpc instance_npcname("Torch#3-1", instance_id());
	end;

OnTimer100:
	specialeffect EF_FIREPILLAR;
	end;

OnTimer2000:
	specialeffect EF_FIREPILLARBOMB;
	stopnpctimer;
	end;
}

2@orcs,162,134,0	script	Torch#3-2	844,{
	if(getpartyleader(getcharid(1),2) != getcharid(0)) end;
	progressbar "ffff00",5;
	donpcevent instance_npcname("Torch#3-3", instance_id())+"::OnEnable";
	initnpctimer;
	disablenpc instance_npcname("Torch#3-2", instance_id());
	end;

OnInstanceInit:
	disablenpc instance_npcname("Torch#3-2", instance_id());
	end;

OnEnable:
	enablenpc instance_npcname("Torch#3-2", instance_id());
	end;

OnTimer100:
	specialeffect EF_FIREPILLAR;
	end;

OnTimer2000:
	specialeffect EF_FIREPILLARBOMB;
	stopnpctimer;
	end;
}

2@orcs,144,117,0	script	Torch#3-3	844,{
	if(getpartyleader(getcharid(1),2) != getcharid(0)) end;
	progressbar "ffff00",5;
	donpcevent instance_npcname("Torch#3-4", instance_id())+"::OnEnable";
	initnpctimer;
	disablenpc instance_npcname("Torch#3-3", instance_id());
	end;

OnInstanceInit:
	disablenpc instance_npcname("Torch#3-3", instance_id());
	end;

OnEnable:
	enablenpc instance_npcname("Torch#3-3", instance_id());
	end;

OnTimer100:
	specialeffect EF_FIREPILLAR;
	end;

OnTimer2000:
	specialeffect EF_FIREPILLARBOMB;
	stopnpctimer;
	end;
}

2@orcs,136,98,0	script	Torch#3-4	844,{
	if(getpartyleader(getcharid(1),2) != getcharid(0)) end;
	progressbar "ffff00",5;
	donpcevent instance_npcname("#Warp2-3", instance_id())+"::OnEnable";
	initnpctimer;
	disablenpc instance_npcname("Torch#3-4", instance_id());
	end;

OnInstanceInit:
	disablenpc instance_npcname("Torch#3-4", instance_id());
	end;

OnEnable:
	enablenpc instance_npcname("Torch#3-4", instance_id());
	end;

OnTimer100:
	specialeffect EF_FIREPILLAR;
	end;

OnTimer2000:
	specialeffect EF_FIREPILLARBOMB;
	stopnpctimer;
	end;
}

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

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

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

OnTimer10:
	instance_announce 0, "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:
	instance_announce 0, "Shaman Cargalache: My loyal slave, go get those intruders!",bc_map,"0xffff00";
	end;

OnTimer10310:
	instance_announce 0, "Depraved Orc Hero: Whatever you say, my lord.",bc_map,"0xff7777";
	end;

OnTimer13110:
	instance_announce 0, "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 "2@orcs",167,95;
	end;
}

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

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

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

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

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

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

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

2@orcs,172,13,0	script	Kruger#	434,{
	if (yong_odun < 2) {
		mes "[Kruger]";
		mes "*Coughing*";
		mes ""+strcharinfo(0)+", it's you...";
		next;
		mes "["+strcharinfo(0)+"] ";
		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(0)+"] ";
		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...";
		set 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#", instance_id());
	end;

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

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

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

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

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