//================= 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)  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/>.
//=========================================================================
//= Thanatos Tower Quest
//================= Description ===========================================
//= Episode 13.1 Thanatos Tower quest.
//================= Current Version =======================================
//= 1.1
//=========================================================================

hu_fild01,140,163,5	script	Tower Keeper	4_M_EIN_SOLDIER,3,3,{
	mes "[Gatei]";
	mes "Greetings, adventurer.";
	mes "I am Gatei Knumm, keeper";
	mes "of this Thanatos Tower.";
	mes "How may I help you?";
	next;
	switch(select("Thanatos Tower?", "Entrance Fee?", "Enter the tower", "Cancel")) {
	case 1:
		mes "[Gatei]";
		mes "Yes, the tower in front";
		mes "of you was an ancient ruins";
		mes "that got its name from a word";
		mes "written on a stone plate found";
		mes "inside. Today, this place is";
		mes "a popular tourist attraction.";
		next;
		mes "[Gatei]";
		mes "This tower grew in popularity";
		mes "for adventurers when the";
		mes "Rekenber Corporation began";
		mes "tower reconstruction efforts.";
		mes "The 1st and 2nd floors are now";
		mes "repaired and free of monsters.";
		next;
		mes "[Gatei]";
		mes "However, reconstruction of";
		mes "the 3rd and higher floors is";
		mes "incomplete. Those levels are";
		mes "still infested with monsters, so we're contracting temp workers";
		mes "to exterminate all of them.";
		next;
		mes "[Gatei]";
		mes "If you're interested in";
		mes "temporary contract work,";
		mes "or would like to know about";
		mes "this place in detail, please";
		mes "ask one of the guides inside.";
		mes "Thank you and enjoy your visit~";
		close;
	case 2:
		mes "[Gatei]";
		mes "Everyone is welcome to";
		mes "enjoy Thanatos Tower.";
		mes "Only the 1st and 2nd floors";
		mes "are open to the public at";
		mes "this time. The entrance fee";
		mes "is 5,000 zeny per person.";
		next;
		mes "[Gatei]";
		mes "5,000 zeny may seem a little";
		mes "steep for a tourist attraction,";
		mes "but trust me, this tower provides a very unique experience. Also,";
		mes "our loyal customers and contract workers get a special discount~";
		close;
	case 3:
		mes "[Gatei]";
		mes "Would you like to";
		mes "enter Thanatos Tower?";
		mes "The entry fee is ^FF00005,000 zeny^000000.";
		next;
		switch(select("Enter", "Maybe next time.")) {
		case 1:
			if (thana_tower > 0) {
				mes "[Gatei]";
				mes "Oh, "+strcharinfo(PC_NAME)+"!";
				mes "Welcome back! Since you've";
				mes "got a temporary Rekenber";
				mes "work contract, your entrance";
				mes "fee is only 3,000 zeny.";
				next;
				switch(select("Enter", "No, thanks.")) {
				case 1:
					if (Zeny > 2999) {
						mes "[Gatei]";
						mes "Thank you, and";
						mes "please keep up the";
						mes "good work. Ah, and don't";
						mes "forget: safety first when";
						mes "you fight those monsters!";
						Zeny -= 3000;
						close2;
						warp "tha_scene01",131,220;
						end;
					}
					mes "[Gatei]";
					mes "Oh, I'm sorry...";
					mes "But you don't seem to";
					mes "have enough zeny. Oh well,";
					mes "just come back again later~";
					close;
				case 2:
					mes "[Gatei]";
					mes "You must be busy, then.";
					mes "Well, not to worry, we'll";
					mes "always be here. Farewell~";
					close;
				}
			}
			if (Zeny > 4999) {
				mes "[Gatei]";
				mes "Ah, I've received your";
				mes "entrance fee. Thank you";
				mes "very much. Now, I hope";
				mes "you enjoy your visit";
				mes "to Thanatos Tower~";
				close2;
				Zeny -= 5000;
				warp "tha_scene01",131,220;
				end;
			}
			mes "[Gatei]";
			mes "Well...";
			mes "Hm. I'm sorry, but you";
			mes "don't seem to have enough";
			mes "zeny for the entrance fee.";
			mes "Please come back later...";
			close;
		case 2:
			mes "[Gatei]";
			mes "Very well. Please come";
			mes "and visit us again here";
			mes "in Thanatos Tower.";
			close;
		}
	case 4:
		mes "[Gatei]";
		mes "Hmm? Very well.";
		mes "But if you wish to visit";
		mes "this Thanatos Tower, please";
		mes "do not hesitate to ask me.";
		mes "Thank you and have a nice day.";
		close;
	}

OnTouch:
	mes "[Tower Keeper]";
	mes "Excuse me, but you cannot";
	mes "enter. This place is under";
	mes "the Rekenber Corporation's";
	mes "administration, and this area";
	mes "is restricted to all those";
	mes "without authorization.";
	close;
}

tha_t01,149,78,4	script	Guide	4_F_01,{
	if (thana_tower == 0) {
		mes "[Ditze]";
		mes "Welcome to Thanatos Tower.";
		mes "The tower's reconstruction is";
		mes "a Rekenber Corporation project,";
		mes "and the 1st and 2nd floors are";
		mes "now open to the public. So";
		mes "how may I help you today?";
		next;
		switch(select("Tower Information", "Temporary Work Contract", "Cancel")) {
		case 1:
			mes "[Ditze]";
			mes "When this tower was built,";
			mes "who built it, and its purpose";
			mes "are all mysteries. There are";
			mes "many rumors about it being a";
			mes "Mage lab, a hero's momunent,";
			mes "or a demon fortress...";
			next;
			mes "[Ditze]";
			mes "The Rekenber Corporation has";
			mes "been researching the origin of";
			mes "this tower, but has not yet been able to confirm anything. Although";
			mes "we've lost many researchers to the tower monsters, we won't give up!";
			next;
			mes "[Ditze]";
			mes "Rekenber is convinced that this";
			mes "tower holds many secrets, and";
			mes "successfully reconstructed the";
			mes "first 2 floors of this tower in";
			mes "the pursuit of this knowledge.";
			next;
			mes "[Ditze]";
			mes "Currently, we are focused on";
			mes "reconstructing the tower's 3rd";
			mes "and 4th floors. Luckily, many";
			mes "adventurers are exterminating";
			mes "the monsters on those floors, working under temporary contracts.";
			next;
			mes "[Ditze]";
			mes "At this rate, we expect";
			mes "to complete reconstruction";
			mes "of the 3rd and 4th floors in";
			mes "the near future, bringing us";
			mes "closer to our goal of opening all 12 floors of Thanatos Tower.";
			next;
			switch(select("Tower Monsters?", "Temp Contract Work?", "......")) {
			case 1:
				mes "[Ditze]";
				mes "Yes, when we began";
				mes "reconstruction of the";
				mes "Thanatos Tower, these";
				mes "monsters that look like angels";
				mes "just appeared out of nowhere";
				mes "to attack all the workers.";
				next;
				mes "[Ditze]";
				mes "At first, witnesses thought";
				mes "that these monsters might";
				mes "be, you know, actual angels.";
				mes "But if they were, why were they";
				mes "attacking for no reason?";
				next;
				mes "[Ditze]";
				mes "Anyway, we asked the Juno ";
				mes "Sage Academy to investigate";
				mes "them, and they confirmed that";
				mes "these angelic creatures are true monsters--their resemblance to";
				mes "angels is merely coincidence.";
				close;
			case 2:
				mes "[Ditze]";
				mes "You may have already heard";
				mes "from the Tower Keeper, but";
				mes "we're contracting adventurers to exterminate the tower monsters";
				mes "in the 3rd and higher levels on";
				mes "a temporary employee basis.";
				next;
				mes "[Ditze]";
				mes "I'm in charge of hiring";
				mes "temp contract workers, so";
				mes "talk to me if you're interested. Only temp workers are allowed";
				mes "to access the higher levels";
				mes "here in Thanatos Tower.";
				next;
				break;
			case 3:
				mes "[Ditze]";
				mes "To develop the floors above";
				mes "the 2nd floor, we're going to";
				mes "need as many temp contract";
				mes "workers as we can hire. Why";
				mes "don't you consider working";
				mes "for us under a temp contract?";
				close;
			}
			break;
		case 2:
			mes "[Ditze]";
			mes "You may have already heard";
			mes "from the Tower Keeper, but";
			mes "we're contracting adventurers to exterminate the tower monsters";
			mes "in the 3rd and higher levels on";
			mes "a temporary employee basis.";
			next;
			mes "[Ditze]";
			mes "I'm in charge of hiring";
			mes "temp contract workers, so";
			mes "talk to me if you're interested. Only temp workers are allowed";
			mes "to access the higher levels";
			mes "here in Thanatos Tower.";
			next;
			break;
		case 3:
			mes "[Ditze]";
			mes "Well, if you have any";
			mes "questions, feel free to";
			mes "ask me later. My name is";
			mes "Ditze Lappa. Have a good day!";
			close;
		}
	} else {
		mes "[Ditze]";
		mes "For more detailed information";
		mes "about monster exterminations,";
		mes "please ask the 2nd Floor Guide";
		mes "and the Guide next to me. Well,";
		mes "we hope you enjoy your experience working with Rekenber Corporation~";
		close;
	}
	switch(select("Maybe next time", "Sure, I'd like to work for you.")) {
	case 1:
		mes "[Ditze]";
		mes "Well, alright.";
		mes "But come and talk to";
		mes "me as soon as you decide";
		mes "that you want to help with";
		mes "the tower reconstruction by";
		mes "working for Rekenber.";
		close;
	case 2:
		mes "[Ditze]";
		mes "That's great!";
		mes "Would you please fill";
		mes "out this employment";
		mes "agreement first? Let's";
		mes "see. Your name is...";
		mes strcharinfo(PC_NAME) + ", right?";
		next;
		select("Yes");
		mes "[Ditze]";
		mes "Alright, please read";
		mes "this agreement carefully.";
		mes "If you agree with all of";
		mes "the conditions, go ahead";
		mes "and just sign the bottom.";
		next;
		mes "^3355FFDitze hands you the";
		mes "Employment Agreement";
		mes "document for you to read.^000000";
		next;
		mes "- Employment Agreement -";
		mes " ";
		mes "1. This employment agreement";
		mes "is effective between Rekenber";
		mes "Corporation (''Employer'') and "+strcharinfo(PC_NAME)+"(''Employee'').";
		mes "1-1. This employment agreement";
		mes "is classified as a Mercernary";
		mes "contract between both parties.";
		mes "2. The terms of this contract";
		mes "immediately take effect once";
		mes "it is signed by both parties";
		mes "(Employer and Employee).";
		mes "3. When the Employee performs";
		mes "a mission, the mission results";
		mes "must be verified with acceptible physical proof that must be";
		mes "presented to the Employer.";
		mes "3-1. Please refer to Section";
		mes "7A for examples of acceptible";
		mes "proof of monster extermination.";
		mes "3-2. Acceptible proof is";
		mes "determined and defined by a";
		mes "representative of the Employer.";
		mes "4. Employer will allot rewards";
		mes "to Employees after receiving";
		mes "extermination proof.";
		mes "4-1. Possible rewards for";
		mes "monster exterminations may";
		mes "include the following.";
		mes ".................................................";
		mes ".................................................";
		mes ".................................................";
		mes ".................................................";
		mes ".................................................";
		mes "13. This contract's terms are";
		mes "only applicable witin Thanatos";
		mes "Tower.";
		mes "14. Employees will receive";
		mes "a discount on the Entry Fee";
		mes "to the Thanatos Tower.";
		mes " ";
		mes " ";
		mes " ";
		mes "Employer Signature____________";
		mes "Employee Signature____________";
		next;
		switch(select("Sign", "Don't Sign")) {
		case 1:
			mes "^3355FFYou sign two copies of the";
			mes "Employment Agreement.^000000";
			next;
			mes "[Ditze]";
			mes "Thank you. Now, you are";
			mes "an official employee of the";
			mes "Rekenber Corporation! Well,";
			mes "within the limits of this tower";
			mes "anyway. This contract doesn't";
			mes "apply outside of this place.";
			next;
			mes "[Ditze]";
			mes "From now on, you can talk";
			mes "to the 2nd Floor Guide to";
			mes "enter the 3rd Floor. If you";
			mes "have any mission reward";
			mes "questions, please ask ^3355FFLiei^000000.";
			next;
			mes "[Ditze]";
			mes "If you want to check";
			mes "more information about";
			mes "your work, please talk";
			mes "to the 2nd Floor Guide.";
			mes "Thank you, and welcome";
			mes "to the Rekenber Corporation~";
			thana_tower = 1;
			close;
		case 2:
			mes "[Ditze]";
			mes "Oh? Was there an article";
			mes "within the contract that you";
			mes "disagreed with? Hm. Well,";
			mes "that's fine. But if you change";
			mes "your mind, please come back";
			mes "and ask me anytime. Thank you~";
			close;
		}
	}
}

tha_t01,140,78,4	script	Guide#reward	4_F_ZONDAGIRL,{
	mes "[Liei]";
	if (thana_tower == 0) {
		mes "Good day, I'm";
		mes "Liei Kuniziet of the";
		mes "Employee Mission";
		mes "Reward Department";
		mes "here in Thanatos Tower.";
		next;
		switch(select("Employee's mission reward?", "Keep up the good work.")) {
		case 1:
			mes "[Liei]";
			mes "Currently, Rekenber Corporation";
			mes "is contracting temp employees";
			mes "to develop the higher levels";
			mes "of Thanatos Tower. If you'd";
			mes "like to apply, please ask";
			mes "Ditze right next to me.";
			close;
		case 2:
			mes "[Liei]";
			mes "Thank you. Ah, and I hope";
			mes "that you enjoy your visit";
			mes "here to Thanatos Tower.";
			close;
		}
	}
	mes "Ah, hello~";
	mes "How may I help you?";
	next;
	if(select("Reward", "Nothing") == 2) {
		mes "[Liei]";
		mes "Alright, then.";
		mes "Please do your best";
		mes "to exterminate the";
		mes "monsters that infest";
		mes "the higher floors of";
		mes "the Thanatos Tower~";
		close;
	}
	mes "[Liei]";
	mes "You're "+strcharinfo(PC_NAME)+", yes?";
	mes "Let me check our temp";
	mes "employee records for--ah.";
	mes "Here it is. Alright, so would";
	mes "you please tell me what kind";
	mes "of mission proof you brought?";
	next;
	setarray .@items[1],7435,7440,7441,7442;
	.@i = select("Golden Ornament", "Red Feather", "Blue Feather", "Cursed Seal");
	mes "[Liei]";
	if (!countitem(.@items[.@i])) {
		mes "I'm sorry, but you are not";
		mes "carrying any "+getitemname(.@items[.@i])+"s.";
		mes "Please check your inventory";
		mes "one more time, and then come";
		mes "to me to redeem your items";
		mes "for a reward later, alright?";
		close;
	}
	mes "The reward for each";
	mes getitemname(.@items[.@i])+" is...";
	mes " ";
	mes "1,000 zeny";
	//mes "2,000 EXP";
	next;
	.@zeny_tt = (countitem(.@items[.@i]) * 1000);
	//.@exp_tt = (countitem(.@items[.@i]) * 2000);
	mes "[Liei]";
	mes countitem(.@items[.@i])+" "+getitemname(.@items[.@i])+"s, then";
	mes "you will receive a total of...";
	mes " ";
	mes ""+.@zeny_tt+" zeny";
	//mes ""+.@exp_tt+" EXP";
	next;
	mes "[Liei]";
	mes "Would you like to exchange";
	mes "all of your "+getitemname(.@items[.@i])+"s";
	mes "for your reward right now?";
	next;
	switch(select("Yes", "No")) {
		case 1:
			mes "[Liei]";
			mes "Great! Here is your";
			mes .@zeny_tt+" zeny. Thank you,";
			//mes .@exp_tt+" EXP. Thank you,";
			mes "and please keep up";
			mes "the good work~";
			delitem .@items[.@i], countitem(.@items[.@i]);
			Zeny += .@zeny_tt;
			//getexp .@exp_tt,0;
			close;
		case 2:
			mes "[Liei]";
			mes "Sure, no problem.";
			mes "Just come back and";
			mes "talk to me whenever";
			mes "you want to receive";
			mes "your reward, alright?";
			close;
	}
}

tha_t02,231,161,5	script	Entrance Guide	4_M_ZONDAMAN,{
	mes "[Burled]";
	if (thana_tower == 0) {
		mes "You are in front of the entrance to the 3rd Floor. Only contracted";
		mes "temp employees are authorized";
		mes "to enter that area. For Rekenber temp contract information, please";
		mes "speak to the 2nd Floor Guide.";
		close;
	}
	mes "This is the path to the 3rd floor.";
	mes "Only the contracted staff are allowed to enter.";
	mes "How can I help you?";
	next;
	switch(select("Let me go to 3rd floor.", "Tower Information.", "Start a conversation.")) {
	case 1:
		mes "[Burled]";
		mes "Oh, alright. Let me";
		mes "check and see if you're";
		mes "on our temp list. Hmmm...";
		mes "Ah, you're "+strcharinfo(PC_NAME)+", right?";
		next;
		mes "[Burled]";
		if (getareausers("tha_t02",226,156,236,166) < 5) {
			mes "First, we need to wait until";
			mes "at least 5 temps are gathered";
			mes "to form a work group. Right";
			mes "now, there are a total of";
			mes getareausers("tha_t02",226,156,236,166)+ " temp workers waiting to";
			mes "enter the 3rd Floor.";
			next;
			mes "[Burled]";
			mes "If you can, try to get";
			mes "your friends to help you";
			mes "by coming near me. Please";
			mes "understand that we have this";
			mes "temp worker group requirement";
			mes "for various safety reasons.";
			close;
		}
		mes "Great, you're just";
		mes "in time. We just met";
		mes "the minimum 5 temp group";
		mes "requirement, so we'll open";
		mes "the gate to the 3rd Floor soon.";
		next;
		mes "[Burled]";
		mes "The gate to the 3rd Floor";
		mes "will close shortly, so enter it";
		mes "as soon as you can. We have";
		mes "to close it quickly because we";
		mes "can't have the tower monsters";
		mes "entering the lower floors...";
		if (thana_tower > 3) {
			next;
			mes "^4d4dffBurled is smiling lightly so that only I notice.";
			mes "I nod, then watch him open the gate.^000000";
		}
		close2;
		donpcevent "3rdf_warp#tt::OnEnable";
		end;
	case 2:
		mes "[Burled]";
		mes "This gate is the only passage";
		mes "that connects to the 3rd Floor.";
		mes "After the 4th Floor, passages";
		mes "between floors only travel one";
		mes "way, meaning you can't exit the";
		mes "same way you that you entered.";
		next;
		mes "[Burled]";
		mes "You see, there's a strange";
		mes "power that affects the 5th";
		mes "Floor, and all floors above,";
		mes "which doesn't allow people to";
		mes "backtrack through the passage in which they entered the floor.";
		next;
		mes "[Burled]";
		mes "So if you ascend past the";
		mes "4th Floor, please be careful";
		mes "and make sure that you find";
		mes "a way to get back.";
		next;
		mes "[Burled]";
		mes "The top is the 12th floor,";
		mes "and the monsters grow more powerful";
		mes "as you ascend the tower.";
		mes "The geographical features also change considerably.";
		next;
		mes "[Burled]";
		mes "Because the higher levels are";
		mes "too dangerous, we only open the";
		mes "3rd Floor Gate when 5 or more";
		mes "are gathered here. Therefore,";
		mes "you may need to wait if less";
		mes "than 5 temps have gathered.";
		close;
	case 3:
		if (thana_tower < 3) {
			mes "[Burled]";
			mes "...?";
			mes "Do you have any questions?";
			next;
			if(select("About the development.", "The relationship of Cool Event Corporation and Rekenber Corporation.", "Nope.") == 3) {
				mes "[Burled]";
				mes "Take care.";
				close;
			}
			mes "[Burled]";
			mes "...um, you're quite curious.";
			mes "If you want to know more, would you do me a favor?";
			mes "Since you asked for our confidential info...";
			next;
			if(select("Really? Don't make me afraid of it.", "Just tell me about it.", "I'll listen about it later.") == 3) {
				mes "[Burled]";
				mes "As you wish...";
				mes "Take care!";
				close;
			}
			mes "[Burled]";
			mes "Haha. That's not a big deal.";
			mes "We, Cool Event, are the corporation that works in many areas of business.";
			mes "From simple events, guides for dungeons, and trading items.";
			next;
			mes "[Burled]";
			mes "Though our business started as a small one, we've been getting bigger with assistance from the Rekenber Corporation.";
			mes "They suggested to develop this tower together.";
			next;
			mes "[Burled]";
			mes "The Rekenber Corporation is only digging out the remains for studies.";
			mes "The rest would be made into sightseeing place, which Cool Event Corporation can manage well.";
			next;
			mes "[Burled]";
			mes "It's the biggest business ever.";
			mes "Also quite profitable as tourist attractions.";
			mes "But...";
			next;
			mes "[Burled]";
			mes "Considerably strong monsters spawn inside the tower.";
			mes "The monsters weren't spawned there before.";
			mes "The day after that happened...";
			next;
			mes "[Burled]";
			mes "...anyway, there were some accidently spawned monsters and some troubles...";
			mes "We and the Rekenber Corporation are in shock.";
			mes "We were influenced economically, but the more serious thing is...";
			next;
			mes "[Burled]";
			mes "Many staff involved in development are";
			mes "sacrificing themselves by coming to 3rd floor.";
			next;
			mes "[Burled]";
			mes "While we've pumped our all into the business, that accident happened...";
			mes "We eventually merged with the Rekenber Corporation.";
			next;
			mes "[Burled]";
			mes "The development is on hold temporarily.";
			mes "Recruiting adventurers to defeat monsters...";
			mes "Isn't this funny?";
			next;
			mes "[Burled]";
			mes "No matter what happened there, they wouldn't be hurt.";
			mes "Even if they don't get at the root of the accident....";
			next;
			switch(select("Oh...", "What accident are you referring to?")) {
			case 1:
				mes "[Burled]";
				mes "Yes, it's not that big of a deal. Haha....";
				mes "If we are working here like this....";
				mes "we would know about the death of animals.";
				next;
				mes "[Burled]";
				mes "Cool Event Corporation is considered the follower...";
				mes "They don't clear up how many people";
				mes "died or any reasons for it.";
				next;
				mes "[Burled]";
				mes "Now you're curious about this case.";
				mes "What do they sacrifice for?";
				next;
				mes "[Burled]";
				mes "I talked a lot.";
				mes "Sorry, I am not supposed to talk about this case like this...";
				mes "I've been quite concerned about it, that's all.";
				thana_tower = 3;
				close;
			case 2:
				mes "[Burled]";
				mes "If you promise me that";
				mes "you will do me a favor...";
				next;
				switch(select("Ok! I will.", "No, I won't.")) {
				case 1:
					callsub L_Request;
					next;
					mes "["+strcharinfo(PC_NAME)+"]";
					mes "(What's the accident...?";
					mes "He might let me know later...)";
					close;
				case 2:
					mes "[Burled]";
					mes "...there is no way...";
					mes "They request you to explore the internal part.";
					mes "You're employed for this exploration.";
					close;
				}
			}
		}
		else if (thana_tower == 3) {
			callsub L_Request;
			close;
		}
		else if (thana_tower == 4) {
			mes "[Burled]";
			mes "Rekenber Corporation must have another intention,";
			mes "since they don't seem interested in the tower much.";
			mes "I want to know their intention.";
			next;
			mes "[Burled]";
			mes "This tower is sealed and separated from the outside.";
			mes "We need to break those seals, explore inside and develop it.";
			next;
			mes "[Burled]";
			mes "We are developing the 3rd and 4th floors now...";
			mes "There are still seals there.";
			mes "You can find out some clues when you search around them.";
			close;
		}
		else if ((thana_tower > 4) && (thana_tower < 9)) {
			mes "[Burled]";
			mes "The magical key and messages?";
			mes "...we absolutely haven't learned all the tower's secrets...";
			next;
			mes "[Burled]";
			mes "Who made the seals?";
			mes "...can you investigate more?";
			mes "There must be definitive evidence...";
			close;
		}
		else if (thana_tower == 9) {
			mes "[Burled]";
			mes "Any new progress?";
			next;
			select("I found Varmunt's Journal...");
			mes "- You show him Varmunt's Journal.";
			mes "Burled reads it. -";
			next;
			mes "[Burled]";
			mes "...I recognize this.";
			mes "This is the hologragh of the wise man Varmunt.";
			mes "Regenschirm from Rekenber's huge research institute has...";
			next;
			mes "[Burled]";
			mes "...isn't this the one they are looking for now?!";
			mes "Isn't their mission to find out Varmunt's research materials...?";
			next;
			mes "[Burled]";
			mes "For assisting uncompleted research...";
			mes "Varmunt's research materials are needed...";
			mes "...so their mission isn't just an investigation of the tower.";
			next;
			mes "[Burled]";
			mes "Something to get as an advantage...";
			mes "Even they don't know where it is...";
			mes "...anyways, this is the one of their main objects.";
			next;
			mes "[Burled]";
			mes "It's absolutely great. The wise man Varmunt's belongings. How unbelievable!";
			mes "Now, what do we do with this?";
			next;
			mes "[Burled]";
			mes "Originally everything we found out in this tower was under control of the Rekenber Corporation.";
			mes "This is supposed to theirs, but...";
			next;
			mes "[Burled]";
			mes "How would you like to keep this, "+strcharinfo(PC_NAME)+"?";
			mes "Definitely this should be a secret.";
			mes "...um, this is a little revenge for them.";
			next;
			mes "[Burled]";
			mes "I can guess that there are several secrets in this tower through this note.";
			mes "This secret should be disclosed by you, "+strcharinfo(PC_NAME)+", before Rekenber does.";
			next;
			mes "[Burled]";
			mes "No matter how much power they obtain... they won't get to know about this tower...";
			mes "Haha...";
			next;
			mes "[Burled]";
			mes "...haha...";
			mes "I feel a bit relieved.";
			mes "Thanks.";
			mes "This isn't much, but here's a return present.";
			next;
			mes "[Burled]";
			mes "I hope that these will be useful for you, "+strcharinfo(PC_NAME)+".";
			next;
			mes "- Burled gives you the note and an Old Violet Box. -";
			mes " ";
			mes "^4d4dffYou acquire one Old Violet Box,";
			mes "as well as a little EXP.^000000";
			thana_tower = 10;
			completequest 7053;
			getexp 120000,10000;
			getitem Old_Violet_Box,1;
			close;
		}
		else {
			mes "[Burled]";
			mes "Are you keeping the secrets well?";
			mes "Is there a Phantom on the top of this tower?";
			if (rand(3) == 1) {
				mes "You look tired. This isn't a big deal, but it's for you.";
				npcskill "AL_HEAL",10,50,70;
			}
			close;
		}
	}

L_Request:
	mes "[Burled]";
	mes "Ah, it's not that difficult.";
	mes "After you explore the tower, let me know in detail anything you learn.";
	next;
	mes "[Burled]";
	mes "...I can't believe the Rekenber Corporation. Many colleagues and friends died for them.";
	mes "But the Rekenber Corporation doesn't expose the reason they are dead.";
	next;
	mes "[Burled]";
	mes "The conditions were bad for us from beginning...";
	mes "All of the developed places except research materials would be turned into tourist attractions...";
	mes "Honestly, all the personnel are from Cool Event Corp.";
	next;
	mes "[Burled]";
	mes "They know about it as well.";
	mes "This business needs much sacrifice as well as personnel who are up for it.";
	next;
	mes "[Burled]";
	mes "Now I don't feel victimized anymore, but I just want to know what drives these accidents...";
	mes "^4d4dffWhat makes us victimized...?^000000";
	mes "That's what I want to know.";
	next;
	mes "[Burled]";
	mes "What's this tower?";
	mes "Why did they develop this dangerous place?";
	mes "And for what? Should my colleagues be dead for it?";
	next;
	mes "[Burled]";
	mes "I seriously want to know about it.";
	mes "Why they must sacrifice themselves...";
	mes "Let me know...";
	next;
	mes "He seriously wants to know about it.";
	mes "His hands are trembling now...";
	mes "I nodd without answering.";
	thana_tower = 4;
	setquest 7048;
	return;
}

tha_t02,227,163,0	script	3rdf_warp#tt	WARPNPC,1,1,{
	end;
OnInit:
	disablenpc "3rdf_warp#tt";
	end;
OnTouch:
	if (thana_tower == 0) warp "tha_t02",227,158;
	else warp "tha_t03",219,159;
	end;
OnEnable:
	enablenpc "3rdf_warp#tt";
	initnpctimer;
	end;
OnTimer30000:
	stopnpctimer;
	disablenpc "3rdf_warp#tt";
	end;
}

tha_t03,67,70,0	script	Rune Device#tt1	HIDDEN_NPC,4,4,{
	if ((countitem(Key_Red) == 0) && (countitem(Magic_Gem_Red) == 0)) {
		mes "^3355FFA mysterious field of";
		mes "energy seems to surround";
		mes "the mechanical device and";
		mes "its power prevents you from";
		mes "approaching the machine.^000000";
		next;
		switch(select("Investigate it.", "I don't care about it.")) {
		case 1:
			mes "["+strcharinfo(PC_NAME)+"]";
			mes "This seems mysterious...";
			mes "Let me investigate.";
			next;
			mes "^3355FFAs you follow the magical power, there's something wrapped inside the rune device.^000000";
			next;
			if (Class == Job_Taekwon) {
				mes "^3355FFYou kick the energy";
				mes "field with all of your strength. After absorbing the impact, the";
				mes "field fizzles out with a soft,";
				mes "gentle ''pzzzzzh'' sound.^000000";
				next;
			}
			else if (getequipweaponlv(4) == 4) {
				mes "^3355FFWith your "+getequipname(4)+" in";
				mes "hand, you smash the energy";
				mes "field with all of your strength. After absorbing the impact, the";
				mes "field fizzles out with a soft,";
				mes "gentle ''pzzzzzh'' sound.^000000";
				next;
			}
			else {
				mes "^3355FFYou smash the energy";
				mes "field with your weapon";
				mes "using all of your strength,";
				mes "but you weren't able to";
				mes "break down the barrier.";
				mes "You probably need a more";
				mes "powerful weapon...^000000";
				close;
			}
			break;
		case 2:
			mes "^3355FFYou decide to leave";
			mes "the machine alone.^000000";
			close;
		}
	} else {
		mes "You've acquired everything you need from this rune device.";
		close;
	}
	specialeffect EF_BRANDISH2;
	mes "After breaking the device, the exterior shatters.";
	mes "The energy field begins to disappear,";
	mes "and you see that a red object inside was the origin of the magical power.";
	next;
	mes "- You acquired the powerful Red Key. -";
	getitem Key_Red,1;
	if (thana_tower != 4) close;
	mes "^4d4dffOnce you hold the key, a shocking feeling passes through your head.";
	mes "You see an illusion of light...^000000";
	next;
	switch(select("Ignore it.", "Concentrate on it.")) {
	case 1:
		mes "^3355FFYou decide to leave";
		mes "the machine alone.^000000";
		close;
	case 2:
		mes "You focus on the light.";
		mes "Some letters begin to appear...";
		next;
		mes "^b22222I've used the Gate Seal";
		mes "technology to seal the gate";
		mes "and the charm stones. Although";
		mes "the seals are in place, I can't";
		mes "stop worrying that they might";
		mes "break in the future.";
		next;
		mes "^b22222I can't relax when a, shall";
		mes "I say, particular group covets";
		mes "the charm stones and can easily";
		mes "break the seals. Since they are";
		mes "broken now, are many people hurt?";
		next;
		mes "^b22222This tower contains strong";
		mes "magical powers and much evil. It is";
		mes "dangerous by itself, but I sealed it";
		mes "because of one man's strong desires...";
		next;
		mes "^b22222I wouldn't recommend to go futher.";
		mes "You would need to challenge that poor";
		mes "being, who I've named this tower after.";
		mes "His soul still rests here...";
		next;
		mes "^b22222Nobody believed me, the crazy scientist.";
		mes "Though I wanted to keep this a secret, somebody";
		mes "must get to know about it. That's way I created";
		mes "this rune device, and hid this message.";
		next;
		mes "^b22222Please show that my experience";
		mes "wasn't just an illusion.^000000";
		next;
		mes "That's all.";
		mes "The letters fly away in the form of a red key...";
		thana_tower = 5;
		changequest 7048,7049;
		specialeffect(EF_COMBOATTACK1, AREA, playerattached());
		close;
	}

OnTouch:
	if ((countitem(Key_Red) == 0) && (countitem(Magic_Gem_Red) == 0))
		specialeffect EF_LEVEL99_4;
	end;
}

tha_t04,195,195,0	script	Rune Device#tt2	HIDDEN_NPC,3,3,{
	if ((countitem(Key_Yellow) == 0) && (countitem(Magic_Gem_Yellow) == 0)) {
		mes "^3355FFYou find a screen";
		mes "with three tiny panels and";
		mes "a numeric keypad underneath.";
		mes "As you press one of the";
		mes "number keys, you hear a";
		mes "beep as the screen activates.^000000";
		next;
		mes "[Screen]";
		mes "Please enter a 3 digit";
		mes "number. Do not use a";
		mes "single number more than";
		mes "once or use the number 0.";
		next;
		while (1) {
			.@yagu100 = rand(1,9);
			.@yagu10 = rand(1,9);
			.@yagu1 = rand(1,9);
			if (((.@yagu100 != .@yagu10) && (.@yagu100 != .@yagu1)) && (.@yagu10 != .@yagu1))
				break;
		}
		while (1) {
			while (1) {
				input .@input;
				if (.@input < 100 || .@input > 999) {
					mes "[Screen]";
					mes "Number input";
					mes "requirement has";
					mes "not been fulfilled.";
					mes "Please enter a";
					mes "3 digit number.";
					close;
				}
				.@input100 = .@input / 100;
				.@input10 = (.@input % 100) / 10;
				if (((.@input100 > 0) && (.@input10 > 0)) && (.@input % 10 > 0)) {
					if (((.@input100 != .@input10) && (.@input100 != .@input % 10)) && (.@input10 != .@input % 10))
						break;
					mes "[Screen]";
					mes "Violation of number";
					mes "input parameter. The";
					mes "number 0 has been input,";
					mes "or a number has been";
					mes "input more than once.";
					next;
				}
			}
			++.@retry;
			mes "[Screen]";
			mes "You have input...";
			mes "^0000ff" + .@input100 + "^000000, ^0000ff" + .@input10 + "^000000, ^0000ff" + (.@input % 10) + "^000000";
			mes " ";
			mes "Calculating Results...";
			mes "Please wait a moment...";
			next;
			.@strike = 0;
			.@ball = 0;
			if (.@yagu100 == .@input100) .@strike += 1;
			if (.@yagu10 == .@input10) .@strike += 1;
			if (.@yagu1 == .@input % 10) .@strike += 1;
			if ((.@yagu100 == .@input10) || (.@yagu100 == .@input % 10)) .@ball += 1;
			if ((.@yagu10 == .@input100) || (.@yagu10 == .@input % 10)) .@ball += 1;
			if ((.@yagu1 == .@input100) || (.@yagu1 == .@input10)) .@ball += 1;
			if (.@strike == 3) {
				mes "[Screen]";
				mes "Input number accepted.";
				mes "Access authorized.";
				next;
				mes "^3355FFAfter the screen displays";
				mes "the access authorization";
				mes "notice, magical power condenses";
				mes "and appears on the screen's";
				mes "surface. An object forms...^000000";
				next;
				mes "^4d4dffThe powerful Yellow Key appears.^000000";
				getitem Key_Yellow,1;
				if (thana_tower != 5) close;
				mes "^4d4dffA fierce feeling passes through your head.";
				mes "You seen an illusion of light, like when you acquired the first key.^000000";
				next;
				switch(select("Ignore it.", "Concentrate on it.")) {
				case 1:
					mes "You decide to ignore it.";
					close;
				case 2:
					mes "You focus on the light.";
					mes "Some letters begin to appear...";
					next;
					mes "^b22222Have you found the second key?";
					mes "I wish to tell you where the seal is, but I won't unveil it so easily.";
					mes "Here's a hint. Go to the eagle on the 5th floor.";
					next;
					mes "^b22222The reason I came here is...";
					mes "to find someone.";
					mes "We human beings can't understand this...";
					next;
					mes "^b22222When I found her in Juperos, I couldn't relax.";
					mes "The giant men staying with her in deep side of cave";
					mes "made me rush through my investigation...";
					next;
					mes "^b22222After confirming her existence, I became blindly obsessed with finding traces of her.";
					mes "'Her', you ask? She is shaped like a woman...";
					next;
					mes "^b22222I followed her traces without knowing that she existed 10 years earlier.";
					mes "Then I came upon this place.";
					next;
					mes "^b22222This tower set up for...^000000";
					next;
					mes "It suddenly shakes, then disappears.";
					thana_tower = 6;
					changequest 7049,7050;
					specialeffect(EF_COMBOATTACK1, AREA, playerattached());
					close;
				}
			}
			else {
				mes "[Screen]";
				mes "*Beeeeep*";
				mes "Unauthorized";
				mes "numerical sequence.";
				next;
				mes "[Screen]";
				mes "Correct number";
				mes "in correct place";
				mes "in sequence total: ^FF0000" + .@strike + "^000000";
				mes " ";
				mes "Correct number total: ^FF0000" + .@ball + "^000000";
				next;
				if (.@retry > 4) {
					mes "[Screen]";
					mes "Correct number";
					mes "authorization";
					mes "sequence was...";
					mes "^ff0000" + .@yagu100 + "^000000, ^ff0000" + .@yagu10 + "^000000, ^ff0000" + .@yagu1 + "^000000";
					mes "Authorization number";
					mes "will change upon retry.";
					close;
				}
			}
		}
	}
	mes "You've acquired everything you need from this rune device.";
	close;

OnTouch:
	if ((countitem(Key_Yellow) == 0) && (countitem(Magic_Gem_Yellow) == 0))
		specialeffect EF_LEVEL99_4;
	end;
}

tha_t05,62,179,0	script	Brilliant Statue#tt3	HIDDEN_NPC,3,3,{
	if ((countitem(Key_Blue) == 0) && (countitem(Magic_Gem_Blue) == 0)) {
		mes "I can feel some magical power from this beautiful stone statue.";
		mes "There's a little crack between the wings.";
		next;
		mes "Red light is shining on a crack in the left wing, and gold light on a crack in the right one.";
		mes "What will you do?";
		next;
		if(select("Stick the key into the crack...", "Ignore it.") == 2) {
			mes "^3355FFYou decide to leave";
			mes "the statue alone.^000000";
			close;
		}
		if ((countitem(Key_Red) > 0) && (countitem(Key_Yellow) > 0)) {
			mes "["+strcharinfo(PC_NAME)+"]";
			mes "I'll try the left wing first.";
			mes "What key should I put in?";
			next;
			input .@inputstr$;
			if ((.@inputstr$ != "Red Key") && (.@inputstr$ != "red key")) {
				mes "It doesn't fit into the crack.";
				close;
			}
			mes "The key fits and makes a click.";
			mes "You feel the magical power growing stronger...";
			next;
			mes "["+strcharinfo(PC_NAME)+"]";
			mes "Now the right side...";
			next;
			input .@inputstr$;
			if ((.@inputstr$ != "Yellow Key") && (.@inputstr$ != "yellow key")) {
				mes "It doesn't fit into the crack.";
				close;
			}
			mes "The key fits and makes a click.";
			mes "The beak of the bird suddenly opens, and a strong light comes out.";
			mes "There's a key-shaped object inside...";
			next;
			mes "^4d4dffThe powerful Blue Key appears.^000000";
			getitem Key_Blue,1;
			if (thana_tower != 6) close;
			mes "^4d4dffOnce you hold the key, a shocking feeling passes through your head.";
			mes "You see an illusion of light...^000000";
			next;
			switch(select("Concentrate on it.", "Ignore it.")) {
			case 1:
				mes "This part isn't as clear as before.";
				mes "You try to figure out what it's saying...";
				next;
				mes "^b22222...this tower was built by a magical tribe, not by human beings.";
				mes "This was quite interesting to me...";
				mes "I started to investigate why they built up the tower...";
				next;
				mes "^b22222I found out that this tower was a gate for the magic tribe";
				mes "during a millennium war.^000000";
				next;
				mes ".........It's not clearly shown......";
				mes "^b22222...Morroc has gone through this gate";
				mes "from the magical world into the Midgard continent after the millennium war terminated...";
				next;
				mes "^b22222The question is that when she come up here, the Satan appears at the same time...";
				mes "The truth is..........^000000";
				next;
				mes "The illusion shakes, then melts on the surface of the key as light.";
				thana_tower = 7;
				changequest 7050,7051;
				specialeffect(EF_COMBOATTACK1, AREA, playerattached());
				close;
			case 2:
				mes "You decide to ignore it.";
				close;
			}
		}
		mes "You try to fit something in the crack, but to no avail.";
		close;
	}
	mes "You've acquired everything you need from this statue.";
	close;

OnTouch:
	if ((countitem(Key_Blue) == 0) && (countitem(Magic_Gem_Blue) == 0))
		specialeffect EF_LEVEL99_4;
	end;
}

tha_t06,226,230,0	script	Brilliant Statue#tt4	HIDDEN_NPC,3,3,{
	if ((countitem(Key_Green) == 0) && (countitem(Magic_Gem_Green) == 0)) {
		mes "I can feel some magical power from this brilliant statue.";
		mes "This must be one of the seals.";
		next;
		mes "You see a floating round object with a hole in it.";
		mes "There're red, yellow, and blue light in a row.";
		mes "What will you do?";
		next;
		if(select("Investigate.", "Ignore it.") == 2) {
			mes "^3355FFYou don't see the need to";
			mes "investigate if nothing seems";
			mes "peculiar or out of place...^000000";
			close;
		}
		if ((countitem(Key_Red) > 0) && (countitem(Key_Yellow) > 0) && (countitem(Key_Blue) > 0)) {
			mes "When you insert the key into the keyhole of the ornament";
			mes "and match them by corresponding color, the Stone Statue will snap open.";
			mes "You can see small wheels are moving inside.";
			next;
			switch(select("Investigate the Machine Chasis", "Investigate the Wheels", "Cancel")) {
			case 1:
				mes "^3355FFThe key in your inventory";
				mes "does not seem to be affecting";
				mes "the machine's chasis. The";
				mes "screen mounted on the side";
				mes "is still blank and deactivated.^000000";
				close;
			case 2:
				.@small_1 = 0;
				.@small_2 = 0;
				.@big_1 = 0;
				.@big_2 = 0;
				.@big_3 = 0;
				mes "^3355FFYou touch the wheels and";
				mes "find that they are actually";
				mes "moving very slowly. You note";
				mes "that there are 2 small wheels";
				mes "and 3 larger wheels, totaling";
				mes "5 wheels on this machine.^000000";
				next;
				mes "^3355FFThe big wheels are moving";
				mes "vertically, up and down, as";
				mes "they press against the smaller";
				mes "wheels to make them rotate.^000000";
				next;
				mes "^3355FFJudging from the machine's";
				mes "shaking and jittery noises, the";
				mes "wheels may be misaligned.";
				mes "You might be able to activate";
				mes "the machine by properly ";
				mes "aligning all the wheels.^000000";
				while (1) {
					next;
					mes "^3355FFWhich wheel do";
					mes "you want to shift?^000000";
					switch(select("1st Small Wheel", "2nd Small Wheel", "1st Big Wheel", "2nd Big Wheel", "3rd Big Wheel", "Check Current Wheel Configuration", "Reset Wheels to Default Configuration")) {
					case 1:
						switch(select("Raise Wheel", "Lower Wheel", "Press Wheel")) {
						case 1:
							mes "^EE0000*Choom*^000000";
							.@small_1 = 2;
							if ((.@small_1 == 2) && (.@small_2 == 2) && (.@big_1 == 2) && (.@big_2 == 2) && (.@big_3 == 2)) break;
							continue;
						case 2:
							mes "^00B2EE*Sneeeep*^000000";
							.@small_1 = 1;
							if ((.@small_1 == 1) && (.@small_2 == 1) && (.@big_1 == 1) && (.@big_2 == 1) && (.@big_3 == 1)) break;
							continue;
						case 3:
							mes "^5C246E*Mrreeem*^000000";
							.@small_1 = 3;
							if ((.@small_1 == 3) && (.@small_2 == 3) && (.@big_1 == 3) && (.@big_2 == 3) && (.@big_3 == 3)) break;
							continue;
						}
						break;
					case 2:
						switch(select("Raise Wheel", "Lower Wheel", "Press Wheel")) {
						case 1:
							mes "^5C246E*Mrreeem*^000000";
							.@small_2 = 3;
							if ((.@small_1 == 3) && (.@small_2 == 3) && (.@big_1 == 3) && (.@big_2 == 3) && (.@big_3 == 3)) break;
							continue;
						case 2:
							mes "^EE0000*Choom*^000000";
							.@small_2 = 2;
							if ((.@small_1 == 2) && (.@small_2 == 2) && (.@big_1 == 2) && (.@big_2 == 2) && (.@big_3 == 2)) break;
							continue;
						case 3:
							mes "^00B2EE*Sneeeep*^000000";
							.@small_2 = 1;
							if ((.@small_1 == 1) && (.@small_2 == 1) && (.@big_1 == 1) && (.@big_2 == 1) && (.@big_3 == 1)) break;
							continue;
						}
						break;
					case 3:
						switch(select("Raise Wheel", "Lower Wheel", "Vertically Shift Wheel")) {
						case 1:
							mes "^00B2EE*Sneeeep*^000000";
							.@big_1 = 1;
							if ((.@small_1 == 1) && (.@small_2 == 1) && (.@big_1 == 1) && (.@big_2 == 1) && (.@big_3 == 1)) break;
							continue;
						case 2:
							mes "^5C246E*Mrreeem*^000000";
							.@big_1 = 3;
							if ((.@small_1 == 3) && (.@small_2 == 3) && (.@big_1 == 3) && (.@big_2 == 3) && (.@big_3 == 3)) break;
							continue;
						case 3:
							mes "^EE0000*Choom*^000000";
							.@big_1 = 2;
							if ((.@small_1 == 2) && (.@small_2 == 2) && (.@big_1 == 2) && (.@big_2 == 2) && (.@big_3 == 2)) break;
							continue;
						}
						break;
					case 4:
						switch(select("Raise Wheel", "Lower Wheel", "Vertically Shift Wheel")) {
						case 1:
							mes "^EE0000*Choom*^000000";
							.@big_2 = 2;
							if ((.@small_1 == 2) && (.@small_2 == 2) && (.@big_1 == 2) && (.@big_2 == 2) && (.@big_3 == 2)) break;
							continue;
						case 2:
							mes "^5C246E*Mrreeem*^000000";
							.@big_2 = 3;
							if ((.@small_1 == 3) && (.@small_2 == 3) && (.@big_1 == 3) && (.@big_2 == 3) && (.@big_3 == 3)) break;
							continue;
						case 3:
							mes "^00B2EE*Sneeeep*^000000";
							.@big_2 = 1;
							if ((.@small_1 == 1) && (.@small_2 == 1) && (.@big_1 == 1) && (.@big_2 == 1) && (.@big_3 == 1)) break;
							continue;
						}
						break;
					case 5:
						switch(select("Raise Wheel", "Lower Wheel", "Vertically Shift Wheel")) {
						case 1:
							mes "^EE0000*Choom*^000000";
							.@big_3 = 2;
							if ((.@small_1 == 2) && (.@small_2 == 2) && (.@big_1 == 2) && (.@big_2 == 2) && (.@big_3 == 2)) break;
							continue;
						case 2:
							mes "^00B2EE*Sneeeep*^000000";
							.@big_3 = 1;
							if ((.@small_1 == 1) && (.@small_2 == 1) && (.@big_1 == 1) && (.@big_2 == 1) && (.@big_3 == 1)) break;
							continue;
						case 3:
							mes "^5C246E*Mrreeem*^000000";
							.@big_3 = 3;
							if ((.@small_1 == 3) && (.@small_2 == 3) && (.@big_1 == 3) && (.@big_2 == 3) && (.@big_3 == 3)) break;
							continue;
						}
						break;
					case 6:
						if (.@small_1 == 0) mes "1st Small Wheel: No Change";
						else if (.@small_1 == 1) mes "1st Small Wheel: Down";
						else if (.@small_1 == 2) mes "1st Small Wheel: Up";
						else mes "1st Small Wheel: Pressed";

						if (.@small_2 == 0) mes "2nd Small Wheel: No Change";
						else if (.@small_2 == 1) mes "2nd Small Wheel: Pressed";
						else if (.@small_2 == 2) mes "2nd Small Wheel: Down";
						else mes "2nd Small Wheel: Up";

						if (.@big_1 == 0) mes "1st Big Wheel: No Change";
						else if (.@big_1 == 1) mes "1st Big Wheel: Up";
						else if (.@big_1 == 2) mes "1st Big Wheel: Moved";
						else mes "1st Big Wheel: Down";

						if (.@big_2 == 0) mes "2nd Big Wheel: No Change";
						else if (.@big_2 == 1) mes "2nd Big Wheel: Moved";
						else if (.@big_2 == 2) mes "2nd Big Wheel: Up";
						else mes "2nd Big Wheel: Down";

						if (.@big_3 == 0) mes "3rd Big Wheel: No Change";
						else if (.@big_3 == 1) mes "3rd Big Wheel: Down";
						else if (.@big_3 == 2) mes "3rd Big Wheel: Up";
						else mes "3rd Big Wheel: Moved";
						continue;
					case 7:
						.@small_1 = 0;
						.@small_2 = 0;
						.@big_1 = 0;
						.@big_2 = 0;
						.@big_3 = 0;
						continue;
					}
					break;
				}
				mes "As you adjust the wheels,";
				mes "they suddenly activate";
				mes "with a firm click.";
				next;
				mes "A part of the ornament in the stone statue starts to spin,";
				mes "and a shining light beam climbs up the elegant statue.";
				mes "A strong cursed power emerges and emits a dazzling green light.";
				specialeffect EF_DISPELL;
				specialeffect EF_POTION6;
				next;
				mes "^4d4dffAll of a sudden, the Green Key appears and you can feel great power from it.^000000";
				getitem Key_Green,1;
				if (thana_tower != 7) close;
				mes "^4d4dffWhen you pick up the key,";
				mes "your body trembles";
				mes "with an unknown power";
				mes "and you see a hallucination with some text.^000000";
				next;
				switch(select("Concentrate on it.", "Ignore it.")) {
				case 1:
					mes "^b22222...You found 4 keys";
					mes "and finally released 4 spells...";
					mes "This tower used to be";
					mes "a gate to summon demons ages ago.";
					mes "And the last visitor was";
					mes "the infamous Satan Morroc.";
					next;
					mes "^b22222As I followed her trail";
					mes "I realized that her spells";
					mes "were scattered around the tower.";
					mes "Then, somehow, it vanished into the ground.";
					next;
					mes "^b22222The great battle and";
					mes "the protracted war...";
					mes "But her purpose was...";
					mes "that... sealing of the gate...";
					mes "so... I tried to seal...";
					mes "but it was incomplete...";
					mes "the guard of the gate was...^000000";
					next;
					mes "["+strcharinfo(PC_NAME)+"]";
					mes "It is hard to read.";
					next;
					mes "^b22222...So I changed the location";
					mes "of the coupling spot...";
					mes "I mean, push through to the tower";
					mes "to tangle it...";
					mes "Anyway, I wanted to respect";
					mes "her loyalty and block the gate...";
					next;
					mes "^b22222If I want to... then I have to";
					mes "release the last spell...";
					mes "He finally came to meet...";
					mes "with his pieces...";
					mes "...and then...^000000";
					next;
					mes "The hallucination wobbles";
					mes "and fades into the key.";
					thana_tower = 8;
					changequest 7051,7052;
					specialeffect(EF_BEGINSPELL6, AREA, playerattached());
					specialeffect(EF_SPELLBREAKER, AREA, playerattached());
					close;
				case 2:
					mes "It was too intense to see the hallucination, so you gave up reading.";
					close;
				}
			case 3:
				mes "You decide to ignore it.";
				close;
			}
		}
		mes "You don't have the right key for this keyhole.";
		close;
	}
	mes "The spell is already released. You've acquired everything you need from this statue.";
	close;

OnTouch:
	if ((countitem(Key_Green) == 0) && (countitem(Magic_Gem_Green) == 0))
		specialeffect EF_LEVEL99_4;
	end;
}

tha_t06,204,181,0	script	Splendid Sword#tt5	HIDDEN_NPC,3,3,{
	if ((countitem(Key_Black) == 0) && (countitem(Magic_Gem_Black) == 0)) {
		mes "An old, worn sword hangs above the splendid table.";
		mes "It emits a gloomy aura.";
		next;
		if ((countitem(Key_Red) > 0) && (countitem(Key_Yellow) > 0) && (countitem(Key_Blue) > 0) && (countitem(Key_Green) > 0)) {
			mes "As you approach, the keys in your pocket";
			mes "suddenly respond with a mysterious power.";
			specialeffect(EF_ABSORBSPIRITS, AREA, playerattached());
			next;
			if(select("Observe it.", "Ignore it.") == 2) {
				mes "^3355FFYou decide to leave";
				mes "the sword alone.^000000";
				close;
			}
			mes "While you get closer and closer, the sword shakes with a loud noise.";
			mes "Your eyes keep getting drawn to the sword's hilt.";
			mes "Then you lose control of your hands, and they stretch forth to grasp the handle...";
			next;
			switch(select("Towards the blade of the sword", "Towards the hilt of the sword", "Towards the table")) {
			case 1:
				mes "By an unknown calling you decide to grab the blade of the sword.";
				mes "Your hands get wounded and begin to bleed.";
				specialeffect(EF_HIT1, AREA, playerattached());
				percentheal -20,0;
				close;
			case 2:
				mes "By an unknown calling you decide to grab the hilt of the sword.";
				mes "The mysterious power from the keys transfers to the sword, and it falls from the table.";
				next;
				mes "At the same time, a little hole appears on the table's surface.";
				mes "Now, you hold the sword and...";
				specialeffect EF_EXIT2;
				next;
				switch(select("Strike the table", "Insert the sword into the hole", "Bring the sword safely")) {
				case 1:
					mes "You strike the table with the sword.";
					mes "Numerous conflicting spells act upon it, and you can tell that you chose incorrectly.";
					mes "The sword automatically returns to the table, as it was before.";
					specialeffect EF_HIT1;
					specialeffect(EF_HIT1, AREA, playerattached());
					percentheal -20,0;
					close;
				case 2:
					mes "As you insert the sword, lightning flashes around it and black smoke rises from the hole.";
					mes "Slowly the smoke clears, and you see an object with a certain shape...";
					specialeffect EF_CHANGEDARK;
					next;
					mes "^4d4dff All of a sudden, a Black Key appears from the smoke and you feel a great cursed power from it.^000000";
					getitem Key_Black,1;
					if (thana_tower != 8) close;
					next;
					mes "A drawer had snapped open under the table while you picked up the key and observed it.";
					mes "You can see an old notebook inside the drawer.";
					next;
					mes "The notebook definitely looks like it contains an important message.";
					mes "Maybe this notebook is the one that Rekenber wants to find, even with all the sacrifices.";
					next;
					mes "^4d4dffYou decide to show the notebook and the keys to Burled.";
					mes "You received Varmunt's Journal.^000000";
					thana_tower = 9;
					changequest 7052,7053;
					getitem Barmund_Note,1;
					close;
				case 3:
					mes "When you lift the sword, you feel a shock from numerous conflicting spells.";
					mes "Right... stealing is the worst.";
					mes "The sword automatically returns to the table, as it was before.";
					close;
				}
			case 3:
				mes "You stretch your hands to find something under the table, but there is nothing.";
				close;
			}
		}
		mes "You strongly feel a cursed, sealed power from here,";
		mes "but it is hard to figure out what is causing it.";
		mes "You cannot approach it.";
		close;
	}
	mes "You have already released a seal using this sword.";
	mes "You've acquired everything you need from here.";
	close;

OnTouch:
	if ((countitem(Key_Black) == 0) && (countitem(Magic_Gem_Black) == 0))
		specialeffect EF_LEVEL99_4;
	end;
}

tha_t08,1,1,0	script	#Charm Stone Admintt01	CLEAR_NPC,{
	end;
OnInit:
OnEnable:
	initnpctimer;
	end;
OnTimer1000:
	donpcevent "Shining Crystal#tt_r1::OnEnable";
	donpcevent "Shining Crystal#tt_g1::OnEnable";
	donpcevent "Shining Crystal#tt_b1::OnEnable";
	donpcevent "Shining Crystal#tt_y1::OnEnable";
	end;
OnTimer600000:
	donpcevent "Shining Crystal#tt_r1::OnDisable";
	donpcevent "Shining Crystal#tt_g1::OnDisable";
	donpcevent "Shining Crystal#tt_b1::OnDisable";
	donpcevent "Shining Crystal#tt_y1::OnDisable";
	donpcevent "Shining Crystal#tt_r2::OnEnable";
	donpcevent "Shining Crystal#tt_g2::OnEnable";
	donpcevent "Shining Crystal#tt_b2::OnEnable";
	donpcevent "Shining Crystal#tt_y2::OnEnable";
	end;
OnTimer1200000:
	donpcevent "Shining Crystal#tt_r2::OnDisable";
	donpcevent "Shining Crystal#tt_g2::OnDisable";
	donpcevent "Shining Crystal#tt_b2::OnDisable";
	donpcevent "Shining Crystal#tt_y2::OnDisable";
	donpcevent "Shining Crystal#tt_r3::OnEnable";
	donpcevent "Shining Crystal#tt_g3::OnEnable";
	donpcevent "Shining Crystal#tt_b3::OnEnable";
	donpcevent "Shining Crystal#tt_y3::OnEnable";
	end;
OnTimer1800000:
	donpcevent "Shining Crystal#tt_r3::OnDisable";
	donpcevent "Shining Crystal#tt_g3::OnDisable";
	donpcevent "Shining Crystal#tt_b3::OnDisable";
	donpcevent "Shining Crystal#tt_y3::OnDisable";
	donpcevent "Shining Crystal#tt_r4::OnEnable";
	donpcevent "Shining Crystal#tt_g4::OnEnable";
	donpcevent "Shining Crystal#tt_b4::OnEnable";
	donpcevent "Shining Crystal#tt_y4::OnEnable";
	end;
OnTimer2400000:
	donpcevent "Shining Crystal#tt_r4::OnDisable";
	donpcevent "Shining Crystal#tt_g4::OnDisable";
	donpcevent "Shining Crystal#tt_b4::OnDisable";
	donpcevent "Shining Crystal#tt_y4::OnDisable";
	donpcevent "#Charm Stone Admintt01::OnEnable";
	end;
}

tha_t08,90,153,0	script	Shining Crystal#tt_r1	CLEAR_NPC,{
	if (countitem(Key_Red) > 0) {
		mes "The Crystal ball is emitting mysterious power.";
		next;
		mes "Beside the crystal ball, you find faded patterns marked on the floor.";
		mes "Looks like some kind of keyhole that needs to be inserted with something...";
		next;
		mes "The red key suddenly responds once you come close to the keyhole.";
		mes "You insert the key in the keyhole and it turns out to be a small gem.";
		next;
		mes "When you touch the gem which is dazzling red...";
		mes "You feel isolated and depressed deep inside your heart...";
		next;
		mes "^4d4dffYou have found a Red Charm Stone that is concentrated with cruel fate and a deep darkness.^000000";
		delitem Key_Red,1;
		getitem Magic_Gem_Red,1;
		close;
	}
	mes "The Crystal ball is emitting mysterious power.";
	mes "Something is definitely there inside... How do I get it to open?";
	close;

OnInit:
OnDisable:
	disablenpc strnpcinfo(NPC_NAME);
	end;
OnEnable:
	enablenpc strnpcinfo(NPC_NAME);
	end;
}
tha_t08,90,62,0	duplicate(Shining Crystal#tt_r1)	Shining Crystal#tt_r2	CLEAR_NPC
tha_t08,49,59,0	duplicate(Shining Crystal#tt_r1)	Shining Crystal#tt_r3	CLEAR_NPC
tha_t08,49,144,0	duplicate(Shining Crystal#tt_r1)	Shining Crystal#tt_r4	CLEAR_NPC

tha_t08,49,153,0	script	Shining Crystal#tt_y1	CLEAR_NPC,{
	if (countitem(Key_Yellow) > 0) {
		mes "The Crystal ball is emitting mysterious power.";
		next;
		mes "Beside the crystal ball, you find faded patterns marked on the floor.";
		mes "Looks like some kind of keyhole that needs to be inserted with something...";
		next;
		mes "The yellow key suddenly responds once you come close to the keyhole.";
		mes "You insert the key in the keyhole and it turns out to be a small gem.";
		next;
		mes "When you touch the gem which is dazzling yellow...";
		mes "Your heart begins to throb as though you are suffering from a broken heart.";
		next;
		mes "^4d4dffYou have found a Yellow Charm Stone that is concentrated with grief and mysterious power.^000000";
		delitem Key_Yellow,1;
		getitem Magic_Gem_Yellow,1;
		close;
	}
	mes "The Crystal ball is emitting mysterious power.";
	mes "Something is definitely there inside... How do I get it to open?";
	close;

OnInit:
OnDisable:
	disablenpc strnpcinfo(NPC_NAME);
	end;
OnEnable:
	enablenpc strnpcinfo(NPC_NAME);
	end;
}
tha_t08,90,150,0	duplicate(Shining Crystal#tt_y1)	Shining Crystal#tt_y2	CLEAR_NPC
tha_t08,90,59,0	duplicate(Shining Crystal#tt_y1)	Shining Crystal#tt_y3	CLEAR_NPC
tha_t08,49,56,0	duplicate(Shining Crystal#tt_y1)	Shining Crystal#tt_y4	CLEAR_NPC

tha_t08,49,65,0	script	Shining Crystal#tt_b1	CLEAR_NPC,{
	if (countitem(Key_Blue) > 0) {
		mes "The Crystal ball is emitting mysterious power.";
		next;
		mes "Beside the crystal ball, you find faded patterns marked on the floor.";
		mes "Looks like some kind of keyhole that needs to be inserted with something...";
		next;
		mes "The blue key suddenly responds once you come close to the keyhole.";
		mes "You insert the key in the keyhole and it turns out to be a small gem.";
		next;
		mes "When you touch the gem which is dazzling blue....";
		mes "Someone's sobbing comes into your ears as you smell blood on the wind and suddenly you become angry.";
		next;
		mes "^4d4dffYou have found a Blue Charm Stone that is concentrated with grudge and mysterious power.^000000";
		delitem Key_Blue,1;
		getitem Magic_Gem_Blue,1;
		close;
	}
	mes "The Crystal ball is emitting mysterious power.";
	mes "Something is definitely there inside... How do I get it to open?";
	close;

OnInit:
OnDisable:
	disablenpc strnpcinfo(NPC_NAME);
	end;
OnEnable:
	enablenpc strnpcinfo(NPC_NAME);
	end;
}
tha_t08,49,150,0	duplicate(Shining Crystal#tt_b1)	Shining Crystal#tt_b2	CLEAR_NPC
tha_t08,90,147,0	duplicate(Shining Crystal#tt_b1)	Shining Crystal#tt_b3	CLEAR_NPC
tha_t08,90,56,0	duplicate(Shining Crystal#tt_b1)	Shining Crystal#tt_b4	CLEAR_NPC

tha_t08,90,65,0	script	Shining Crystal#tt_g1	CLEAR_NPC,{
	if (countitem(Key_Green) > 0) {
		mes "The Crystal ball is emitting mysterious power.";
		next;
		mes "Beside the crystal ball, you find faded patterns marked on the floor.";
		mes "Looks like some kind of keyhole that needs to be inserted with something...";
		next;
		mes "The green key suddenly responds once you come close to the keyhole.";
		mes "You insert the key in the keyhole and it turns out to be a small gem.";
		next;
		mes "When you touch the gem which is dazzling green...";
		mes "Your head starts to ache and you feel worried and anxious about something.";
		next;
		mes "^4d4dffYou have found a Green Charm Stone that is concentrated with deep suffering.^000000";
		delitem Key_Green,1;
		getitem Magic_Gem_Green,1;
		close;
	}
	mes "The Crystal ball is emitting mysterious power.";
	mes "Something is definitely there inside... How do I get it to open?";
	close;

OnInit:
OnDisable:
	disablenpc strnpcinfo(NPC_NAME);
	end;
OnEnable:
	enablenpc strnpcinfo(NPC_NAME);
	end;
}
tha_t08,49,62,0	duplicate(Shining Crystal#tt_g1)	Shining Crystal#tt_g2	CLEAR_NPC
tha_t08,49,147,0	duplicate(Shining Crystal#tt_g1)	Shining Crystal#tt_g3	CLEAR_NPC
tha_t08,90,144,0	duplicate(Shining Crystal#tt_g1)	Shining Crystal#tt_g4	CLEAR_NPC

tha_t12,161,57,0	script	Gold Religious Statue#tt	HIDDEN_NPC,{
	if ($@thana_summon == 0) {
		if (countitem(Magic_Gem_Yellow) > 0) {
			mes "It's a statue giving off a golden light.";
			mes "The sword appears to be missing a gem.";
			mes "As I draw closer to the statue, the Yellow Charm Stone emits a bright light.";
			specialeffect EF_BEGINSPELL5;
			specialeffect(EF_BEGINSPELL5, AREA, playerattached());
			next;
			if(select("Insert the Yellow Charm Stone.", "Run away.") == 2) close;
			if ($@thana_summon == 0) {
				mes "After inserting the Yellow Charm Stone into the sword, the statue begins to react.";
				specialeffect EF_BEGINSPELL5;
				delitem Magic_Gem_Yellow,1;
				$@thana_summon = 1;
				donpcevent "#tteffect01::OnEnable";
				mapannounce "tha_t12","The golden magic power has released part of the seal.",bc_map,"0x00ff00"; //FW_NORMAL 12 0 0
				close;
			}
			mes "Someone has already inserted a Charm Stone into this statue.";
			close;
		}
		mes "The statue give off mysterious light.";
		mes "Strange power has blocked your access.";
		close;
	}
	mes "The statue has such a strong light that I can't see or touch it.";
	close;
}

tha_t12,154,17,0	script	Green Wiseman Statue#tt	HIDDEN_NPC,{
	if ($@thana_summon == 1) {
		if (countitem(Magic_Gem_Green) > 0) {
			mes "A statue gives off green light.";
			mes "The wiseman's wand seems to be missing a gem.";
			mes "As I draw closer to the statue, the Green Charm Stone emits a bright light.";
			specialeffect EF_BEGINSPELL4;
			specialeffect(EF_BEGINSPELL4, AREA, playerattached());
			next;
			if(select("Insert the Green Charm Stone.", "Run away.") == 2) close;
			if ($@thana_summon == 1) {
				mes "After inserting the Green Charm Stone into the wand, the statue begins to react.";
				specialeffect EF_BEGINSPELL4;
				delitem Magic_Gem_Green,1;
				$@thana_summon = 2;
				donpcevent "#tteffect02::OnEnable";
				mapannounce "tha_t12","The green magic power has released part of the seal.",bc_map,"0x00ff00"; //FW_NORMAL 12 0 0
				close;
			}
			mes "Someone has already inserted a Charm Stone into this statue.";
			close;
		}
		mes "The statue give off mysterious light.";
		mes "Strange power has blocked your access.";
		close;
	}
	mes "The statue has such a strong light that I can't see or touch it.";
	close;
}

tha_t12,103,17,0	script	Blue Angel Statue#tt	HIDDEN_NPC,{
	if ($@thana_summon == 2) {
		if (countitem(Magic_Gem_Blue) > 0) {
			mes "An angel statue is covered with a blue light.";
			mes "A gem seems to be missing from the statue's belt.";
			mes "As I draw closer to the statue, the Blue Charm Stone emits a bright light.";
			specialeffect EF_BEGINSPELL2;
			specialeffect(EF_BEGINSPELL2, AREA, playerattached());
			next;
			if(select("Insert the Blue Charm Stone.", "Run away.") == 2) close;
			if ($@thana_summon == 2) {
				mes "After inserting the Blue Charm Stone into the belt, the statue begins to react.";
				specialeffect EF_BEGINSPELL2;
				delitem Magic_Gem_Blue,1;
				$@thana_summon = 3;
				donpcevent "#tteffect03::OnEnable";
				mapannounce "tha_t12","The blue magic power has released part of the seal.",bc_map,"0x00ff00"; //FW_NORMAL 12 0 0
				close;
			}
			mes "Someone has already inserted a Charm Stone into this statue.";
			close;
		}
		mes "The statue give off mysterious light.";
		mes "Strange power has blocked you to access.";
		close;
	}
	mes "The statue has such a strong light that I can't see or touch it.";
	close;
}

tha_t12,96,57,0	script	Bloody Knight Statue#tt	HIDDEN_NPC,{
	if ($@thana_summon == 3) {
		if (countitem(Magic_Gem_Red) > 0) {
			mes "A statue is shining like blood.";
			mes "A gem seems to be missing from the heart area of its armor.";
			mes "As I draw closer to the statue, the Red Charm Stone emits a bright light.";
			specialeffect EF_BEGINSPELL3;
			specialeffect(EF_BEGINSPELL3, AREA, playerattached());
			next;
			if(select("Insert the Red Charm Stone.", "Run away.") == 2) close;
			if ($@thana_summon == 3) {
				mes "After inserting the Red Charm Stone into the armor, the statue begins to react.";
				specialeffect EF_BEGINSPELL3;
				delitem Magic_Gem_Red,1;
				$@thana_summon = 4;
				donpcevent "#tteffect04::OnEnable";
				mapannounce "tha_t12","The red magic power has released part of the seal.",bc_map,"0x00ff00"; //FW_NORMAL 12 0 0
				close;
			}
			mes "Someone has already inserted a Charm Stone into this statue.";
			close;
		}
		mes "The statue give off mysterious light.";
		mes "Strange power has blocked you to access.";
		close;
	}
	mes "The statue has such a strong light that I can't see or touch it.";
	close;
}

tha_t12,129,86,0	script	Dark Devil Statue#tt	HIDDEN_NPC,{
	if ($@thana_summon == 4) {
		if (countitem(Magic_Gem_Black) > 0) {
			mes "A devil statue emits dark light.";
			mes "The right eye seems to be missing a gem.";
			mes "As I draw closer to the statue, the Black Charm Stone emits a bright light.";
			specialeffect EF_BEGINSPELL7;
			specialeffect(EF_BEGINSPELL7, AREA, playerattached());
			next;
			if(select("Insert the Black Charm Stone.", "Run away.") == 2) close;
			if ($@thana_summon == 4) {
				mes "After inserting the Red Charm Stone into the eye socket, the statue begins to react.";
				specialeffect EF_BEGINSPELL7;
				delitem Magic_Gem_Black,1;
				$@thana_summon = 5;
				donpcevent "#gateto_thanatos::OnEnable";
				donpcevent "#tteffect01::OnStop";
				donpcevent "#tteffect02::OnStop";
				donpcevent "#tteffect03::OnStop";
				donpcevent "#tteffect04::OnStop";
				mapannounce "tha_t12","The Black Charm Stone's magic power has released the final seal.",bc_map,"0x00ff00"; //FW_NORMAL 12 0 0
				close;
			}
			mes "Someone has already inserted a Charm Stone into this statue.";
			close;
		}
		mes "The statue give off mysterious light.";
		mes "Strange power has blocked you to access.";
		close;
	}
	mes "The statue has such a strong light that I can't see or touch it.";
	close;
}

tha_t12,134,52,0	script	#tteffect01	HIDDEN_WARP_NPC,{
	end;
OnEnable:
	initnpctimer;
	end;
OnStop:
	stopnpctimer;
	end;
OnTimer500:
OnTimer1000:
OnTimer1500:
OnTimer2000:
OnTimer2500:
	specialeffect EF_BEGINSPELL5;
	end;
OnTimer3000:
	donpcevent "#tteffect01::OnEnable";
	end;
}

tha_t12,132,47,0	script	#tteffect02	HIDDEN_WARP_NPC,{
	end;
OnEnable:
	initnpctimer;
	end;
OnStop:
	stopnpctimer;
	end;
OnTimer500:
OnTimer1000:
OnTimer1500:
OnTimer2000:
OnTimer2500:
	specialeffect EF_BEGINSPELL4;
	end;
OnTimer3000:
	donpcevent "#tteffect02::OnEnable";
	end;
}

tha_t12,127,47,0	script	#tteffect03	HIDDEN_WARP_NPC,{
	end;
OnEnable:
	initnpctimer;
	end;
OnStop:
	stopnpctimer;
	end;
OnTimer500:
OnTimer1000:
OnTimer1500:
OnTimer2000:
OnTimer2500:
	specialeffect EF_BEGINSPELL2;
	end;
OnTimer3000:
	donpcevent "#tteffect03::OnEnable";
	end;
}

tha_t12,125,52,0	script	#tteffect04	HIDDEN_WARP_NPC,{
	end;
OnEnable:
	initnpctimer;
	end;
OnStop:
	stopnpctimer;
	end;
OnTimer500:
OnTimer1000:
OnTimer1500:
OnTimer2000:
OnTimer2500:
	specialeffect EF_BEGINSPELL3;
	end;
OnTimer3000:
	donpcevent "#tteffect04::OnEnable";
	end;
}

tha_t12,129,56,0	script	#tteffect05	HIDDEN_WARP_NPC,{
	end;
OnEnable:
	initnpctimer;
	end;
OnStop:
	stopnpctimer;
	end;
OnTimer500:
OnTimer1000:
OnTimer1500:
OnTimer2000:
OnTimer2500:
	specialeffect EF_BEGINSPELL7;
	end;
OnTimer3000:
	donpcevent "#tteffect05::OnEnable";
	end;
}

tha_t12,130,52,0	script	#gateto_thanatos	WARPNPC,1,1,{
	end;
OnInit:
	disablenpc "#gateto_thanatos";
	end;
OnEnable:
	enablenpc "#gateto_thanatos";
OnOn2:
	initnpctimer;
	end;
OnTouch:
	.@touch = 1;
OnTimer6000:
	if (($@thana_summon == 0) || ($@thana_summon == 6)) {
		disablenpc "#gateto_thanatos";
		stopnpctimer;
	} else if ($@thana_summon == 5) {
		if (.@touch) warp "thana_boss",136,116;
		else donpcevent "#gateto_thanatos::OnOn2";
	}
	end;
OnTimer1000:
OnTimer5000:
	.@pillar = 1;
OnTimer3000:
	specialeffect(EF_BEGINSPELL7, AREA, getnpcid("#tteffect05"));
	specialeffect(EF_BEGINSPELL3, AREA, getnpcid("#tteffect04"));
	specialeffect(EF_BEGINSPELL2, AREA, getnpcid("#tteffect03"));
	specialeffect(EF_BEGINSPELL4, AREA, getnpcid("#tteffect02"));
	specialeffect(EF_BEGINSPELL5, AREA, getnpcid("#tteffect01"));
	if (.@pillar) specialeffect EF_MAPPILLAR2;
	end;
}

thana_boss,217,167,3	script	Memory Seal#tt1	G_THA_MAERO,3,3,{
	end;
OnEnable:
	hideoffnpc strnpcinfo(NPC_NAME);
	.hide = 0;
	end;
OnDisable:
	hideonnpc strnpcinfo(NPC_NAME);
	.hide = 0;
	end;
OnTouch:
	.@seal = atoi(charat(strnpcinfo(NPC_NAME_HIDDEN),2));
	if (.hide & (1<<.@seal)) end;

	//  .@i: ItemID,MobID,MapX,MapY,EffectNum
	// .@j$: FragmentName
	switch(.@seal) {
	case 1:
		setarray .@i[0],7437,1711,217,167,238;
		.@j$ = "Misery";
		break;
	case 2:
		setarray .@i[0],7436,1712,202,75,102;
		.@j$ = "Agony";
		break;
	case 3:
		setarray .@i[0],7438,1709,80,76,101;
		.@j$ = "Hatred";
		break;
	case 4:
		setarray .@i[0],7439,1710,62,171,100;
		.@j$ = "Despair";
		break;
	}

	specialeffect EF_GUMGANG;
	if ($@thana_summon2 > 3) {
		mes "^3355FFYou cannot approach";
		mes "the crest because it is";
		mes "generating intense heat.^000000";
		close;
	}
	mes "The seal seems to be dormant.";
	mes "There is a fragment missing from the crest of the Seal.";
	mes "Surely I saw a familiar fragment before...";
	next;
	input .@inputstr$;
	.@exact_tt$ = "Fragment of "+.@j$;
	if (countitem(.@i[0]) > 0 && .@exact_tt$ == .@inputstr$) {
		mes "^3355FFYou insert the";
		mes .@exact_tt$;
		mes "into the crest, causing";
		mes "its glow to intensify.^000000";
		close2;
		hideonnpc strnpcinfo(NPC_NAME);
		.hide |= (1<<.@seal);
		delitem .@i[0],1;
		specialeffect .@i[4];
		monster "thana_boss",.@i[2],.@i[3],.@j$,.@i[1],1,strnpcinfo(NPC_NAME)+"::OnMyMobDead";
		switch($@thana_summon2) {
			case 0: .@str$ = "... who... released... the... Memory... of... "+.@j$+"...?"; break;
			case 1: .@str$ = "... why... did you... release... the... Memory... of... "+.@j$+"...?"; break;
			case 2: .@str$ = "... ugh... stop it... the Memory of "+.@j$+"..."; break;
			default: .@str$ = "... finally... you released the last piece of Memory..."; break;
		}
		mapannounce "thana_boss",.@str$,bc_map,"0x7b68ee"; //FW_NORMAL 12 0 0
		end;
	}
	mes "^3355FFThat action had no";
	mes "effect. You'll have to";
	mes "try something else.^000000";
	close;

OnMyMobDead:
	++$@thana_summon2;
	if ($@thana_summon2 == 4)
		mapwarp "thana_boss","thana_boss",141,228;
	end;
}
thana_boss,202,75,3	duplicate(Memory Seal#tt1)	Memory Seal#tt2	G_THA_DOLOR,3,3
thana_boss,80,76,7	duplicate(Memory Seal#tt1)	Memory Seal#tt3	G_THA_ODIUM,3,3
thana_boss,62,171,5	duplicate(Memory Seal#tt1)	Memory Seal#tt4	G_THA_DESPERO,3,3

thana_boss,141,228,0	script	#thanatos_seal	HIDDEN_WARP_NPC,3,3,{
	end;
OnEnable:
	enablenpc "#thanatos_seal";
	end;
OnDisable:
	disablenpc "#thanatos_seal";
	end;
OnTouch:
	if ($@thana_summon2 == 4) {
		initnpctimer;
		donpcevent "Memory Seal#tt5::OnEnable";
		disablenpc "#thanatos_seal";
	}
	end;
OnTimer1000:
	mapannounce "thana_boss","Thanatos : RAWWWWWWWWWWWWWWWWR!",bc_map,"0xff0000"; //FW_NORMAL 12 0 0
	end;
OnTimer4000:
	mapannounce "thana_boss","Thanatos : ... crashed... broken... spread... and come back as tears...",bc_map,"0xff0000"; //FW_NORMAL 12 0 0
	end;
OnTimer7000:
	mapannounce "thana_boss","Thanatos : I live again to fulfill my ambition!",bc_map,"0xff0000"; //FW_NORMAL 12 0 0
	end;
OnTimer10000:
	mapannounce "thana_boss","Thanatos : ... gives off a strong bloody scent... soaked in sorrow...",bc_map,"0xff0000"; //FW_NORMAL 12 0 0
	end;
OnTimer13000:
	mapannounce "thana_boss","Thanatos : I will remove all people who invade this continent again!",bc_map,"0xff0000"; //FW_NORMAL 12 0 0
	end;
OnTimer16000:
	mapannounce "thana_boss","Thanatos : Come, be the first to fall before my might!",bc_map,"0xff0000"; //FW_NORMAL 12 0 0
	donpcevent "Memory Seal#tt5::OnDisable";
	donpcevent "#sommon_thanatos::OnEnable";
	$@thana_summon2 = 5;
	stopnpctimer;
	end;
}

thana_boss,141,235,3	script	Memory Seal#tt5	THANATOS,{
	end;
OnInit:
	disablenpc "Memory Seal#tt5";
	end;
OnEnable:
	enablenpc "Memory Seal#tt5";
	end;
OnDisable:
	disablenpc "Memory Seal#tt5";
	specialeffect EF_ICECRASH;
	end;
}

thana_boss,141,218,0	script	#sommon_thanatos	FAKE_NPC,{
OnEnable:
	specialeffect(EF_MAPPILLAR2, AREA, getnpcid("#sommon_thanatos"));
	specialeffect(EF_SEISMICWEAPON, AREA, getnpcid("#sommon_thanatos"));
	monster "thana_boss",141,218,"Thanatos Phantom",1708,1,"#sommon_thanatos::OnMyMobDead";
	end;
OnMyMobDead:
	if (mobcount("thana_boss","#sommon_thanatos::OnMyMobDead") < 1) {
		mapannounce "thana_boss","RAWWWWWWWWWWR........ This can't be.........................",bc_map,"0xff0000"; //FW_NORMAL 12 0 0
		donpcevent "#cooltime_thana::OnEnable";
		$@thana_summon = 6;
	}
	end;
}

thana_boss,1,1,0	script	#cooltime_thana	CLEAR_NPC,{
	end;
OnInit:
	$@thana_summon = 0;
	$@thana_summon2 = 0;
	end;
OnEnable:
	initnpctimer;
	end;
OnStop:
	stopnpctimer;
	end;
OnTimer3000:
	mapannounce "thana_boss","Warning!!",bc_map,"0x00ff00"; //FW_NORMAL 12 0 0
	end;
OnTimer6000:
	mapannounce "thana_boss","The seal will re-activate in 30 seconds.",bc_map,"0x00ff00"; //FW_NORMAL 12 0 0
	end;
OnTimer16000:
	mapannounce "thana_boss","20 seconds left...",bc_map,"0x00ff00"; //FW_NORMAL 12 0 0
	end;
OnTimer26000:
	mapannounce "thana_boss","10 seconds left...",bc_map,"0x00ff00"; //FW_NORMAL 12 0 0
	end;
OnTimer31000:
	mapannounce "thana_boss","5 seconds.",bc_map,"0x00ff00"; //FW_NORMAL 12 0 0
	end;
OnTimer32000:
	mapannounce "thana_boss","4 seconds.",bc_map,"0x00ff00"; //FW_NORMAL 12 0 0
	end;
OnTimer33000:
	mapannounce "thana_boss","3 seconds.",bc_map,"0x00ff00"; //FW_NORMAL 12 0 0
	end;
OnTimer34000:
	mapannounce "thana_boss","2 seconds.",bc_map,"0x00ff00"; //FW_NORMAL 12 0 0
	end;
OnTimer35000:
	mapannounce "thana_boss","Time's up!",bc_map,"0xff0000"; //FW_NORMAL 12 0 0
	end;
OnTimer36000:
OnTimer37000:
	mapwarp "thana_boss","tha_t12",130,52;
	end;
OnTimer7200000:
	$@thana_summon = 0;
	$@thana_summon2 = 0;
	donpcevent "Memory Seal#tt1::OnEnable";
	donpcevent "Memory Seal#tt2::OnEnable";
	donpcevent "Memory Seal#tt3::OnEnable";
	donpcevent "Memory Seal#tt4::OnEnable";
	donpcevent "#thanatos_seal::OnEnable";
	stopnpctimer;
	end;
}

tha_scene01,30,30,0	warp	scene	1,1,tha_scene01,131,220
tha_t04,81,36,0	warp	to 5th Floor	1,1,tha_t05,62,8
tha_t06,119,120,0	script	to 7th Floor	WARPNPC,1,1,{
	end;
OnTouch:
	if (eaclass()&(EAJL_2|EAJL_UPPER) || eaclass()&EAJL_THIRD || ((Class == Job_SuperNovice || Class == Job_Taekwon || Class == Job_Star_Gladiator || Class == Job_Soul_Linker || BaseClass == Job_Ninja || Class == Job_Gunslinger) && BaseLevel > 94)) {
		if (countitem(Key_Black) > 0) {
			mes "The shadow of a Black Key is gleaming in the center of the portal.";
			mes "To pass this way, looks like I need something.";
			next;
			mes "The Black Key reacts to the portal and floats in the air.";
			next;
			mes "The key seems to separate into many particles and suddenly collapses into a ball.";
			mes "The barricade is removed through the power from newly formed black magic gem.";
			close2;
			delitem Key_Black,1;
			getitem Magic_Gem_Black,1;
			warp "thana_step",69,369;
			end;
		}
		mes "The shadow of a Black Key is gleaming in the center of the portal.";
		mes "To pass this way, looks like I need something.";
		close;
	}
	mes "A mysterious power is blocking my path.";
	close;
}
