//================= Hercules Script =======================================
//=       _   _                     _
//=      | | | |                   | |
//=      | |_| | ___ _ __ ___ _   _| | ___  ___
//=      |  _  |/ _ \ '__/ __| | | | |/ _ \/ __|
//=      | | | |  __/ | | (__| |_| | |  __/\__ \
//=      \_| |_/\___|_|  \___|\__,_|_|\___||___/
//================= License ===============================================
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
//= Copyright (C) 2013-2015  Hercules Dev Team
//= Copyright (C)  Euphy
//=
//= 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/>.
//=========================================================================
//= Bangungot Hospital 2F
//================= Description ===========================================
//= Save the hospital in Port Malaya from Bangungot.
//= Part of the "Nurse in Port Malaya" quest.
//================= Current Version =======================================
//= 1.1
//=========================================================================

//== Instance Creation =====================================
ma_dun01,147,10,5	script	Nurse#ma_dun01	4_F_NURSE,{
	if (BaseLevel < 100) end;

	.@party_id = getcharid(CHAR_ID_PARTY);
	cutin "malaya_nurseB",2;
	if (!questprogress(9223)) {
		.@quest = questprogress(9222);
		if (!.@quest) {
			if (!.@party_id) {
				if (malaya_bang == 30)
					callsub L_Closed,1;
				else if (malaya_bang == 31)
					callsub L_Closed,0;
				else
					callsub L_NoParty;
			}
			if (questprogress(11309,HUNTING) != 2) {
				.@playtime = questprogress(9224,PLAYTIME);
				if (!.@playtime) {
					if (malaya_bang == 30)
						callsub L_Closed,1;
					else if (malaya_bang == 31)
						callsub L_Closed,0;
					else if (malaya_bang > 39)
						callsub L_Enter,(getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2))?1:0,0,0;
					else {
						mes "[Nurse Maenne]";
						mes "..........";
						close2;
						cutin "",255;
						end;
					}
				} else if (.@playtime == 1) {
					if (!questprogress(11309)) {
						mes "[Nurse Maenne]";
						mes "This is a fatal situation.";
						close2;
						cutin "",255;
						end;
					} else {
						mes "[Nurse Maenne]";
						mes "Now the entrance";
						mes "to the second floor";
						mes "is closed.";
						next;
						mes "[Nurse Maenne]";
						mes "To go up to";
						mes "the second floor again,";
						mes "open the gate";
						mes "after a lapse of time.";
						close2;
						cutin "",255;
						end;
					}
				} else {
					.@quest2 = questprogress(11309);
					if (!.@quest2) {
						callsub L_Closed,0;
					} else if (.@quest2 == 1) {
						callsub L_Complete;
						completequest 9224;
						erasequest 9224;
						close2;
						cutin "",255;
						end;
					} else {
						//if (!.@party_id) callsub L_NoParty; //unneeded
						if (malaya_bang > 39)
							callsub L_Enter,(getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2))?1:0,1,1;
						else {
							mes "[Nurse Maenne]";
							mes ".......";
							close2;
							cutin "",255;
							end;
						}
					}
				}
			} else {
				mes "[Nurse Maenne]";
				mes "You got rid of Bangungot!"; //?
				mes "The nurse might be waiting for you";
				mes "in front of the hospital!";
				close2;
				cutin "",255;
				end;
			}
		} else if (.@quest == 1) {
			if (!.@party_id) callsub L_NoParty;
			if (malaya_bang > 39) {
				if (questprogress(9222,HUNTING) == 1) {
					.@playtime = questprogress(9224,PLAYTIME);
					if (.@playtime == 1) {
						mes "[Nurse Maenne]";
						mes "Do you want go up to the second floor again?";
						next;
						callsub L_Enter,0,0;
					} else if (.@playtime == 2) {
						//if (!.@party_id) callsub L_NoParty; //unneeded
						if (malaya_bang > 39)
							callsub L_Enter,(getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2))?1:0,1,1;
						else {
							mes "[Nurse Maenne]";
							mes ".......";
							close2;
							cutin "",255;
							end;
						}
					} else {
						mes "[Nurse Maenne]";
						mes "This is a fatal situation.";
						mes "You can't go up to the 2nd floor.";
						close2;
						cutin "",255;
						end;
					}
				} else {
					if (checkweight(Yggdrasilberry,1) == 0) {
						mes "[Nurse Maenne]";
						mes "You have too much stuff.";
						mes "Please reduce your stuff and";
						mes "come to me again.";
						close2;
						cutin "",255;
						end;
					}
					if (checkweight(Yggdrasilberry,11) == 0) {
						mes "[Nurse Maenne]";
						mes "It's too heavy.";
						mes "Please reduce the weight and";
						mes "come to me again.";
						close2;
						cutin "",255;
						end;
					}
					callsub L_Complete;
					completequest 9222;
					erasequest 9222;
					completequest 9224;
					erasequest 9224;
					setquest 9223;
					getexp 500000,0;
//					if (IsPremiumPcCafe == 10)
						getitem Ancient_Grudge,7;
//					else
//						getitem Ancient_Grudge,5;
					close2;
					cutin "",255;
					end;
				}
			} else {
				mes "[Nurse Maenne]";
				mes ".....?";
				mes "Now you can't go up";
				mes "to the 2nd floor.";
				close2;
				cutin "",255;
				end;
			}
		} else {
			callsub L_Complete;
			completequest 9222;
			erasequest 9222;
			completequest 9224;
			erasequest 9224;
			setquest 9223;
			close2;
			cutin "",255;
			end;
		}
	} else {
		if (questprogress(9223,PLAYTIME) == 1) {
			callsub L_Complete;
			close2;
			cutin "",255;
			end;
		} else {
			if (!.@party_id) callsub L_NoParty;
			if (malaya_bang > 39)
				callsub L_Enter,(getcharid(CHAR_ID_CHAR) == getpartyleader(.@party_id,2))?1:0,1,1;
			else {
				mes "[Nurse Maenne]";
				mes ".......";
				close2;
				cutin "",255;
				end;
			}
		}
	}

L_Closed:
	mes "[Nurse Maenne]";
	mes "- The door is closed to 1st floor";
	mes "When this Nurse came in?";
	mes "I call her behind, but";
	mes "she doesn't respond. -";
	if (getarg(0)) {
		malaya_bang = 31;
		changequest 11302,11303;
	}
	close2;
	cutin "",255;
	end;

L_NoParty:
	mes "- I guess...";
	mes "I can't talk him alone.";
	mes "After registering a party";
	mes "let me try to say something. -";
	close2;
	cutin "",255;
	end;

L_Enter:
	.@md_name$ = "Bangungot Hospital 2F";
	if (getarg(2) == 0) {
		mes "[Nurse Maenne]";
		mes "I already heard that story so";
		mes "I pretty much know that.";
		mes "What are you going to do?";
		mes "Do you want to go up";
		mes "to the second floor?";
	} else {
		mes "[Nurse Maenne]";
		mes "You are back...";
		mes "There is bad news.";
		mes "I heard that";
		mes "the Bangungot has";
		mes "appeared again.";
		next;
		mes "[Nurse Maenne]";
		mes strcharinfo(PC_NAME) + "'s help";
		mes "is needed again.";
		mes "Please, could you give me";
		mes "one more chance?";
	}
	next;
	switch(select(((getarg(0))?"Prepare to enter the second floor.":""), "Enter the second floor.", "Do not enter.")) {
	case 1:
		.@instance = instance_create(.@md_name$,getcharid(CHAR_ID_PARTY));
		if (.@instance >= 0) {
			if (instance_attachmap("1@ma_h", .@instance) == "") {
				mes("[Nurse Maenne]");
				mes("A critical situation has happened.");
				mes("You can't go up to the 2nd floor.");
				instance_destroy(.@instance);
				close2();
				cutin("", 255);
				end;
			}
			instance_set_timeout(3600, 300, .@instance);
			instance_init(.@instance);
		}
		mes "[Nurse Maenne]";
		mes "We are preparing to go up";
		mes "to the second floor.";
		mes "At the second floor";
		mes "there is a chaotic rumor that";
		mes "the dead do not die.";
		mes "Please refer to this story.";
		next;
		mes "[Nurse Maenne]";
		mes "When you finish everything,";
		mes "please talk to me again.";
		mes "I really appreciate it.";
		close2;
		cutin "",255;
		end;
	case 2:
		if( has_instance("1@ma_h") == "" ) {
			mes "The memorial dungeon "+.@md_name$+" does not exist.";
			mes "The party leader did not generate the dungeon yet.";
			close;
		} else {
			mapannounce "ma_dun01", getpartyname(getcharid(CHAR_ID_PARTY))+" party's "+strcharinfo(PC_NAME)+" member entered "+.@md_name$+".",bc_map,"0x00ff99";
			if (getarg(1)) {
				if (questprogress(9223)) {
					completequest 9223;
					erasequest 9223;
				}
				if (questprogress(9222))
					erasequest 9222;
				if (questprogress(9224))
					erasequest 9224;
				setquest 9222;
			}
			setquest 9224;
			cutin "",255;
			warp "1@ma_h",40,157;
			end;
		}
	case 3:
		mes "[Nurse Maenne]";
		mes "Alright.";
		mes "If you change mind, come back again.";
		close2;
		cutin "",255;
		end;
	}

L_Complete:
	mes "[Nurse Maenne]";
	mes "You returned safely from the Bangungot on the second floor!!";
	mes "However, it's not";
	mes "really over yet.";
	next;
	mes "[Nurse Maenne]";
	mes "I'm pretty sure it";
	mes "never disappears easily.";
	mes "I don't know what will happen";
	mes "about Bangungot, so";
	mes "after a lapse of time";
	mes "please return to me.";
	return;
}

sec_in02,27,30,0	script	Bangungot Gate	2_MONEMUS,{
	callfunc "F_GM_NPC";
	mes "Password";
	next;
	if (callfunc("F_GM_NPC","1854",1) == 0) {
		mes "Good Luck.";
		close;
	}
	switch(select("Receive 9222", "Receive 9223", "Erase 9222", "Erase 9223", "Receive 9224", "Erase 9224", "Receive malaya_bang 30", "Receive malaya_bang 40", "Receive 11309", "Erase 11309", "Cancel")) {
		case 1: setquest 9222; close;
		case 2: setquest 9223; close;
		case 3: erasequest 9222; close;
		case 4: erasequest 9223; close;
		case 5: setquest 9224; close;
		case 6: erasequest 9224; close;
		case 7: malaya_bang = 30; close;
		case 8: malaya_bang = 40; close;
		case 9: setquest 11309; close;
		case 10: completequest 11309; close;
		case 11: close;
	}
}

//== Instance Scripts ======================================
1@ma_h,43,157,0	script	#Memorial Start	HIDDEN_WARP_NPC,2,2,{
	end;
OnTouch:
	.@map$ = instance_mapname("1@ma_h");
	mapannounce .@map$,"Bangungot: You silly "+strcharinfo(PC_NAME)+" ....",bc_map,"0xFF82FF";
	mapannounce .@map$,"Bangungot: Get out before you die...",bc_map,"0xFF82FF";
	areamonster .@map$,44,156,46,158,"Bangungot's Mangkukulam",2339,1,instance_npcname("#Memorial Start")+"::OnMyMobDead";
	donpcevent instance_npcname("#Memorial Start_time")+"::OnEnable";
	end;
OnMyMobDead:
	initnpctimer;
	end;
OnTimer1000:
	.@map$ = instance_mapname("1@ma_h");
	if (mobcount(.@map$,instance_npcname("#Memorial Start")+"::OnMyMobDead") < 1) {
		donpcevent instance_npcname("#Ward1 Entry")+"::OnEnable1";
		donpcevent instance_npcname("#Memorial Start_time")+"::OnDisable";
		mapannounce .@map$,"Bangungot: This is where your NIGHTMARE starts...",bc_map,"0xFF82FF";
		disablenpc instance_npcname("#Memorial Start");
	}
	stopnpctimer;
	end;
}

1@ma_h,43,157,0	script	#Memorial Start_time	HIDDEN_WARP_NPC,{ //2,2
	end;
OnInstanceInit:
	disablenpc instance_npcname("#Memorial Start_time");
	end;
OnEnable:
	specialeffect(EF_BAT2, AREA, getnpcid(0, instance_npcname("#Memorial Start")));
	initnpctimer;
	end;
OnDisable:
	stopnpctimer;
	end;
OnTimer5000:
	mapannounce instance_mapname("1@ma_h"),"Bangungot: You cannot help.... you can't defeat me.",bc_map,"0xFF82FF";
	end;
OnTimer10000:
	mapannounce instance_mapname("1@ma_h"),"Bangungot: HAHAHAHAHAHAHAHA!!!!",bc_map,"0xFF82FF";
	stopnpctimer;
	end;
}

1@ma_h,46,165,0	script	#Ward1 Entry	HIDDEN_WARP_NPC,{ //3,3
	end;
OnInstanceInit:
	disablenpc instance_npcname(strnpcinfo(NPC_NAME));
	end;
OnEnable1:
	.@map$ = instance_mapname("1@ma_h");
	.@label$ = instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead";
	enablenpc instance_npcname(strnpcinfo(NPC_NAME));
	specialeffect EF_BAT2;
	switch(atoi(charat(strnpcinfo(NPC_NAME_HIDDEN),4))) {
	case 1:
		areamonster .@map$,49,171,51,173,"Bangungot's Mangkukulam",2339,1,.@label$;
		areamonster .@map$,51,171,53,173,"Bangungot's Mangkukulam",2339,1,.@label$;
		end;
	case 2:
		areamonster .@map$,49,137,51,139,"Bangungot's Mangkukulam",2339,1,.@label$;
		areamonster .@map$,51,137,53,139,"Bangungot's Mangkukulam",2339,1,.@label$;
		end;
	case 3:
		areamonster .@map$,69,171,71,173,"Bangungot's Mangkukulam",2339,1,.@label$;
		areamonster .@map$,71,171,73,173,"Bangungot's Mangkukulam",2339,1,.@label$;
		areamonster .@map$,73,171,75,173,"Bangungot's Mangkukulam",2339,1,.@label$;
		end;
	case 4:
		areamonster .@map$,71,139,73,141,"Bangungot's Mangkukulam",2339,1,.@label$;
		areamonster .@map$,73,139,75,141,"Bangungot's Mangkukulam",2339,1,.@label$;
		areamonster .@map$,75,139,77,141,"Bangungot's Mangkukulam",2339,1,.@label$;
		end;
	case 5:
		areamonster .@map$,93,173,95,175,"Bangungot's Mangkukulam",2339,1,.@label$;
		areamonster .@map$,95,173,97,175,"Bangungot's Mangkukulam",2339,1,.@label$;
		areamonster .@map$,97,173,99,175,"Bangungot's Mangkukulam",2339,1,.@label$;
		areamonster .@map$,93,175,95,177,"Bangungot's Mangkukulam",2339,1,.@label$;
		end;
	}
/*
// Not called in official scripts.
OnEnable2:
	areamonster instance_mapname("1@ma_h"),140,38,142,40,"Bangungot's Mangkukulam",2339,1,instance_npcname("#Ward1 Entry")+"::OnMyMobDead";
	end;
*/
OnEnable3:
	.@i = atoi(charat(strnpcinfo(NPC_NAME_HIDDEN),4))+1;
	donpcevent instance_npcname("#Ward"+.@i+" Entry")+"::OnEnable1";
	disablenpc instance_npcname(strnpcinfo(NPC_NAME));
	end;
OnMyMobDead:
	initnpctimer;
	end;
OnTimer1000:
	.@map$ = instance_mapname("1@ma_h");
	if (mobcount(.@map$,instance_npcname(strnpcinfo(NPC_NAME))+"::OnMyMobDead") < 1) {
		specialeffect EF_BAT2;
		donpcevent instance_npcname(strnpcinfo(NPC_NAME))+"::OnEnable3";
		switch(atoi(charat(strnpcinfo(NPC_NAME_HIDDEN),4))) {
			case 1: .@str$ = "Bangungot: I will let you see the pain and the agony actually be real....."; break;
			case 2: .@str$ = "Bangungot: Diseased spirits are the source of my energy, and my life..."; break;
			case 3: .@str$ = "Bangungot: Scream more....and more...... your pain..."; break;
			case 4: .@str$ = "Bangungot: Deeply and more deeply in pain..."; break;
			case 5: .@str$ = "Bangungot: Be horrified...be petrified."; break;
		}
		mapannounce .@map$,.@str$,bc_map,"0xFF82FF";
	}
	stopnpctimer;
	end;
}
1@ma_h,57,147,0	duplicate(#Ward1 Entry)	#Ward2 Entry	HIDDEN_WARP_NPC //3,3
1@ma_h,67,165,0	duplicate(#Ward1 Entry)	#Ward3 Entry	HIDDEN_WARP_NPC //3,3
1@ma_h,79,147,0	duplicate(#Ward1 Entry)	#Ward4 Entry	HIDDEN_WARP_NPC //3,3
1@ma_h,90,165,0	duplicate(#Ward1 Entry)	#Ward5 Entry	HIDDEN_WARP_NPC //3,3

1@ma_h,101,147,0	script	#Ward6 Entry	HIDDEN_WARP_NPC,{ //2,2
	end;
OnInstanceInit:
	disablenpc instance_npcname("#Ward6 Entry");
	end;
OnEnable1:
	.@map$ = instance_mapname("1@ma_h");
	.@label$ = instance_npcname("#Ward6 Entry")+"::OnMyMobDead";
	enablenpc instance_npcname("#Ward6 Entry");
	specialeffect EF_BAT2;
	areamonster .@map$,93,137,95,139,"Bangungot's Mangkukulam",2339,1,.@label$;
	areamonster .@map$,95,137,97,139,"Bangungot's Mangkukulam",2339,1,.@label$;
	areamonster .@map$,97,137,99,139,"Bangungot's Mangkukulam",2339,1,.@label$;
	areamonster .@map$,93,139,95,141,"Bangungot's Mangkukulam",2339,1,.@label$;
	areamonster .@map$,95,139,97,141,"Bangungot's Manananggal",2338,1,.@label$;
	end;
/*
// Not called in official scripts.
OnEnable2:
	areamonster instance_mapname("1@ma_h"),140,38,142,40,"Bangungot's Mangkukulam",2339,1,instance_npcname("#Ward6 Entry")+"::OnMyMobDead";
	end;
*/
OnMyMobDead:
	initnpctimer;
	end;
OnTimer3000:
	.@map$ = instance_mapname("1@ma_h");
	if (mobcount(.@map$,instance_npcname("#Ward6 Entry")+"::OnMyMobDead") < 1) {
		specialeffect EF_BAT2;
		donpcevent instance_npcname("#Summon Boss")+"::OnEnable";
		mapannounce .@map$,"Bangungot: You had the choice to enter here, but you have no choice to get out as you want...",bc_map,"0xFF82FF";
	}
	stopnpctimer;
	end;
}

1@ma_h,110,177,0	script	#Summon Boss	HIDDEN_WARP_NPC,{
	end;
OnInstanceInit:
	disablenpc instance_npcname("#Summon Boss");
	end;
OnEnable:
	enablenpc instance_npcname("#Summon Boss");
	monster instance_mapname("1@ma_h"),143,158,"Bangungot",2317,1,instance_npcname("#Summon Boss")+"::OnMyMobDead";
	donpcevent instance_npcname("#Boss Room Entry")+"::OnEnableEntry";
	donpcevent instance_npcname("#Boss Room Entry")+"::OnEnable";
	end;
OnMyMobDead:
	initnpctimer;
	end;
OnTimer1000:
	if (mobcount(instance_mapname("1@ma_h"),instance_npcname("#Summon Boss")+"::OnMyMobDead") < 1) {
		donpcevent instance_npcname("#Summon Pillar")+"::OnEnable1";
		mapannounce instance_mapname("1@ma_h"),"Bangungot: I....cannot.....finish...like.......this.",bc_map,"0xFF82FF";
		disablenpc instance_npcname("#Summon Boss");
	}
	stopnpctimer;
	end;
}

1@ma_h,147,143,0	script	#Boss Room Entry	HIDDEN_WARP_NPC,10,10,{
	end;
OnInstanceInit:
	disablenpc instance_npcname("#Boss Room Entry");
	end;
OnTouch:
	specialeffect EF_GHOST;
	donpcevent instance_npcname("#Boss Room Entry")+"::OnDisableEntry";
	donpcevent instance_npcname("#Boss Room Entry_time")+"::OnEnable";
	end;
OnEnable:
	enablenpc instance_npcname("#Boss Room Entry");
	enablenpc instance_npcname("#Boss Room Door");
	enablenpc instance_npcname("#Boss Room Door1");
	end;
OnSpawn:
	areamonster instance_mapname("1@ma_h"),123,152,137,166,"Bangungot's Manananggal",2338,1,instance_npcname("#Boss Room Entry")+"::OnMyMobDead";
	end;
OnReset:
	killmonster instance_mapname("1@ma_h"),instance_npcname("#Boss Room Entry")+"::OnMyMobDead";
	end;
OnMyMobDead:
	initnpctimer;
	end;
OnTimer1000:
	.@map$ = instance_mapname("1@ma_h");
	if (mobcount(.@map$,instance_npcname("#Boss Room Entry")+"::OnMyMobDead") < 1)
		mapannounce .@map$,"Bangungot: HAHAHAH... That's not enough, I will be even stronger....",bc_map,"0xFF82FF";
	stopnpctimer;
	end;

// Unofficial labels (to avoid duplicating code).
OnEnableEntry:
	enablenpc instance_npcname("#Boss Room Entry");
	enablenpc instance_npcname("#Boss Room Entry_a");
	enablenpc instance_npcname("#Boss Room Entry_b");
	enablenpc instance_npcname("#Boss Room Entry_c");
	enablenpc instance_npcname("#Boss Room Entry_d");
	enablenpc instance_npcname("#Boss Room Entry_e");
	enablenpc instance_npcname("#Boss Room Entry_f");
	enablenpc instance_npcname("#Boss Room Entry_g");
	enablenpc instance_npcname("#Boss Room Entry_h");
	end;
OnDisableEntry:
	disablenpc instance_npcname("#Boss Room Entry");
	disablenpc instance_npcname("#Boss Room Entry_a");
	disablenpc instance_npcname("#Boss Room Entry_b");
	disablenpc instance_npcname("#Boss Room Entry_c");
	disablenpc instance_npcname("#Boss Room Entry_d");
	disablenpc instance_npcname("#Boss Room Entry_e");
	disablenpc instance_npcname("#Boss Room Entry_f");
	disablenpc instance_npcname("#Boss Room Entry_g");
	disablenpc instance_npcname("#Boss Room Entry_h");
	end;
}

1@ma_h,147,143,0	script	#Boss Room Entry_time	HIDDEN_WARP_NPC,{ //10,10
	end;
OnInstanceInit:
	disablenpc instance_npcname("#Boss Room Entry_time");
	end;
OnEnable:
	mapannounce instance_mapname("1@ma_h"),"Bangungot: You poor little things. I will invite you to the world of infectious disease...",bc_map,"0xFF82FF";
	initnpctimer;
	end;
OnTimer25000:
	mapannounce instance_mapname("1@ma_h"),"Bangungot: You will know what it is...",bc_map,"0xFF82FF";
	for(.@i = 10; .@i<=22; ++.@i)
		disablenpc instance_npcname("#Patternwarp"+.@i);
	end;
OnTimer35000:
	mapannounce instance_mapname("1@ma_h"),"Bangungot: Real pain! You will know!!",bc_map,"0xFF82FF";
	for(.@i = 25; .@i<=33; ++.@i)
		disablenpc instance_npcname("#Patternwarp"+.@i);
	end;
OnTimer45000:
	mapannounce instance_mapname("1@ma_h"),"Bangungot: Have you ever heard the patients screaming?",bc_map,"0xFF82FF";
	end;
OnTimer55000:
	mapannounce instance_mapname("1@ma_h"),"Bangungot: If you haven't, I will let you!!",bc_map,"0xFF82FF";
	enablenpc instance_npcname("#Summon Ward Mob");
	donpcevent instance_npcname("#Summon Ward Mob")+"::OnEnable7";
	end;
OnTimer60000:
	for(.@i = 1; .@i<=8; ++.@i)
		enablenpc instance_npcname("#Patternwarp"+.@i);
	for(.@i = 34; .@i<=38; ++.@i)
		enablenpc instance_npcname("#Patternwarp"+.@i);
	end;
OnTimer60500:
	for(.@i = 41; .@i<=49; ++.@i)
		enablenpc instance_npcname("#Patternwarp"+.@i);
	end;
OnTimer90000:
	mapannounce instance_mapname("1@ma_h"),"Bangungot: Delight coming from agony is my nutrient.",bc_map,"0xFF82FF";
	donpcevent instance_npcname("#Boss Room Entry")+"::OnSpawn";
	end;
OnTimer110000:
	mapannounce instance_mapname("1@ma_h"),"Bangungot: Remain here, cursed disease.....",bc_map,"0xFF82FF";
	donpcevent instance_npcname("#Boss Room Entry")+"::OnSpawn";
	end;
OnTimer125000:
	mapannounce instance_mapname("1@ma_h"),"Bangungot: You wanna hang out with me ......?",bc_map,"0xFF82FF";
	end;
OnTimer128000:
	for(.@i = 1; .@i<=8; ++.@i)
		disablenpc instance_npcname("#Patternwarp"+.@i);
	for(.@i = 34; .@i<=38; ++.@i)
		disablenpc instance_npcname("#Patternwarp"+.@i);
	end;
OnTimer128500:
	for(.@i = 41; .@i<=49; ++.@i)
		disablenpc instance_npcname("#Patternwarp"+.@i);
	end;
OnTimer129000:
	donpcevent instance_npcname("#Boss Room Entry")+"::OnEnableEntry";
	end;
OnTimer129500:
	donpcevent instance_npcname("#Boss Room Entry")+"::OnSpawn";
	for(.@i = 10; .@i<=22; ++.@i)
		enablenpc instance_npcname("#Patternwarp"+.@i);
	end;
OnTimer130000:
	for(.@i = 25; .@i<=33; ++.@i)
		enablenpc instance_npcname("#Patternwarp"+.@i);
	stopnpctimer;
	end;
OnStopTimer:
	stopnpctimer;
	end;
}

1@ma_h,111,177,0	script	#Boss Room Entry_2	WARPNPC,{
	end;
OnInstanceInit:
	disablenpc instance_npcname("#Boss Room Entry_2");
	end;
OnEnable:
	mapannounce instance_mapname("1@ma_h"),"Bangungot: You are pretty powerful...",bc_map,"0xFF82FF";
	initnpctimer;
	end;
OnTimer3000:
	mapannounce instance_mapname("1@ma_h"),"Bangungot: But can you...",bc_map,"0xFF82FF";
	end;
OnTimer6000:
	mapannounce instance_mapname("1@ma_h"),"Bangungot: ...defeat me again...?",bc_map,"0xFF82FF";
	end;
OnTimer9000:
	for(.@i = 1; .@i<=8; ++.@i)
		disablenpc instance_npcname("#Patternwarp"+.@i);
	for(.@i = 34; .@i<=38; ++.@i)
		disablenpc instance_npcname("#Patternwarp"+.@i);
	end;
OnTimer9500:
	for(.@i = 41; .@i<=49; ++.@i)
		disablenpc instance_npcname("#Patternwarp"+.@i);
	end;
OnTimer10000:
	mapannounce instance_mapname("1@ma_h"),"Bangungot: You stupid persoon....",bc_map,"0xFF82FF";
	for(.@i = 10; .@i<=22; ++.@i)
		enablenpc instance_npcname("#Patternwarp"+.@i);
	end;
OnTimer10500:
	for(.@i = 25; .@i<=33; ++.@i)
		enablenpc instance_npcname("#Patternwarp"+.@i);
	stopnpctimer;
	end;
}

1@ma_h,118,63,0	script	#Summon Ward Mob	HIDDEN_WARP_NPC,4,4,{
	end;
OnInstanceInit:
	disablenpc instance_npcname("#Summon Ward Mob");
	end;
OnTouch:
	donpcevent instance_npcname("#Summon Ward Mob_time")+"::OnEnable";
	specialeffect EF_CURSEATTACK;
	end;
OnEnable1:
	.@map$ = instance_mapname("1@ma_h");
	.@label$ = instance_npcname("#Summon Ward Mob")+"::OnMyMobDead";
	areamonster .@map$,47,77,49,79,"Bangungot's Tiyanak",2340,1,.@label$;
	areamonster .@map$,49,77,51,79,"Bangungot's Tiyanak",2340,1,.@label$;
	areamonster .@map$,51,77,53,79,"Bangungot's Tiyanak",2340,1,.@label$;
	areamonster .@map$,47,79,49,81,"Bangungot's Tiyanak",2340,1,.@label$;
	areamonster .@map$,49,79,51,81,"Bangungot's Mangkukulam",2339,1,.@label$;
	areamonster .@map$,47,81,49,83,"Bangungot's Tiyanak",2339,1,.@label$;
	areamonster .@map$,49,81,51,83,"Bangungot's Tiyanak",2339,1,.@label$;
	end;
OnEnable2:
	.@map$ = instance_mapname("1@ma_h");
	.@label$ = instance_npcname("#Summon Ward Mob")+"::OnMyMobDead";
	areamonster .@map$,51,45,53,47,"Bangungot's Tiyanak",2339,1,.@label$;
	areamonster .@map$,53,45,55,47,"Bangungot's Tiyanak",2339,1,.@label$;
	areamonster .@map$,49,47,51,49,"Bangungot's Mangkukulam",2339,1,.@label$;
	areamonster .@map$,53,47,55,49,"Bangungot's Tiyanak",2340,1,.@label$;
	areamonster .@map$,49,49,51,51,"Bangungot's Tiyanak",2340,1,.@label$;
	areamonster .@map$,51,49,53,51,"Bangungot's Tiyanak",2340,1,.@label$;
	areamonster .@map$,53,49,55,51,"Bangungot's Tiyanak",2340,1,.@label$;
	end;
OnEnable3:
	.@map$ = instance_mapname("1@ma_h");
	.@label$ = instance_npcname("#Summon Ward Mob")+"::OnMyMobDead";
	areamonster .@map$,69,75,71,77,"Bangungot's Tiyanak",2340,1,.@label$;
	areamonster .@map$,71,75,73,77,"Bangungot's Tiyanak",2340,1,.@label$;
	areamonster .@map$,73,75,75,77,"Bangungot's Tiyanak",2340,1,.@label$;
	areamonster .@map$,69,77,71,79,"Bangungot's Tiyanak",2340,1,.@label$;
	areamonster .@map$,71,77,73,79,"Bangungot's Mangkukulam",2339,1,.@label$;
	areamonster .@map$,69,79,71,81,"Bangungot's Tiyanak",2339,1,.@label$;
	areamonster .@map$,71,79,73,81,"Bangungot's Tiyanak",2339,1,.@label$;
	end;
OnEnable4:
	.@map$ = instance_mapname("1@ma_h");
	.@label$ = instance_npcname("#Summon Ward Mob")+"::OnMyMobDead";
	areamonster .@map$,73,45,75,47,"Bangungot's Tiyanak",2339,1,.@label$;
	areamonster .@map$,75,45,77,47,"Bangungot's Tiyanak",2339,1,.@label$;
	areamonster .@map$,71,47,73,49,"Bangungot's Mangkukulam",2339,1,.@label$;
	areamonster .@map$,75,47,77,49,"Bangungot's Tiyanak",2340,1,.@label$;
	areamonster .@map$,71,49,73,51,"Bangungot's Tiyanak",2340,1,.@label$;
	areamonster .@map$,73,49,75,51,"Bangungot's Tiyanak",2340,1,.@label$;
	areamonster .@map$,75,49,77,51,"Bangungot's Tiyanak",2340,1,.@label$;
	end;
OnEnable5:
	.@map$ = instance_mapname("1@ma_h");
	.@label$ = instance_npcname("#Summon Ward Mob")+"::OnMyMobDead";
	areamonster .@map$,93,77,95,79,"Bangungot's Tiyanak",2340,1,.@label$;
	areamonster .@map$,95,77,97,79,"Bangungot's Tiyanak",2340,1,.@label$;
	areamonster .@map$,97,77,99,79,"Bangungot's Tiyanak",2340,1,.@label$;
	areamonster .@map$,93,79,95,81,"Bangungot's Tiyanak",2340,1,.@label$;
	areamonster .@map$,95,79,97,81,"Bangungot's Mangkukulam",2339,1,.@label$;
	areamonster .@map$,93,81,95,83,"Bangungot's Tiyanak",2339,1,.@label$;
	areamonster .@map$,95,81,97,83,"Bangungot's Tiyanak",2339,1,.@label$;
	end;
OnEnable6:
	.@map$ = instance_mapname("1@ma_h");
	.@label$ = instance_npcname("#Summon Ward Mob")+"::OnMyMobDead";
	areamonster .@map$,93,43,95,45,"Bangungot's Tiyanak",2339,1,.@label$;
	areamonster .@map$,95,43,97,45,"Bangungot's Tiyanak",2339,1,.@label$;
	areamonster .@map$,91,45,93,47,"Bangungot's Mangkukulam",2339,1,.@label$;
	areamonster .@map$,95,45,97,47,"Bangungot's Tiyanak",2340,1,.@label$;
	areamonster .@map$,91,47,93,49,"Bangungot's Tiyanak",2340,1,.@label$;
	areamonster .@map$,93,47,95,49,"Bangungot's Tiyanak",2340,1,.@label$;
	areamonster .@map$,95,47,97,49,"Bangungot's Tiyanak",2340,1,.@label$;
	end;
OnEnable7:
	killmonster instance_mapname("1@ma_h"),instance_npcname("#Summon Ward Mob")+"::OnMyMobDead";
	end;
OnMyMobDead:
	initnpctimer;
	end;
OnTimer1000:
	if (mobcount(instance_mapname("1@ma_h"),instance_npcname("#Summon Ward Mob")+"::OnMyMobDead") < 1) {
		donpcevent instance_npcname("#Boss Room Entry_2")+"::OnEnable";
		donpcevent instance_npcname("#Boss Room Entry")+"::OnEnableEntry";
		donpcevent instance_npcname("#Boss Room Entry_time")+"::OnStopTimer";
	}
	stopnpctimer;
	end;
}

1@ma_h,118,64,0	script	#Summon Ward Mob_time	HIDDEN_WARP_NPC,{ //4,4
	end;
OnInstanceInit:
	disablenpc instance_npcname("#Summon Ward Mob_time");
	end;
OnEnable:
	initnpctimer;
	disablenpc instance_npcname("#Summon Ward Mob");
	end;
OnTimer2000:
	mapannounce instance_mapname("1@ma_h"),"Bangungot: My spirit will be with your cursed body...",bc_map,"0xFF82FF";
	end;
OnTimer4000:
	mapannounce instance_mapname("1@ma_h"),"Bangungot: My inferiors...!! Go!! Go torment the patients in the wards!!",bc_map,"0xFF82FF";
	end;
OnTimer6000:
	mapannounce instance_mapname("1@ma_h"),"- Bangungot's inferiors are bothering patients!! If you don't slay them all, Bangungot will be stronger. -",bc_map,"0xFF8200";
	end;
OnTimer10000:
	setarray .@npc$[1],
		"Moaning Patient","Screaming Patient","Patient in Pain","Passed Out Patient","Patient with Nightmare","Sick Looking Patient",
		"Horrified Patient","Patient in Sorrow","Suffering Patient","Wriggling Patient","Patient in Cold Sweat","Howling Patient";
	enablenpc instance_npcname("#Summon Ward Mob");
	.@rand = rand(1,6);
	donpcevent instance_npcname("#Summon Ward Mob")+"::OnEnable"+.@rand;
	.@id = (.@rand*2)-rand(2);
	donpcevent instance_npcname(.@npc$[.@id]+"#"+.@id)+"::OnEnable";
	stopnpctimer;
	end;
}

1@ma_h,112,177,0	script	#Summon Pillar	HIDDEN_WARP_NPC,{
	end;
OnInstanceInit:
	disablenpc instance_npcname("#Summon Pillar");
	end;
OnEnable1:
	enablenpc instance_npcname("#Summon Pillar");
	donpcevent instance_npcname("#Boss Room Entry_time")+"::OnStopTimer";
	donpcevent instance_npcname("#Summon Pillar_time")+"::OnEnable";
	monster instance_mapname("1@ma_h"),131,157,"Pillar of Spirit",2327,1,instance_npcname("#Summon Pillar")+"::OnMyMobDead";
	end;
OnEnable3:
	enablenpc instance_npcname("#Boss Room Exit");
	disablenpc instance_npcname("#Summon Pillar");
	end;
OnReset:
	killmonster instance_mapname("1@ma_h"),instance_npcname("#Summon Pillar")+"::OnMyMobDead";
	end;
OnMyMobDead:
	initnpctimer;
	end;
OnTimer1000:
	.@map$ = instance_mapname("1@ma_h");
	if (mobcount(.@map$,instance_npcname("#Summon Pillar")+"::OnMyMobDead") < 1) {
		donpcevent instance_npcname("#Summon Pillar_time")+"::OnStopTimer";
		donpcevent instance_npcname("#Summon Pillar")+"::OnEnable3";
		donpcevent instance_npcname("#Boss Room Entry")+"::OnReset";
		mapannounce .@map$,"Bangungot: Oh....cannot believe that I lost...",bc_map,"0xFF4500";
		mapannounce .@map$,"Bangungot: But don't think this is the end!!",bc_map,"0xFF4500";
		mapannounce .@map$,"Bangungot: I WILL BE BACK!!!!!",bc_map,"0xFF4500";
	}
	stopnpctimer;
	end;
}

1@ma_h,112,178,0	script	#Summon Pillar_time	HIDDEN_WARP_NPC,{
	end;
OnInstanceInit:
	disablenpc instance_npcname("#Summon Pillar_time");
	end;
OnEnable:
	initnpctimer;
	end;
OnStopTimer:
	stopnpctimer;
	end;
OnTimer1000:
	mapannounce instance_mapname("1@ma_h"),"- Bangungot's Pillar of Spirit is curing Bangungot. If you don't hunt it now, he will fully recover!! -",bc_map,"0xFF8200";
	specialeffect(EF_MAPPILLAR2, AREA, getnpcid(0, instance_npcname("#Patternwarp45")));
	end;
OnTimer7000:
	mapannounce instance_mapname("1@ma_h"),"Bangungot: I never die!!!!",bc_map,"0xFF82FF";
	specialeffect(EF_MAPPILLAR2, AREA, getnpcid(0, instance_npcname("#Patternwarp45")));
	end;
OnTimer14000:
	mapannounce instance_mapname("1@ma_h"),"Bangungot: If you dare, kill me!! I will revive soon!!!",bc_map,"0xFF82FF";
	specialeffect(EF_MAPPILLAR2, AREA, getnpcid(0, instance_npcname("#Patternwarp45")));
	end;
OnTimer21000:
	mapannounce instance_mapname("1@ma_h"),"Bangungot: I cannot die this way...!!!!",bc_map,"0xFF82FF";
	specialeffect(EF_MAPPILLAR2, AREA, getnpcid(0, instance_npcname("#Patternwarp45")));
	end;
OnTimer30000:
	donpcevent instance_npcname("#Summon Pillar")+"::OnReset";
	end;
OnTimer31000:
	mapannounce instance_mapname("1@ma_h"),"Bangungot: Hahahahaha!! I'm back with the power from the pillar of spirit!!!",bc_map,"0xFF82FF";
	donpcevent instance_npcname("#Summon Pillar")+"::OnReset";
	end;
OnTimer36000:
	donpcevent instance_npcname("#Boss Room Entry")+"::OnEnableEntry";
	donpcevent instance_npcname("#Summon Boss")+"::OnEnable";
	stopnpctimer;
	end;
}

1@ma_h,118,171,0	script	#Boss Room Entry_a	HIDDEN_WARP_NPC,10,10,{
	end;
OnInstanceInit:
	disablenpc instance_npcname(strnpcinfo(NPC_NAME));
	end;
OnTouch:
	specialeffect EF_GHOST;
	donpcevent instance_npcname("#Boss Room Entry")+"::OnDisableEntry";
	donpcevent instance_npcname("#Boss Room Entry_time")+"::OnEnable";
	end;
}
1@ma_h,132,171,0	duplicate(#Boss Room Entry_a)	#Boss Room Entry_b	HIDDEN_WARP_NPC,10,10
1@ma_h,147,171,0	duplicate(#Boss Room Entry_a)	#Boss Room Entry_c	HIDDEN_WARP_NPC,10,10
1@ma_h,118,157,0	duplicate(#Boss Room Entry_a)	#Boss Room Entry_d	HIDDEN_WARP_NPC,10,10
1@ma_h,132,157,0	duplicate(#Boss Room Entry_a)	#Boss Room Entry_e	HIDDEN_WARP_NPC,10,10
1@ma_h,147,157,0	duplicate(#Boss Room Entry_a)	#Boss Room Entry_f	HIDDEN_WARP_NPC,10,10
1@ma_h,118,143,0	duplicate(#Boss Room Entry_a)	#Boss Room Entry_g	HIDDEN_WARP_NPC,10,10
1@ma_h,132,143,0	duplicate(#Boss Room Entry_a)	#Boss Room Entry_h	HIDDEN_WARP_NPC,10,10

1@ma_h,131,62,0	script	#Boss Effect	HIDDEN_WARP_NPC,{ //4,4
	end;
OnInstanceInit:
	disablenpc instance_npcname("#Boss Effect");
	initnpctimer;
	end;
OnTimer3000:
	specialeffect EF_BARRIER;
	stopnpctimer;
	initnpctimer;
	end;
}

1@ma_h,43,86,4	script	Moaning Patient#1	4_F_PATIENT,{
	end;
OnInstanceInit:
	monster instance_mapname("1@ma_h"),131,62,"Bangungot",2318,1;
	end;
OnEnable:
	mapannounce instance_mapname("1@ma_h"),"Moaning Patient: aaawwww....",bc_map,"0xFF0000";
	initnpctimer;
	end;
OnTimer5000:
OnTimer8000:
OnTimer11000:
OnTimer14000:
OnTimer17000:
OnTimer20000:
OnTimer23000:
OnTimer26000:
	specialeffect EF_POTION_BERSERK;
	specialeffect EF_CURSEATTACK;
	end;
OnTimer30000:
	specialeffect EF_POTION_BERSERK;
	specialeffect EF_CURSEATTACK;
	stopnpctimer;
	end;
}

1@ma_h,60,87,4	script	Screaming Patient#2	4_M_PATIENT,{
	end;
OnEnable:
	switch(atoi(strnpcinfo(NPC_NAME_HIDDEN))) {
		case 2: .@str$ = "Screaming Patient: Aaaaargh!!"; break;
		case 3: .@str$ = "Patient in Pain: Oooooowwww!! It's killing me!!!"; break;
		case 4: .@str$ = "Passed Out Patient: ........"; break;
		case 5: .@str$ = "Patient with Nightmare: Help~!!! Save me!!!"; break;
		case 6: .@str$ = "Sick Looking Patient: Hu..a...aaah.."; break;
		case 7: .@str$ = "Horrified Patient: Get away!! Please...."; break;
		case 8: .@str$ = "Patient in Sorrow: crying and crying......"; break;
		case 9: .@str$ = "Suffering Patient: Stop... please..."; break;
		case 10: .@str$ = "Wriggling Patient: awwww..."; break;
		case 11: .@str$ = "Patient in Cold Sweat: Help.....help...."; break;
		case 12: .@str$ = "Howling Patient: aaaaahhhhhhhhhh!!"; break;
	}
	mapannounce instance_mapname("1@ma_h"),.@str$,bc_map,"0xFF0000";
	initnpctimer;
	end;
OnTimer5000:
OnTimer8000:
OnTimer11000:
OnTimer14000:
OnTimer17000:
OnTimer20000:
OnTimer23000:
OnTimer26000:
	specialeffect EF_POTION_BERSERK;
	specialeffect EF_CURSEATTACK;
	end;
OnTimer30000:
	specialeffect EF_POTION_BERSERK;
	specialeffect EF_CURSEATTACK;
	stopnpctimer;
	end;
}
1@ma_h,60,39,7	duplicate(Screaming Patient#2)	Patient in Pain#3	4_F_PATIENT
1@ma_h,43,39,7	duplicate(Screaming Patient#2)	Passed Out Patient#4	4_M_PATIENT
1@ma_h,77,86,4	duplicate(Screaming Patient#2)	Patient with Nightmare#5	4_F_PATIENT
1@ma_h,69,87,4	duplicate(Screaming Patient#2)	Sick Looking Patient#6	4_M_PATIENT
1@ma_h,73,39,7	duplicate(Screaming Patient#2)	Horrified Patient#7	4_F_PATIENT
1@ma_h,65,51,7	duplicate(Screaming Patient#2)	Patient in Sorrow#8	4_M_PATIENT
1@ma_h,87,86,4	duplicate(Screaming Patient#2)	Suffering Patient#9	4_F_PATIENT
1@ma_h,104,86,4	duplicate(Screaming Patient#2)	Wriggling Patient#10	4_M_PATIENT
1@ma_h,99,39,7	duplicate(Screaming Patient#2)	Patient in Cold Sweat#11	4_F_PATIENT
1@ma_h,87,39,7	duplicate(Screaming Patient#2)	Howling Patient#12	4_M_PATIENT

1@ma_h,43,181,4	script	Moaning Patient#b	4_F_PATIENT,{ end; }
1@ma_h,60,182,4	script	Screaming Patient#b	4_M_PATIENT,{ end; }
1@ma_h,60,132,7	script	Patient in Pain#b	4_F_PATIENT,{ end; }
1@ma_h,43,132,7	script	Passed Out Patient#b	4_M_PATIENT,{ end; }
1@ma_h,77,182,4	script	Patient with Nightmare#b	4_F_PATIENT,{ end; }
1@ma_h,69,182,4	script	Sick Looking Patient#b	4_M_PATIENT,{ end; }
1@ma_h,73,132,7	script	Horrified Patient#b	4_F_PATIENT,{ end; }
1@ma_h,65,144,7	script	Patient in Sorrow#b	4_M_PATIENT,{ end; }
1@ma_h,87,181,4	script	Suffering Patient#b	4_F_PATIENT,{ end; }
1@ma_h,104,181,4	script	Wriggling Patient#b	4_M_PATIENT,{ end; }
1@ma_h,99,132,7	script	Patient in Cold Sweat#b	4_F_PATIENT,{ end; }
1@ma_h,87,132,7	script	Howling Patient#b	4_M_PATIENT,{ end; }

//== Warp Portals ==========================================
1@ma_h,35,156,0	warp	#Boss Room Exit	2,2,ma_dun01,150,9
1@ma_h,105,157,0	warp	#Boss Room Door	2,2,1@ma_h,116,157
1@ma_h,112,157,0	warp	#Boss Room Door1	2,2,1@ma_h,100,157
1@ma_h,104,63,0	warp	#Boss Room Door2	2,2,1@ma_h,117,63
1@ma_h,112,63,0	warp	#Boss Room Door3	2,2,1@ma_h,100,63
1@ma_h,36,157,0	warp	#Patternwarp1	7,7,1@ma_h,117,63
1@ma_h,46,157,0	warp	#Patternwarp2	7,7,1@ma_h,117,63
1@ma_h,57,157,0	warp	#Patternwarp3	7,7,1@ma_h,117,63
1@ma_h,67,157,0	warp	#Patternwarp4	7,7,1@ma_h,117,63
1@ma_h,79,157,0	warp	#Patternwarp5	7,7,1@ma_h,117,63
1@ma_h,89,157,0	warp	#Patternwarp6	7,7,1@ma_h,117,63
1@ma_h,100,157,0	warp	#Patternwarp7	7,7,1@ma_h,117,63
1@ma_h,51,173,0	warp	#Patternwarp8	10,10,1@ma_h,117,63
1@ma_h,52,140,0	warp	#Patternwarp34	10,10,1@ma_h,117,63
1@ma_h,73,173,0	warp	#Patternwarp35	10,10,1@ma_h,117,63
1@ma_h,73,140,0	warp	#Patternwarp36	10,10,1@ma_h,117,63
1@ma_h,95,173,0	warp	#Patternwarp37	10,10,1@ma_h,117,63
1@ma_h,95,140,0	warp	#Patternwarp38	10,10,1@ma_h,117,63
//1@ma_h,70,170,0	warp	#Patternwarp39	10,10,1@ma_h,117,63
//1@ma_h,77,169,0	warp	#Patternwarp40	10,10,1@ma_h,117,63
1@ma_h,117,171,0	warp	#Patternwarp41	10,10,1@ma_h,117,63
1@ma_h,131,171,0	warp	#Patternwarp42	10,10,1@ma_h,117,63
1@ma_h,146,171,0	warp	#Patternwarp43	10,10,1@ma_h,117,63
1@ma_h,117,157,0	warp	#Patternwarp44	10,10,1@ma_h,117,63
1@ma_h,131,157,0	warp	#Patternwarp45	10,10,1@ma_h,117,63
1@ma_h,146,157,0	warp	#Patternwarp46	10,10,1@ma_h,117,63
1@ma_h,117,143,0	warp	#Patternwarp47	10,10,1@ma_h,117,63
1@ma_h,131,143,0	warp	#Patternwarp48	10,10,1@ma_h,117,63
1@ma_h,146,143,0	warp	#Patternwarp49	10,10,1@ma_h,117,63
1@ma_h,36,63,0	warp	#Patternwarp10	7,7,1@ma_h,116,157
1@ma_h,46,63,0	warp	#Patternwarp11	7,7,1@ma_h,116,157
1@ma_h,56,63,0	warp	#Patternwarp12	7,7,1@ma_h,116,157
1@ma_h,67,63,0	warp	#Patternwarp13	7,7,1@ma_h,116,157
1@ma_h,78,63,0	warp	#Patternwarp14	7,7,1@ma_h,116,157
1@ma_h,89,63,0	warp	#Patternwarp15	7,7,1@ma_h,116,157
1@ma_h,100,63,0	warp	#Patternwarp16	7,7,1@ma_h,116,157
1@ma_h,51,79,0	warp	#Patternwarp17	10,10,1@ma_h,116,157
1@ma_h,51,46,0	warp	#Patternwarp18	10,10,1@ma_h,116,157
1@ma_h,73,80,0	warp	#Patternwarp19	10,10,1@ma_h,116,157
1@ma_h,73,46,0	warp	#Patternwarp20	10,10,1@ma_h,116,157
1@ma_h,95,79,0	warp	#Patternwarp21	10,10,1@ma_h,116,157
1@ma_h,95,46,0	warp	#Patternwarp22	10,10,1@ma_h,116,157
//1@ma_h,193,82,0	warp	#Patternwarp23	7,7,1@ma_h,116,157
//1@ma_h,193,82,0	warp	#Patternwarp24	7,7,1@ma_h,116,157
1@ma_h,117,77,0	warp	#Patternwarp25	10,10,1@ma_h,116,157
1@ma_h,131,77,0	warp	#Patternwarp26	10,10,1@ma_h,116,157
1@ma_h,146,77,0	warp	#Patternwarp27	10,10,1@ma_h,116,157
1@ma_h,117,63,0	warp	#Patternwarp28	10,10,1@ma_h,116,157
1@ma_h,131,63,0	warp	#Patternwarp29	10,10,1@ma_h,116,157
1@ma_h,146,63,0	warp	#Patternwarp30	10,10,1@ma_h,116,157
1@ma_h,117,49,0	warp	#Patternwarp31	10,10,1@ma_h,116,157
1@ma_h,131,49,0	warp	#Patternwarp32	10,10,1@ma_h,116,157
1@ma_h,146,49,0	warp	#Patternwarp33	10,10,1@ma_h,116,157

//- Disable select warps -
// Custom, but saves processing and lines.
1@ma_h,1,1,0	script	#ma_hos_warp_init	CLEAR_NPC,{
	end;
OnInstanceInit:
	disablenpc instance_npcname("#Boss Room Exit");
	disablenpc instance_npcname("#Boss Room Door");
	disablenpc instance_npcname("#Boss Room Door1");
	for(.@i = 1; .@i<=8; ++.@i)
		disablenpc instance_npcname("#Patternwarp"+.@i);
	for(.@i = 34; .@i<=38; ++.@i)
		disablenpc instance_npcname("#Patternwarp"+.@i);
	// Skip 39-40 since they're disabled in the official script.
	for(.@i = 41; .@i<=49; ++.@i)
		disablenpc instance_npcname("#Patternwarp"+.@i);
	disablenpc instance_npcname("#ma_hos_warp_init");
	end;
}
