//================= Hercules Script =======================================
//=       _   _                     _
//=      | | | |                   | |
//=      | |_| | ___ _ __ ___ _   _| | ___  ___
//=      |  _  |/ _ \ '__/ __| | | | |/ _ \/ __|
//=      | | | |  __/ | | (__| |_| | |  __/\__ \
//=      \_| |_/\___|_|  \___|\__,_|_|\___||___/
//================= License ===============================================
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
//= Copyright (C) 2012-2015  Hercules Dev Team
//= Copyright (C)  Euphy
//= Copyright (C)  Masao
//= Copyright (C)  L0ne_W0lf
//= Copyright (C)  Gepard
//= Copyright (C)  Muad_Dib
//=
//= 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/>.
//=========================================================================
//= Warlock Job Quest
//================= Description ===========================================
//= Job change Quest from Wizard / High Wizard -> Warlock.
//================= Current Version =======================================
//= 1.4
//=========================================================================

-	script	#distorted_space_	FAKE_NPC,{
OnTouch:
	if (job_wl > 1) {
		mes " - There is a strange distortion here - ";
		if (strnpcinfo(NPC_NAME) == "#distorted_space_1" && (Class == Job_Warlock || Class == Job_Warlock_T || Class == Job_Baby_Warlock)) {
			close2;
			if (countitem(Special_Exchange_Coupon) > 0)
				warp "spl_in02",79,102;
			end;
		}
		next;
		switch(select("Extend your hand.", "Ignore it.")) {
		case 1:
			mes " - I extend my arm as a fierce sound resonates in my ear and a cool wave surrounds me - ";
			close2;
			warp "spl_in02",79,102;
			end;
		case 2:
			mes " - You ignore the distortion. - ";
			close;
		}
	}
	if (BaseLevel > 94 && (strnpcinfo(NPC_NAME) == "#distorted_space_2" || BaseJob == Job_Wizard)) {
		mes " - There is a strange distortion here - ";
		next;
		switch(select("Search the area.", "Ignore it.")) {
		case 1:
			mes " - There appears to be nothing here. But I can definitely feel something around here... - ";
			next;
			switch(select("Extend arm.", "Leave it alone.")) {
			case 1:
				mes " - I extend my arm as a fierce sound resonates in my ear and a cool wave surrounds me - ";
				close2;
				warp "spl_in02",79,102;
				end;
			case 2:
				mes " - You decide to leave it alone. - ";
				close;
			}
		case 2:
			mes " - You ignore it. - ";
			close;
		}
	}
	end;
}
//morocc,103,144,0	duplicate(#distorted_space_)	#distorted_space_1	HIDDEN_WARP_NPC,1,1
morocc,95,132,0	duplicate(#distorted_space_)	#distorted_space_1	HIDDEN_WARP_NPC,1,1
splendide,141,284,0	duplicate(#distorted_space_)	#distorted_space_2	HIDDEN_WARP_NPC,1,1

function	script	F_Warlock	{
	mes "[Assistant]";
	mes "Huh!!! Human!?!";
	mes "How did you enter here?";
	mes "This is only connected with a special gate!";
	next;
	mes "[Assistant]";
	mes "I don't know how...";
	mes "But we should leave before my master spots you...!";
	next;
	mes "[???]";
	mes "What's that noise out there?";
	mes "I warned them to be quiet while I'm meditating.";
	next;
	mes "[Assistant]";
	mes "Huh!?!";
	mes "Master...";
	mes "It's nothing...";
	next;
	mes "[Master]";
	mes "Oh~ there's a human being in front of me.";
	next;
	mes "[Assistant]";
	mes "Oh this thing?";
	mes "I was just leading it out.";
	next;
	mes "[Master]";
	mes "Yoop!!!";
	next;
	mes "[Yoop]";
	mes "Yeap...!!";
	next;
	mes "[Master]";
	mes "There's the warp portal beyond you... Is it an illusion?";
	next;
	mes "[Yoop]";
	mes "Sorry!!!";
	mes "It's my mistake...";
	next;
	mes "[Master]";
	mes "Fool...";
	mes "I'll deal with you after you send the human away.";
	next;
	mes "[Master]";
	mes "MushSartas Ir Cyamar";
	mes "UdenLo";
	if (BaseJob == Job_Wizard) {
		next;
		mes " - The fairy with the green hair chants a spell. - ";
		mes " - I feel like something special surrounds me. - ";
		specialeffect(EF_DISPELL, AREA, playerattached());
		next;
		mes "[Master]";
		mes "Oh, that's interesting.";
		mes "How dare you resist me human?";
		next;
		if (BaseLevel > 98 && JobLevel > 49) {
			select("I'm not sure. Who are you?");
			mes "[Master]";
			mes "I am the leader of the ^000077Warlock^000000s.";
			mes "'^000077Sila Egnoloria^000000'";
			mes "If you are a Wizard, it would be good of you to memorize my name.";
			next;
			select("What is a ^000077Warlock^000000?");
			mes "[Master Egnoloria]";
			mes "Oh...are you interested?";
			next;
			mes "[Master Egnoloria]";
			mes "A ^000077Warlock^000000 is someone who uses the magic of the giants of Jotunheim.";
			mes "It can't be defined in any other words.";
			next;
			mes "[Master Egnoloria]";
			mes "Only the strong magic can explain it.";
			next;
			select("Could I become Warlock?");
			mes "[Master Egnoloria]";
			mes "You?";
			mes "You want to become a Warlock?";
			mes "Hahaha";
			next;
			mes "[Master Egnoloria]";
			mes "You're so interesting.";
			mes "It would be difficult for a human to become a Warlock.";
			mes "The strong power would gnaw at your weak body.";
			next;
			mes "[Master Egnoloria]";
			mes "If you dare to face death, you can try to become one.";
			next;
			switch(select("What do I need to do?", "Cancel.")) {
			case 1:
				mes "[Master Egnoloria]";
				mes "Are you serious?";
				mes "You hunger for power don't you human.";
				next;
				mes "[Master Egnoloria]";
				mes "The strong desire to be more powerful makes your soul more beautiful.";
				next;
				mes "[Master Egnoloria]";
				mes "But, I need to check that you're qualified.";
				next;
				mes "[Master Egnoloria]";
				mes "Yoop!";
				next;
				mes "[Yoop]";
				mes "Yeap!!";
				next;
				mes "[Master Egnoloria]";
				mes "Give this to the human.";
				next;
				mes "[Master Egnoloria]";
				mes "Talk to the guy with the weird hair.";
				mes "He'll let you know what you should do.";
				job_wl = 2;
				setquest 11106;
				close;
			case 2:
				mes "[Master Egnoloria]";
				mes "Good.";
				mes "You are a human being so that's for you.";
				job_wl = 1;
				close2;
				warp "splendide",200,100;
				end;
			}
		}
		mes "[Master]";
		mes "You're still quite far too low of a level to even consider this.";
	}
	close2;
	warp "splendide",200,100;
	end;
}

spl_in02,77,107,5	script	Assistant#Warlock1	4_M_FAIRYKID5,{
	if (job_wl == 0) {
		callfunc "F_Warlock";
		end;
	} else if (job_wl == 1) {
		mes "[Yoop]";
		mes "You're... we've met before.";
		mes "Can you imagine how severely I was scolded by my master?!";
		mes "If you have any business with me, just go away!";
		next;
		switch(select("Leave.", "Stay.")) {
		case 1:
			mes "[Yoop]";
			mes "Leave me alone...!";
			close2;
			warp "splendide",200,100;
			end;
		case 2:
			mes "[Yoop]";
			mes "What?!";
			mes "Just do whatever you want...";
			mes "My master will deal with you then.";
			close;
		}
	} else if (job_wl == 2 || job_wl == 3) {
		mes "[Yoop]";
		if (job_wl == 2) {
			mes "Dear, master! My pony-tail is funny looking?!";
			mes "Oh, but I spent a lot time on it!";
			next;
			mes "[Master Egnoloria]";
			mes "It's noisy.";
			mes "I need to meditate";
			mes "so do as I said.";
			next;
			mes "[Yoop]";
			mes "Huh..";
			mes "Oh, yeah!";
			next;
			mes "[Yoop]";
			mes "Hey, human!";
			mes "Would you like to";
			mes "become a Warlock?";
			next;
		}
		if (SkillPoint != 0) {
			mes "First, use all of your remaining job skill points before continuing.";
			job_wl = 3;
			close;
		}
		mes "This is the Master's";
		mes "decision so let me know.";
		next;
		mes "[Yoop]";
		mes "We need to test if your body can withstand being a Warlock.";
		mes "So you need to gather materials to prove yourself.";
		next;
		mes "[Yoop]";
		mes "Please gather ^000077Glittering Crystal^000000s and ^000077Giant Bradium Fragment^000000s.";
		next;
		callsub L_Quest,1;
		close;
	} else if (job_wl == 4) {
		if (countitem(Glittering_Crystal) == 0 || countitem(Peice_Of_Great_Bradium) == 0)
			callsub L_Quest,0;
		else {
			mes "[Yoop]";
			mes "I can't conduct the task here. I need to go to my lab.";
			mes "My lab is located on the north western part of Splendide.";
		}
		close;
	} else if (job_wl == 5) {
		mes "[Yoop]";
		mes "This stone is well made.";
		mes "Please go to my Master.";
		close;
	} else {
		mes "[Yoop]";
		mes "A Magic Chamber is created from magic materials.";
		next;
		mes "[Yoop]";
		mes "This combined stone is formed differently according to the raw materials and the way of treating it.";
		next;
		mes "[Yoop]";
		mes "But most of stones are quite similar!";
		mes "We can't differentiate them easily.";
		next;
		mes "[Yoop]";
		mes "Even I don't know how it all works.";
		close;
	}

L_Quest:
	mes "[Yoop]";
	mes "You must be wearing these Magical Stone Rings to get these items while hunting.";
	mes "You need to hunt Naga and Bradium Golems while wearing these rings.";
	next;
	if (getarg(0)) {
		mes "[Yoop]";
		mes "Show us how strong you are. And don't forget to wear this.";
		job_wl = 4;
		getitem Magical_Stone,1;
		getitem Magical_Stone_,1;
		changequest 11106,11107;
		next;
	}
	mes "[Yoop]";
	mes "Bring these stones with you or else you won't be able to return!";
	mes "Be careful!";
	next;
	mes "[Yoop]";
	mes "The person next to my Master will let you out if you talk to him.";
	next;
	mes "[Yoop]";
	mes "My lab is located on the north western part of Splendide. Bring these to me when you've gathered them.";
	return;
}

spl_in02,60,231,5	script	Yoop#Warlock	4_M_FAIRYKID5,{
	mes "[Yoop]";
	if (job_wl < 4) {
		mes "Who are you?";
		mes "Get out of here!";
		close;
	} else if (job_wl == 4) {
		mes "You're back?";
		next;
		switch(select("I brought the materials.", "I've lost the Magical Stones.", "Nothing.")) {
		case 1:
			mes "[Yoop]";
			if (countitem(Glittering_Crystal) == 0 || countitem(Peice_Of_Great_Bradium) == 0) {
				mes "......";
				mes "......Where?";
				mes "Don't bother me!";
				next;
				mes "[Yoop]";
				mes "We need to test if your body can withstand being a Warlock.";
				mes "So you need to gather materials to prove yourself.";
				next;
				mes "[Yoop]";
				mes "Please gather ^000077Glittering Crystal^000000s and ^000077Giant Bradium Fragment^000000s.";
				next;
				mes "[Yoop]";
				mes "You must be wearing these Magical Stone Rings to get these items while hunting.";
				mes "You need to hunt Naga and Bradium Golems while wearing these rings.";
				next;
				mes "[Yoop]";
				mes "Bring these stones with you or else you won't be able to return!";
				mes "Be careful!";
				close;
			} else if (countitem(Glittering_Crystal) && countitem(Peice_Of_Great_Bradium)) {
				if (isequipped(2796) || isequipped(2797)) {
					mes "Bring me back the magical stones.";
					close;
				}
				if (countitem(Magical_Stone) == 0 || countitem(Magical_Stone_) == 0) {
					mes "It seems that you don't have it?";
					mes "You lost it?";
					next;
					mes "[Yoop]";
					mes "Please find that stone and come back to me.";
					close;
				}
				mes "Alright! All the materials are ready!";
				mes "While I am concentrating on working on this stone. Can you go back to my master?";
				mes "I will follow up once it's done.";
				delitem Magical_Stone,countitem(Magical_Stone);
				delitem Magical_Stone_,countitem(Magical_Stone_);
				delitem Glittering_Crystal,countitem(Glittering_Crystal);
				delitem Peice_Of_Great_Bradium,countitem(Peice_Of_Great_Bradium);
				job_wl = 5;
				changequest 11107,11108;
				close;
			}
		case 2:
			mes "[Yoop]";
			mes "What?!";
			mes "I asked you to double check it and make sure you wore it!";
			next;
			mes "[Yoop]";
			mes "Please check whether you misplaced it or if you already have it equipped.";
			next;
			switch(select("I found it.", "Nah.")) {
			case 1:
				mes "[Yoop]";
				mes "Don't tease me!";
				mes "It's not hard to tell if you have it or not!";
				close;
			case 2:
				if ((isequipped(2796) == 0 && countitem(Magical_Stone) == 0) || (isequipped(2797) == 0 && countitem(Magical_Stone_) == 0)) {
					if (countitem(Crystal_Jewel__) > 0) {
						switch(select("Give 3 carat diamond.", "Just quit it.")) {
						case 1:
							mes "[Yoop]";
							mes "I will overlook your fault.";
							mes "Please be careful with it.";
							delitem Crystal_Jewel__,1;
							if (isequipped(2796) == 0 && countitem(Magical_Stone) == 0)
								getitem Magical_Stone,1;
							if (isequipped(2797) == 0 && countitem(Magical_Stone_) == 0)
								getitem Magical_Stone_,1;
							close;
						case 2:
							mes "[Yoop]";
							mes "Just show me your good faith!";
							close;
						}
					}
					mes "[Yoop]";
					mes "How can you can say that?";
					mes "^000077Just apologize^000000!";
					mes "I guess I could give you more stones if you give me say a 3 carat diamond...";
					close;
				}
				mes "[Yoop]";
				if (isequipped(2796) || isequipped(2797)) {
					mes "Please check your equipment window...";
					mes "You sure you don't have it?";
					close;
				}
				mes "Then what's that you are holding now...?";
				close;
			}
		case 3:
			mes "[Yoop]";
			mes "What...?";
			mes "Don't bother me, I am quite busy.";
			close;
		}
	} else {
		mes "I am focusing on meditating.";
		mes "So I can create magic.";
		next;
		mes "[Yoop]";
		mes "And... you seem to have more talent on this than regular mages.";
		mes "Maybe if I become an alchemist, I might be better than I am now don't you think?";
		next;
		mes "[Yoop]";
		mes "I'm studying to better myself.";
		next;
		mes "[Yoop]";
		mes "If am inside of 'the room of time and magic', I will catch up with your power!";
		mes "Hahahaha...";
		close;
	}
}

spl_in02,84,103,3	script	Assistant#Warlock2	4_F_FAIRYKID4,{
	if (job_wl == 0) {
		callfunc "F_Warlock";
		end;
	} else if (job_wl == 1) {
		mes "[Assistant]";
		mes "Human! What do you want?";
		close;
	} else if (job_wl < 6) {
		mes "[Assistant]";
		mes "It's not me you are looking for currently.";
		close;
	} else if (job_wl == 6) {
		if (checkweight(Knife,1) == 0 || MaxWeight - Weight < 3500) {
			mes "You're carring out too many items.";
			mes "You'd better minimize your weight.";
			close;
		}
		mes "[Yoop]";
		mes "The test isn't that hard.";
		mes "We can create the magic stone in the magic room.";
		next;
		mes "[Yoop]";
		mes "Be careful of the monsters in the test room.";
		mes "These are rainbow Rubies sealed with a Warlock's magic.";
		mes "Use these during the test.";
		next;
		mes "[Yoop]";
		mes "I will guide you into the magic room.";
		job_wl = 7;
		changequest 11109,11110;
		getitem Rainbow_Ruby_Water,5;
		getitem Rainbow_Ruby_Wind,5;
		getitem Rainbow_Ruby_Earth,5;
		getitem Rainbow_Ruby_Fire,5;
		close2;
		warp "job3_war01",23,20;
		end;
	} else if (job_wl == 7) {
		if (checkweight(Knife,1) == 0 || MaxWeight - Weight < 3500) {
			mes "You're carring out too many items.";
			mes "You'd better minimize your weight.";
			close;
		}
		mes "[Yoop]";
		mes "Would you like to try it again?";
		mes "Let me give you more rubies.";
		next;
		if (countitem(Rainbow_Ruby_Water)) delitem Rainbow_Ruby_Water,countitem(Rainbow_Ruby_Water);
		if (countitem(Rainbow_Ruby_Wind)) delitem Rainbow_Ruby_Wind,countitem(Rainbow_Ruby_Wind);
		if (countitem(Rainbow_Ruby_Earth)) delitem Rainbow_Ruby_Earth,countitem(Rainbow_Ruby_Earth);
		if (countitem(Rainbow_Ruby_Fire)) delitem Rainbow_Ruby_Fire,countitem(Rainbow_Ruby_Fire);
		getitem Rainbow_Ruby_Water,5;
		getitem Rainbow_Ruby_Wind,5;
		getitem Rainbow_Ruby_Earth,5;
		getitem Rainbow_Ruby_Fire,5;
		close2;
		warp "job3_war01",23,20;
		end;
	} else if (job_wl == 8) {
		mes "[Yoop]";
		mes "You have successfully crystallized the Hollow Stone.";
		mes "I'm sorry that I've doubted you.";
		if (countitem(Rainbow_Ruby_Water)) delitem Rainbow_Ruby_Water,countitem(Rainbow_Ruby_Water);
		if (countitem(Rainbow_Ruby_Wind)) delitem Rainbow_Ruby_Wind,countitem(Rainbow_Ruby_Wind);
		if (countitem(Rainbow_Ruby_Earth)) delitem Rainbow_Ruby_Earth,countitem(Rainbow_Ruby_Earth);
		if (countitem(Rainbow_Ruby_Fire)) delitem Rainbow_Ruby_Fire,countitem(Rainbow_Ruby_Fire);
		next;
		mes "[Yoop]";
		mes "All of the tests are done. Now talk to Master Engoloria.";
		mes "I'm so happy that you have succeeded.";
		job_wl = 9;
		changequest 11111,11112;
		close;
	} else if (job_wl == 9) {
		mes "[Yoop]";
		mes "All of the tests are done. Now talk to Master Engoloria.";
		mes "I'm so happy that you have succeeded.";
		close;
	} else {
		mes "[Yoop]";
		mes "I can feel that you have strong magic.";
		mes "I envy you.";
		next;
		mes "[Yoop]";
		mes "It deserves something special.";
		mes "Don't abuse it.";
		close;
	}
}

spl_in02,78,110,5	script	Assistant#Warlock3	4_F_FAIRYKID2,{
	if (job_wl == 0) {
		callfunc "F_Warlock";
		end;
	}
	mes "[Assistant]";
	mes "......";
	switch(job_wl) {
		case 1: mes "If you don't have anything to say to me, would you just leave?"; break;
		case 2: mes "I don't have a pony-tail..."; break;
		default: mes "Please be quiet while my master is meditating."; break;
	}
	next;
	switch(select("Leave", "Stay")) {
	case 1:
		mes "[Assistant]";
		mes "Then be careful.";
		close2;
		warp "splendide",200,100;
		end;
	case 2:
		mes "[Assistant]";
		mes "......";
		close;
	}
}

spl_in02,80,108,5	script	Guild Master#Warlock	4_F_FAIRY1,{
	if (job_wl == 0) {
		callfunc "F_Warlock";
		end;
	} else if (job_wl == 1) {
		mes "[Master Egnoloria]";
		mes "Do you have something to ask me?";
		next;
		switch(select("How can I be a Warlock?", "Cancel.")) {
		case 1:
			mes "[Master Egnoloria]";
			mes "Are you serious?";
			mes "You hunger for power don't you human.";
			next;
			mes "[Master Egnoloria]";
			mes "The strong desire to be more powerful makes your soul more beautiful.";
			next;
			mes "[Master Egnoloria]";
			mes "But, I need to check that you're qualified.";
			next;
			mes "[Master Egnoloria]";
			mes "Yoop!";
			next;
			mes "[Yoop]";
			mes "Yeap!!";
			next;
			mes "[Master Egnoloria]";
			mes "Give this to the human.";
			next;
			mes "[Master Egnoloria]";
			mes "Talk to the guy with the weird hair.";
			mes "He'll let you know what you should do.";
			job_wl = 2;
			setquest 11106;
			close;
		case 2:
			mes "[Master Egnoloria]";
			mes "Good.";
			mes "You are a human being so that's for you.";
			close2;
			warp "splendide",200,100;
			end;
		}
	} else if (job_wl == 2) {
		mes "[Master Egnoloria]";
		mes "I'm meditating, I said talk to Yoop ok.";
		mes "Yoop has a funny pony-tail.";
		mes "And don't disturb me.";
		close;
	} else if (job_wl == 3 || job_wl == 4) {
		mes "[Master Egnoloria]";
		mes "......";
		next;
		mes "[Assistant]";
		mes "Master is meditating.";
		mes "Be quiet.";
		close;
	} else if (job_wl == 5) {
		mes "[Master Egnoloria]";
		mes "I've heard from Yoop that a very useful stone can be created.";
		next;
		mes "[Master Egnoloria]";
		mes "It can be used to make magical jewelry that can cast powerful magic.";
		next;
		mes "[Master Egnoloria]";
		mes "Yoop.";
		next;
		mes "[Yoop]";
		mes "Yeap, Master!";
		next;
		mes "[Master Egnoloria]";
		mes "Please take him to the magical room.";
		next;
		mes "[Yoop]";
		mes "Yup, Master.";
		mes "Please follow me.";
		emotion e_ic,0,"Assistant#Warlock2";
		job_wl = 6;
		changequest 11108,11109;
		close;
	} else if (job_wl < 9) {
		mes "[Master Egnoloria]";
		mes "......";
		next;
		mes "[Yoop]";
		mes "My master is meditating now, please follow me.";
		close;
	} else if (job_wl == 9) {
		if (BaseLevel < 99 || BaseJob != Job_Wizard) {
			mes "[Master Egnoloria]";
			mes "Hm...?";
			mes "How did you come this far...";
			close;
		}
		if (checkweight(Knife,1) == 0 || MaxWeight - Weight < 3500) {
			mes "You've got too many items.";
			mes "Please come back after reducing the number of items you have.";
			close;
		}
		mes "[Master Egnoloria]";
		if (SkillPoint != 0) {
			mes "Unless you like your current job, you should use all your skill points.";
			close;
		}
		if (hascashmount()) {
			mes "You are on a riding pet,";
			mes "so you cannot change your job.";
			mes "Please unequip your riding pet and try again!";
			close;
		}
		mes "Beautiful light...";
		mes "Don't make me disappointed at you...";
		next;
		mes "[Master Egnoloria]";
		mes "You have become a member of the Warlocks.";
		mes "Be proud.";
		next;
		if (SkillPoint != 0) {
			mes "^0000ffYou still have left the skill points, Please use all the skill points and try to start again!^000000";
			close;
		}
		mes "[Master Egnoloria]";
		mes "This crystallized magical stone will keep you safe.";
		if (Class == Job_High_Wizard) {
			if (JobLevel > 69) job_wl = 13;
			else if (JobLevel > 59) job_wl = 12;
			else job_wl = 11;
		}
		else job_wl = 10;
		jobchange roclass(eaclass()|EAJL_THIRD);
		completequest 11112;
		getitem Magic_Stone_Hat,1;
		getitem Green_Apple_Ring,1;
		close;
	} else if (job_wl > 9) {
		mes "[Master Egnoloria]";
		mes "How are you adjusting to the power of a Warlocks?";
		mes "If you get careless, you will be overthrown by your own power.";
		close;
	}
}

job3_war01,22,22,7	script	Yoop#WRR	4_F_FAIRYKID4,{
	mes "[Yoop]";
	mes "If you ask Ebein to be sent to the magical room, he would send you there.";
	mes "Wait in the queue to enter the Chamber of Magic.";
	close;
}

job3_war01,29,25,0	script	Ebein#WRR	4_F_FAIRYKID2,{
	mes "[Ebein]";
	mes "Would you like to take a test?";
	mes "If you stand by in the waiting room, you'll be able to go into the Chamber of Magic.";
	next;
	mes "[Ebein]";
	mes "If there're others inside the room, you just need to wait for a while.";
	next;
	switch(select("Go to the waiting room.", "Go outside.")) {
	case 1:
		mes "[Ebein]";
		mes "Then please enter the room yourself.";
		mes "Make sure you have enough potions to survive the test as the monsters are very powerful in the Chamber.";
		close;
	case 2:
		mes "[Ebein]";
		mes "......";
		mes "Then I will send you outside.";
		mes "Bye...";
		close2;
		warp "spl_in02",79,102;
		end;
	}
}

job3_war01,29,25,5	script	The chamber of magic#1	4_F_FAIRYKID2,{
	end;
OnInit:
	disablenpc "The chamber of magic#1";
	waitingroom "The chamber of magic",20,"The chamber of magic#1::OnStartArena",1;
	enablewaitingroomevent;
	end;
OnStartArena:
	warpwaitingpc "job3_war02",29,25;
	donpcevent "The chamber of magic#2::OnEnable";
	initnpctimer;
	disablewaitingroomevent;
	end;
OnTimer10000:
	if (getmapusers("job3_war02") == 0) {
		donpcevent "The chamber of magic#2::OnReset";
		donpcevent "The chamber of magic#2::OnDisable";
		stopnpctimer "The chamber of magic#2";
		donpcevent "The chamber of magic#3::OnReset";
		donpcevent "The chamber of magic#3::OnDisable";
		stopnpctimer "The chamber of magic#3";
		donpcevent "The chamber of magic#4::OnReset";
		donpcevent "The chamber of magic#4::OnDisable";
		stopnpctimer "The chamber of magic#4";
		donpcevent "Hollow Stone#Warlock::OnReset";
		donpcevent "Hollow Stone#Warlock::OnDisable";
		stopnpctimer "Hollow Stone#Warlock";
		stopnpctimer;
		enablewaitingroomevent;
		end;
	}
	initnpctimer;
	end;
OnEnable:
	enablewaitingroomevent;
	end;
OnDisable:
	disablewaitingroomevent;
	end;
}

-	script	The chamber of magic#2	FAKE_NPC,{
OnInit:
	disablenpc strnpcinfo(NPC_NAME);
	end;
OnEnable:
	enablenpc strnpcinfo(NPC_NAME);
	monster "job3_war02",23,32,"Magic Monster",2047,1,strnpcinfo(NPC_NAME)+"::OnMyMobDead";
	monster "job3_war02",23,21,"Magic Monster",2048,1,strnpcinfo(NPC_NAME)+"::OnMyMobDead";
	monster "job3_war02",34,32,"Magic Monster",2049,1,strnpcinfo(NPC_NAME)+"::OnMyMobDead";
	monster "job3_war02",34,21,"Magic Monster",2050,1,strnpcinfo(NPC_NAME)+"::OnMyMobDead";
	monster "job3_war02",23,32,"Magic Monster",2047,1,strnpcinfo(NPC_NAME)+"::OnMyMobDead";
	monster "job3_war02",23,21,"Magic Monster",2048,1,strnpcinfo(NPC_NAME)+"::OnMyMobDead";
	monster "job3_war02",34,32,"Magic Monster",2049,1,strnpcinfo(NPC_NAME)+"::OnMyMobDead";
	monster "job3_war02",34,21,"Magic Monster",2050,1,strnpcinfo(NPC_NAME)+"::OnMyMobDead";
	initnpctimer;
	end;
OnReset:
	killmonster "job3_war02",strnpcinfo(NPC_NAME)+"::OnMyMobDead";
	end;
OnDisable:
	disablenpc strnpcinfo(NPC_NAME);
	end;
OnMyMobDead:
	if (mobcount("job3_war02",strnpcinfo(NPC_NAME)+"::OnMyMobDead") < 1) {
		stopnpctimer;
		mapannounce "job3_war02","The Monster Invasion has been stopped.",bc_map;
		.@str$ = "The chamber of magic#"+((strnpcinfo(NPC_NAME) == "The chamber of magic#2")?"3":"4");
		donpcevent .@str$+"::OnEnable";
	}
	end;
OnTimer3000:
	if (strnpcinfo(NPC_NAME) != "The chamber of magic#2") end;
	mapannounce "job3_war02","A Magical Power fragment has been created in the Magic Chamber Room.",bc_map;
	end;
OnTimer4000:
	mapannounce "job3_war02","Defend this room from monsters for 5 minutes.",bc_map;
	end;
OnTimer5000:
	mapannounce "job3_war02","Destroy all the monsters, and the Chamber will stabilize.",bc_map;
	end;
OnTimer63000:
	mapannounce "job3_war02","There's 4 min left to stabilize the chamber...",bc_map;
	end;
OnTimer123000:
	mapannounce "job3_war02","There's 3 min left to stabilize the chamber...",bc_map;
	end;
OnTimer183000:
	mapannounce "job3_war02","There's 2 min left to stabilize the chamber...",bc_map;
	end;
OnTimer243000:
	mapannounce "job3_war02","There's 1 min left to stabilize the chamber...",bc_map;
	end;
OnTimer273000:
	mapannounce "job3_war02","There's 30 seconds left to stabilize the chamber...",bc_map;
	end;
OnTimer283000:
	mapannounce "job3_war02","There's 20 seconds left to stabilize the chamber...",bc_map;
	end;
OnTimer293000:
	mapannounce "job3_war02","There's 10 seconds left to stabilize the chamber...",bc_map;
	end;
OnTimer303000:
	mapannounce "job3_war02","The magic stabilization has failed.",bc_map;
	donpcevent "The chamber of magic#2::OnReset";
	donpcevent "The chamber of magic#3::OnReset";
	donpcevent "The chamber of magic#4::OnReset";
	end;
OnTimer304000:
	mapwarp "job3_war02","spl_in02",79,102;
	end;
OnTimer305000:
	donpcevent "The chamber of magic#2::OnDisable";
	donpcevent "The chamber of magic#3::OnDisable";
	donpcevent "The chamber of magic#4::OnDisable";
	donpcevent "The chamber of magic#1::OnEnable";
	stopnpctimer;
	end;
}
-	duplicate(The chamber of magic#2)	The chamber of magic#3	FAKE_NPC

-	script	The chamber of magic#4	FAKE_NPC,{
OnInit:
	disablenpc "The chamber of magic#4";
	end;
OnEnable:
	enablenpc "The chamber of magic#4";
	monster "job3_war02",23,32,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead";
	monster "job3_war02",23,21,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead";
	monster "job3_war02",34,32,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead";
	monster "job3_war02",34,21,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead";
	monster "job3_war02",23,32,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead";
	monster "job3_war02",23,21,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead";
	monster "job3_war02",34,32,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead";
	monster "job3_war02",34,21,"Magic Monster",1002,1,"The chamber of magic#4::OnMyMobDead";
	initnpctimer;
	end;
OnReset:
	killmonster "job3_war02","The chamber of magic#4::OnMyMobDead";
	end;
OnDisable:
	disablenpc "The chamber of magic#4";
	end;
OnMyMobDead:
	if (mobcount("job3_war02","The chamber of magic#4::OnMyMobDead") < 1) {
		mapannounce "job3_war02","Once it's stabilized, the fragments are toward the center.",bc_map;
		stopnpctimer;
		donpcevent "Hollow Stone#Warlock::OnEnable";
	}
	end;
OnTimer4000:
	mapannounce "job3_war02","Defend this room from monsters for 1 min.",bc_map;
	end;
OnTimer5000:
	mapannounce "job3_war02","Destroy all the monsters, and the Chamber will stabilize.",bc_map;
	end;
OnTimer33000:
	mapannounce "job3_war02","There's 30 seconds left to stabilize the chamber....",bc_map;
	end;
OnTimer43000:
	mapannounce "job3_war02","There's 20 seconds left to stabilize the chamber....",bc_map;
	end;
OnTimer53000:
	mapannounce "job3_war02","There's 10 seconds left to stabilize the chamber....",bc_map;
	end;
OnTimer58000:
	mapannounce "job3_war02","There's 5 seconds left to stabilize the chamber....",bc_map;
	end;
OnTimer63000:
	mapannounce "job3_war02","The magic stabilization has failed. The fragment has lost its power.",bc_map;
	donpcevent "The chamber of magic#2::OnReset";
	donpcevent "The chamber of magic#3::OnReset";
	donpcevent "The chamber of magic#4::OnReset";
	end;
OnTimer64000:
	mapwarp "job3_war02","spl_in02",79,102;
	end;
OnTimer65000:
	donpcevent "The chamber of magic#2::OnDisable";
	donpcevent "The chamber of magic#3::OnDisable";
	donpcevent "The chamber of magic#4::OnDisable";
	donpcevent "The chamber of magic#1::OnEnable";
	stopnpctimer;
	end;
}

-	script	Hollow Stone#Warlock	FAKE_NPC,{
OnInit:
	disablenpc "Hollow Stone#Warlock";
	end;
OnEnable:
	enablenpc "Hollow Stone#Warlock";
	donpcevent "The chamber of magic#2::OnReset";
	donpcevent "The chamber of magic#2::OnDisable";
	donpcevent "The chamber of magic#3::OnReset";
	donpcevent "The chamber of magic#3::OnDisable";
	donpcevent "The chamber of magic#4::OnReset";
	donpcevent "The chamber of magic#4::OnDisable";
	monster "job3_war02",29,27,"Hollow Stone",2035,1,"Hollow Stone#Warlock::OnMyMobDead";
	initnpctimer;
	end;
OnReset:
	killmonster "job3_war02","Hollow Stone#Warlock::OnMyMobDead";
	end;
OnDisable:
	disablenpc "Hollow Stone#Warlock";
	end;
OnMyMobDead:
	if (mobcount("job3_war02","Hollow Stone#Warlock::OnMyMobDead") < 1) {
		mapannounce "job3_war02","The Hollow Stone is crystallized with enough magic power.",bc_map;
		job_wl = 8;
		changequest 11110,11111;
		donpcevent "Hollow Stone#Warlock::OnReset";
		donpcevent "Hollow Stone#Warlock::OnDisable";
		stopnpctimer;
		donpcevent "Ebein#E1::OnEnable";
		donpcevent "Ebein#E2::OnEnable";
	}
	end;
OnTimer1000:
	mapannounce "job3_war02","The Hollow Stone needs to be crystallized with magic.",bc_map;
	end;
OnTimer2000:
	mapannounce "job3_war02","The Hollow Stone will absorb any magic thrown at it.",bc_map;
	end;
OnTimer3000:
	mapannounce "job3_war02","You have 10 minutes to crystallize the Hollow Stone with your magic.",bc_map;
	end;
OnTimer303000:
	mapannounce "job3_war02","There's 5 min left to crystallize the stone....",bc_map;
	end;
OnTimer363000:
	mapannounce "job3_war02","There's 4 min left to crystallize the stone....",bc_map;
	end;
OnTimer423000:
	mapannounce "job3_war02","There's 3 min left to crystallize the stone....",bc_map;
	end;
OnTimer483000:
	mapannounce "job3_war02","There's 2 min left to crystallize the stone....",bc_map;
	end;
OnTimer543000:
	mapannounce "job3_war02","There's 1 min left to crystallize the stone....",bc_map;
	end;
OnTimer573000:
	mapannounce "job3_war02","There's 30 seconds left to crystallize the stone....",bc_map;
	end;
OnTimer583000:
	mapannounce "job3_war02","There's 20 seconds left to crystallize the stone....",bc_map;
	end;
OnTimer593000:
	mapannounce "job3_war02","There's 10 seconds left to crystallize the stone....",bc_map;
	end;
OnTimer603000:
	mapannounce "job3_war02","The Hollow Stone Crystalization has failed.",bc_map;
	donpcevent "Hollow Stone#Warlock::OnReset";
	end;
OnTimer605000:
	mapwarp "job3_war02","spl_in02",79,102;
	end;
OnTimer607000:
	donpcevent "Hollow Stone#Warlock::OnDisable";
	stopnpctimer;
	donpcevent "The chamber of magic#1::OnEnable";
	end;
}

-	script	Ebein#E1	FAKE_NPC,{
OnInit:
	disablenpc "Ebein#E1";
	end;
OnEnable:
	initnpctimer;
	end;
OnDisable:
	disablenpc "Ebein#E1";
	end;
OnTimer2000:
	mapannounce "job3_war01","Congratulations! You've succeeded in creating a magic crystal.",bc_map;
	end;
OnTimer3000:
	mapannounce "job3_war01","The Magic Chamber is starting to fill with magic power.",bc_map;
	end;
OnTimer6000:
	donpcevent "Ebein#E1::OnDisable";
	stopnpctimer;
	donpcevent "The chamber of magic#1::OnEnable";
	end;
}

-	script	Ebein#E2	FAKE_NPC,{
OnInit:
	disablenpc "Ebein#E2";
	end;
OnEnable:
	initnpctimer;
	end;
OnDisable:
	disablenpc "Ebein#E2";
	end;
OnTimer3000:
	mapannounce "job3_war02","Congratulations! You've succeeded in creating a magic crystal.",bc_map;
	end;
OnTimer5000:
	mapannounce "job3_war02","The Magic Chamber is starting to fill with magic power.",bc_map;
	mapwarp "job3_war02","spl_in02",79,102;
	end;
OnTimer6000:
	donpcevent "Ebein#E2::OnDisable";
	stopnpctimer;
	end;
}

job3_war01,1,2,0	script	Button Girl#wl	1_F_01,{
	callfunc "F_GM_NPC";
	switch(select("Open Arena", "Close Arena", "Open the Chamber of Magic", "Close the Chamber of Magic", "Hollow Stone On", "Hollow Stone Off", "Cancel")) {
	case 1:
		mes "Opening the Arena.";
		donpcevent "The chamber of magic#1::OnEnable";
		close;
	case 2:
		mes "Closing the Arena.";
		donpcevent "The chamber of magic#1::OnDisable";
		close;
	case 3:
		mes "Opening the Chamber of Magic.";
		donpcevent "The chamber of magic#2::OnEnable";
		close;
	case 4:
		mes "Closing the Chamber of Magic.";
		donpcevent "The chamber of magic#2::OnReset";
		donpcevent "The chamber of magic#2::OnDisable";
		donpcevent "The chamber of magic#3::OnReset";
		donpcevent "The chamber of magic#3::OnDisable";
		donpcevent "The chamber of magic#4::OnReset";
		donpcevent "The chamber of magic#4::OnDisable";
		close;
	case 5:
		mes "Enabing Hollow Stone.";
		donpcevent "Hollow Stone#Warlock::OnEnable";
		close;
	case 6:
		mes "Disabling Hollow Stone.";
		donpcevent "Hollow Stone#Warlock::OnReset";
		donpcevent "Hollow Stone#Warlock::OnDisable";
		close;
	case 7:
		close;
	}
}

spl_fild02,0,0,0,0	monster	Bradium Golem	2049,20,5000,0,0
spl_fild02,0,0,0,0	monster	Naga	2047,20,5000,0,0
