//================= Hercules Script =======================================
//=       _   _                     _
//=      | | | |                   | |
//=      | |_| | ___ _ __ ___ _   _| | ___  ___
//=      |  _  |/ _ \ '__/ __| | | | |/ _ \/ __|
//=      | | | |  __/ | | (__| |_| | |  __/\__ \
//=      \_| |_/\___|_|  \___|\__,_|_|\___||___/
//================= License ===============================================
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
//= Copyright (C) 2012-2015  Hercules Dev Team
//= Copyright (C)  Euphy
//= Copyright (C)  L0ne_W0lf
//= Copyright (C)  Lupus
//= Copyright (C)  Silent
//= Copyright (C)  Evera
//=
//= 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/>.
//=========================================================================
//= Dungeon Teleport Service
//================= Description ===========================================
//= Cool Event Corp (a.k.a. Zonda Corp) vs. Kafra Dungeon Teleport Service
//= and voting system.
//= This is a special event on official servers where there's a big
//= competition between Kafra Corp. and Cool Event Corp. to warp to
//= selected levels of certain dungeons.
//================= Current Version =======================================
//= 2.9
//================= Variables Used ========================================
//= - lhz_vote         : How many times player has voted, keeps htem from
//=                      re-voting.
//= - $DTS_Time        : Voting Time check
//= - $DTS_JondaVotes  : Cool Event Corp. Vote Numbers
//= - $DTS_KafraVotes  : Kafra Vote Numbers
//= - $DTS_Result      : Winner
//= - $DTS_PeriodCheck : Teleport Service Period Check
//= - $DTS_KafraWins   : Kafra Points
//= - $DTS_JondaWins   : Cool Event Corp. Points
//= - $DTS_VoteCount   : Setitem Check
//= For detailed information on what each varibale does, see the
//= "Vote Globalvar Girl#yuno" NPC at the end of the file.
//=========================================================================

einbroch,246,70,0	script	Vote Timer#ein	FAKE_NPC,{
OnInit:
	if ($dts) {
		$dts = 0;
		$dtsvote = 0;
		$dtsday = 0;
	}
	initnpctimer;
	end;

OnEnable:
	initnpctimer;
	end;

OnTimer60000:
	// A part that keeps the same status even after a server shut down
	if ($DTS_Result == 1) {
		if ($DTS_JondaWins == 0) {
			donpcevent "Vote Timer2#ein::OnEnable";
		}
		else if ($DTS_JondaWins == 1) {
			if ($DTS_KafraWins < 2) {
				donpcevent "Vote Timer2#ein::OnEnable";
			}
			else {
				donpcevent "Vote Timer3#ein::OnEnable";
			}
		}
		else {
			if ($DTS_KafraWins < 2) {
				donpcevent "Vote Timer2#ein::OnEnable";
			}
			else {
				donpcevent "Vote Timer3#ein::OnEnable";
			}
		}
		stopnpctimer;
	}
	else if ($DTS_Result == 2) {
		if ($DTS_JondaWins == 0) {
			donpcevent "Vote Timer2#ein::OnEnable";
		}
		else if ($DTS_JondaWins == 1) {
			if ($DTS_KafraWins < 2) {
				donpcevent "Vote Timer2#ein::OnEnable";
			}
			else {
				donpcevent "Vote Timer4#ein::OnEnable";
			}
		}
		else {
			if ($DTS_KafraWins < 2) {
				donpcevent "Vote Timer2#ein::OnEnable";
			}
			else {
				donpcevent "Vote Timer4#ein::OnEnable";
			}
		}
		stopnpctimer;
	}
	else {
		if ($DTS_Time == 1440) {
			if (($DTS_JondaVotes >= 20) || ($DTS_KafraVotes >= 20)) {
				if ($DTS_JondaVotes > $DTS_KafraVotes) {
					if ($DTS_JondaWins == 0) {
						if ($DTS_KafraWins < 2) {
							++$DTS_KafraWins;
							$DTS_Result = 1;
							$DTS_Time = 0;
							donpcevent "Scrutiny Association#6::OnEnable";
							donpcevent "Vote Timer2#ein::OnEnable";
						}
						else if ($DTS_KafraWins == 2) {
							$DTS_Result = 1;
							$DTS_Time = 0;
							donpcevent "Scrutiny Association#6::OnEnable";
							donpcevent "Vote Timer2#ein::OnEnable";
						}
					}
					else if ($DTS_JondaWins == 1) {
						if ($DTS_KafraWins < 2) {
							++$DTS_KafraWins;
							$DTS_Result = 1;
							$DTS_Time = 0;
							donpcevent "Scrutiny Association#6::OnEnable";
							donpcevent "Vote Timer2#ein::OnEnable";
						}
						else {
							$DTS_Time = 0;
							$DTS_Result = 1;
							donpcevent "Scrutiny Association#6::OnEnable";
							donpcevent "Vote Timer3#ein::OnEnable";
						}
					}
					else {
						if ($DTS_KafraWins < 2) {
							++$DTS_KafraWins;
							$DTS_Result = 1;
							$DTS_Time = 0;
							donpcevent "Scrutiny Association#6::OnEnable";
							donpcevent "Vote Timer2#ein::OnEnable";
						}
						else {
							$DTS_Result = 1;
							$DTS_Time = 0;
							donpcevent "Scrutiny Association#6::OnEnable";
							donpcevent "Vote Timer3#ein::OnEnable";
						}
					}
				}
				else {
					if ($DTS_KafraWins == 0) {
						if ($DTS_JondaWins < 2) {
							++$DTS_JondaWins;
							$DTS_Result = 2;
							$DTS_Time = 0;
							donpcevent "Scrutiny Association#7::OnEnable";
							donpcevent "Vote Timer2#ein::OnEnable";
						}
						else {
							$DTS_Result = 2;
							$DTS_Time = 0;
							donpcevent "Scrutiny Association#7::OnEnable";
							donpcevent "Vote Timer2#ein::OnEnable";
						}
					}
					else if ($DTS_KafraWins == 1) {
						if ($DTS_JondaWins < 2) {
							++$DTS_JondaWins;
							$DTS_Result = 2;
							$DTS_Time = 0;
							donpcevent "Scrutiny Association#7::OnEnable";
							donpcevent "Vote Timer2#ein::OnEnable";
						}
						else {
							$DTS_Result = 2;
							$DTS_Time = 0;
							donpcevent "Scrutiny Association#7::OnEnable";
							donpcevent "Vote Timer4#ein::OnEnable";
						}
					}
					else {
						if ($DTS_JondaWins < 2) {
							++$DTS_JondaWins;
							$DTS_Result = 2;
							$DTS_Time = 0;
							donpcevent "Scrutiny Association#7::OnEnable";
							donpcevent "Vote Timer2#ein::OnEnable";
						}
						else {
							$DTS_Result = 2;
							$DTS_Time = 0;
							donpcevent "Scrutiny Association#7::OnEnable";
							donpcevent "Vote Timer4#ein::OnEnable";
						}
					}
				}
			}
			else {
				$DTS_Result = 3;
				$DTS_Time = 0;
				donpcevent "Vote Timer#ein::OnEnable";
			}
		}
		else {
			++$DTS_Time;
			donpcevent "Vote Timer#ein::OnEnable";
		}
	}
	end;
}

einbroch,245,71,0	script	Vote Timer2#ein	FAKE_NPC,{
OnEnable:
	initnpctimer;
	end;

OnTimer60000:
	stopnpctimer;
	if ($DTS_PeriodCheck == 8640) {
		$DTS_PeriodCheck = 0;
		$DTS_Result = 0;
		$DTS_KafraVotes = 0;
		$DTS_JondaVotes = 0;
		++$DTS_VoteCount;
		donpcevent "Vote Timer#ein::OnEnable";
	} else {
		++$DTS_PeriodCheck;
		donpcevent "Vote Timer2#ein::OnEnable";
	}
	end;
}

einbroch,246,71,0	script	Vote Timer3#ein	FAKE_NPC,{
OnEnable:
	initnpctimer;
	end;

OnTimer60000:
	stopnpctimer;
	if ($DTS_PeriodCheck == 8640) {
		$DTS_PeriodCheck = 0; //Global Variable
		$DTS_Result = 0; //Global Variable
		$DTS_KafraVotes = 0; //Global Variable
		$DTS_JondaVotes = 0; //Global Variable
		--$DTS_JondaWins;
		++$DTS_VoteCount;
		donpcevent "Vote Timer#ein::OnEnable";
	} else {
		++$DTS_PeriodCheck; //Global Variable
		donpcevent "Vote Timer3#ein::OnEnable";
	}
	end;
}

einbroch,247,71,0	script	Vote Timer4#ein	FAKE_NPC,{
OnEnable:
	initnpctimer;
	end;

OnTimer60000:
	stopnpctimer;
	if ($DTS_PeriodCheck == 8640) {
		$DTS_PeriodCheck = 0; //Global Variable
		$DTS_Result = 0; //Global Variable
		$DTS_KafraVotes = 0; //Global Variable
		$DTS_JondaVotes = 0; //Global Variable
		--$DTS_KafraWins;
		++$DTS_VoteCount;
		donpcevent "Vote Timer#ein::OnEnable";
	} else {
		++$DTS_PeriodCheck; //Global Variable
		donpcevent "Vote Timer4#ein::OnEnable";
	}
	end;
}

//== Voting Poll NPCs Kafras and Cool Corp. ================
// Cool Event Staff should actually be Cool Event Voting Staff names had to be
// shortened to keep them unique.
function	script	F_VoteKafra	{
	callfunc "F_ClearGarbage";				//Clear outdated, unused variables
	switch(getarg(0)){
	case 1: cutin "kafra_01",2; break;
	case 2: cutin "kafra_02",2; break;
	case 3: cutin "kafra_03",2; break;
	case 4: cutin "kafra_04",2; break;
	case 5: cutin "kafra_05",2; break;
	case 6: cutin "kafra_06",2; break;
	case 7: cutin "kafra_07",2; break;
	case 8: cutin "kafra_08",2; break;
	case 9: cutin "kafra_09",2; break;
	}
	mes "[Kafra Voting Staff]";
	mes "Greetings, adventurer.";
	mes "As you may be aware, we";
	mes "are holding an election to";
	mes "determine which company will";
	mes "provide the Dungeon Teleport";
	mes "Service. How may I help you?";
	next;
	switch(select("Reason for Election", "Cast a Vote", "Use Teleport Service", "Cancel")) {
	case 1:
		mes "[Kafra Voting Staff]";
		mes "Cool Event Corp and the";
		mes "Kafra Corporation have both";
		mes "been planning to provide a";
		mes "Teleport Service to dungeons.";
		next;
		mes "[Kafra Voting Staff]";
		mes "But due to technological";
		mes "limitations, only one company";
		mes "can serve as provider for this";
		mes "Dungeon Teleport Service at a";
		mes "time. There, both companies have agreed to hold special elections.";
		next;
		mes "[Kafra Voting Staff]";
		mes "Each company has its own";
		mes "policies and guarantees in";
		mes "regards to the Dungeon Teleport Service, and in this election, the";
		mes "customers will ultimately decide and choose what's best for them.";
		next;
		mes "[Kafra Voting Staff]";
		mes "For now, the Dungeon";
		mes "Teleport Service will be";
		mes "provided in a series of trial periods. This way, customers can";
		mes "see the benefits of both companies before making the final decision.";
		next;
		mes "[Kafra Voting Staff]";
		mes "If you are qualified,";
		mes "please vote in each election";
		mes "to decide which company will";
		mes "provide the Dungeon Teleport";
		mes "Service for the next trial period. Thank you for your support~";
		break;
	case 2:
		//if (lhz_boss < 17) {
		//	mes "[Kafra Voting Staff]";
		//	mes "Oh, I'm so sorry, but you";
		//	mes "are currently not qualified to";
		//	mes "vote. For voting qualification";
		//	mes "information, please visit the";
		//	mes "Al De Baran Kafra Headquarters.";
		//	mes "Thank you and have a nice day.";
		//	close2;
		//	cutin "",255;
		//	end;
		//}
		//else {
			if ($DTS_Result == 0) {
				if (lhz_vote <= $DTS_VoteCount) {
					mes "[Kafra Voting Staff]";
					mes "We, the Kafra Corporation,";
					mes "are planning to provide the";
					mes "Dungeon Teleport Service";
					mes "to the following dungeons...";
					next;
					mes " ";
					mes " ";
					if ($DTS_KafraWins == 0) {
						mes "^FF0000Toy Factory, Level 2^000000";
					}
					else if ($DTS_KafraWins == 1) {
						mes "^FF0000Toy Factory, Level 2^000000";
						mes "^FF0000Al De Baran Clock Tower, Level 3 ^000000";
					}
					else {
						mes "^FF0000Toy Factory, Level 2^000000";
						mes "^FF0000Al De Baran Clock Tower, Level 3 Lava Dungeon, Level 2^000000";
					}
					next;
					mes "[Kafra Voting Staff]";
					mes "If you are interested in";
					mes "a Teleport Service to this";
					mes "area, then please vote for";
					mes "us. Would you like to vote";
					mes "for the Kafra Corporation?";
					next;
					switch(select("No", "Yes")) {
					case 1:
						mes "[Kafra Voting Staff]";
						mes "I understand. But if you";
						mes "happen to change your mind,";
						mes "you are welcome to come back";
						mes "at any time. Thank you and";
						mes "have a good day, adventurer.";
						break;
					case 2:
						lhz_vote = $DTS_VoteCount+1;
						++$DTS_KafraVotes;
						mes "[Kafra Voting Staff]";
						mes "Thanks for your vote!";
						mes "We'll continue to do our best";
						mes "to provide the highest quality";
						mes "service to our customers. Have";
						mes "a good day and remember that the Kafra service is on your side~";
						break;
					}
				}
				else {
					mes "[Kafra Voting Staff]";
					mes "I'm sorry, but you've ";
					mes "already participated in";
					mes "this election. When the next";
					mes "election comes, you will be";
					mes "able to vote once again.";
					mes "Thank you for your support~";
				}
			}
			else if ($DTS_Result == 3) {
				if (lhz_vote <= $DTS_VoteCount) {
					mes "[Kafra Voting Staff]";
					mes "After totalling the number of";
					mes "votes from the last election,";
					mes "we have concluded that the";
					mes "minimum voter participation";
					mes "condition was not satisfied.";
					next;
					mes "[Kafra Voting Staff]";
					mes "Therefore, another election to";
					mes "determine which company will";
					mes "provide the Dungeon Teleport";
					mes "Service will be held. The Kafra";
					mes "Corporation will teleport to";
					mes "the following dungeons...";
					next;
					mes " ";
					mes " ";
					if ($DTS_KafraWins == 0) {
						mes "^FF0000Toy Factory, Level 2^000000";
					}
					else if ($DTS_KafraWins == 1) {
						mes "^FF0000Toy Factory, Level 2^000000";
						mes "^FF0000Al De Baran Clock Tower, Level 3 ^000000";
					}
					else {
						mes "^FF0000Toy Factory, Level 2^000000";
						mes "^FF0000Al De Baran Clock Tower, Level 3 Lava Dungeon, Level 2^000000";
					}
					next;
					mes "[Kafra Voting Staff]";
					mes "If you are interested in";
					mes "a Teleport Service to these";
					mes "areas, then please vote for";
					mes "us. Would you like to vote";
					mes "for the Kafra Corporation?";
					next;
					switch(select("No", "Yes")) {
					case 1:
						mes "[Kafra Voting Staff]";
						mes "I understand. But if you";
						mes "happen to change your mind,";
						mes "you are welcome to come back";
						mes "at any time. Thank you and";
						mes "have a good day, adventurer.";
						break;
					case 2:
						lhz_vote = $DTS_VoteCount+1;
						++$DTS_KafraVotes;
						mes "[Kafra Voting Staff]";
						mes "Thanks for your vote!";
						mes "We'll continue to do our best";
						mes "to provide the highest quality";
						mes "service to our customers. Have";
						mes "a good day and remember that the Kafra service is on your side~";
						break;
					}
				}
				else {
					mes "[Kafra Voting Staff]";
					mes "After totalling the number of";
					mes "votes from the last election,";
					mes "we have concluded that the";
					mes "minimum voter participation";
					mes "condition was not satisfied.";
					next;
					mes "[Kafra Voting Staff]";
					mes "Therefore, another election to";
					mes "determine which company will";
					mes "provide the Dungeon Teleport";
					mes "Service will be held. However,";
					mes "since you've already voted, you cannot vote again in this election.";
					next;
					mes "[Kafra Voting Staff]";
					mes "Your participation in these";
					mes "elections is much appreciated,";
					mes "and we encourage you to vote";
					mes "again during the next election.";
					mes "Thank you and have a nice day~";
				}
			}
			else {
				mes "[Kafra Voting Staff]";
				mes "I'm sorry, but there are";
				mes "no elections taking place at";
				mes "this time. When the polls are";
				mes "open, we encourage you to take";
				mes "part and voice your opinions.";
				mes "Thank you for your support~";
			}
		//}
		break;
	case 3:
		if ($DTS_Result == 2) {
			mes "[Kafra Voting Staff]";
			mes "Thank you for choosing the";
			mes "Dungeon Teleport Service.";
			mes "Please keep in mind that the";
			mes "Free Warp Tickets and Kafra";
			mes "Special Reserve Points do not";
			mes "apply in this special service.";
			next;
			if ($DTS_KafraWins == 0) {
				switch(select("Toy Factory, Level 2 -> 4,000 z", "Cancel")) {
				case 1:
					if (Zeny >= 4000) {
						cutin "",255;
						Zeny -= 4000;
						warp "xmas_dun02",130,123;
						end;
					}
					else {
						mes "[Kafra Voting Staff]";
						mes "I'm sorry, but you don't";
						mes "have enough money to pay";
						mes "the 4,000 zeny fee to teleport";
						mes "to the Toy Factory. Please";
						mes "check your funds again.";
					}
					break;
				case 2:
					mes "[Kafra Voting Staff]";
					mes "We, here at Kafra Corporation,";
					mes "are always endeavoring to provide you with the best services. We hope that we meet your adventuring needs and standards of excellence.";
					break;
				}
			}
			else if ($DTS_KafraWins == 1) {
				switch(select("Toy Factory, Level 2 -> 4,000 z", "Clock Tower, Level 3 -> 4,000 z", "Cancel")) {
				case 1:
					if (Zeny >= 4000) {
						Zeny -= 4000;
						cutin "kafra_09",255;
						warp "xmas_dun02",130,123;
						end;
					}
					else {
						mes "[Kafra Voting Staff]";
						mes "I'm sorry, but you don't";
						mes "have enough money to pay";
						mes "the 4,000 zeny fee to teleport";
						mes "to the Toy Factory. Please";
						mes "check your funds again.";
					}
					break;
				case 2:
					if (Zeny >= 4000) {
						Zeny -= 4000;
						cutin "kafra_09",255;
						warp "alde_dun03",265,22;
						end;
					}
					else {
						mes "[Kafra Voting Staff]";
						mes "I'm sorry, but you don't";
						mes "have enough money to pay";
						mes "the 4,000 zeny fee to teleport";
						mes "to the Clock Tower. Please";
						mes "check your funds again.";
					}
					break;
				case 3:
					mes "[Kafra Voting Staff]";
					mes "We, here at Kafra Corporation,";
					mes "are always endeavoring to provide you with the best services. We hope that we meet your adventuring needs and standards of excellence.";
					break;
				}
			}
			else {
				switch(select("Toy Factory, Level 2 -> 4,000 z", "Clock Tower, Level 3 -> 4,000 z", "Lava Dungeon, Level 2 -> 4,000 z", "Cancel")) {
				case 1:
					if (Zeny >= 4000) {
						Zeny -= 4000;
						cutin "kafra_09",255;
						warp "xmas_dun02",130,123;
						end;
					}
					else {
						mes "[Kafra Voting Staff]";
						mes "I'm sorry, but you don't";
						mes "have enough money to pay";
						mes "the 4,000 zeny fee to teleport";
						mes "to the Toy Factory. Please";
						mes "check your funds again.";
					}
					break;
				case 2:
					if (Zeny >= 4000) {
						Zeny -= 4000;
						cutin "kafra_09",255;
						warp "alde_dun03",265,22;
						end;
					}
					else {
						mes "[Kafra Voting Staff]";
						mes "I'm sorry, but you don't";
						mes "have enough money to pay";
						mes "the 4,000 zeny fee to teleport";
						mes "to the Clock Tower. Please";
						mes "check your funds again.";
					}
					break;
				case 3:
					if (Zeny >= 4000) {
						Zeny -= 4000;
						cutin "kafra_09",255;
						warp "mag_dun02",47,40;
						end;
					}
					else {
						mes "[Kafra Voting Staff]";
						mes "I'm sorry, but you don't";
						mes "have enough money to pay";
						mes "the 4,000 zeny fee to teleport";
						mes "to the Lava Dungeon. Please";
						mes "check your funds again.";
					}
					break;
				case 4:
					mes "[Kafra Voting Staff]";
					mes "We, here at Kafra Corporation,";
					mes "are always endeavoring to provide you with the best services. We hope that we meet your adventuring needs and standards of excellence.";
					break;
				}
			}
		}
		else if ($DTS_Result == 1) {
			mes "[Kafra Voting Staff]";
			mes "I'm sorry, but because of";
			mes "the results from the most";
			mes "recent election, Cool Event";
			mes "Corp. is currently handling";
			mes "the Dungeon Teleport Service. We apologize for the inconvenience.";
		}
		else {
			mes "[Kafra Voting Staff]";
			mes "I'm sorry, but the";
			mes "Dungeon Teleport Service";
			mes "is not active during the voting";
			mes "period. Once the election is";
			mes "over, the Dungeon Teleport";
			mes "Service will become available.";
		}
		break;
	case 4:
		mes "[Kafra Voting Staff]";
		mes "We, here at Kafra Corporation,";
		mes "are always endeavoring to provide you with the best services. We hope that we meet your adventuring needs and standards of excellence.";
		break;
	}
	close2;
	cutin "",255;
	end;
}

yuno,162,191,4	script	Kafra Voting Staff#yuno	4_F_KAFRA9,{
	callfunc "F_VoteKafra",9;
}
prontera,164,125,4	script	Kafra Voting Staff#prt	4_F_KAFRA2,{
	callfunc "F_VoteKafra",2;
}
moc_ruins,97,133,4	script	Kafra Voting Staff#moc	4_F_KAFRA2,{
	callfunc "F_VoteKafra",2;
}
geffen,122,37,4	script	Kafra Voting Staff#gef	4_F_KAFRA2,{
	callfunc "F_VoteKafra",2;
}
payon,158,182,4	script	Kafra Voting Staff#pay	4_F_KAFRA2,{
	callfunc "F_VoteKafra",2;
}
alberta,119,70,4	script	Kafra Voting Staff#alb	4_F_KAFRA2,{
	callfunc "F_VoteKafra",2;
}
aldebaran,145,102,4	script	Kafra Voting Staff#alde	4_F_KAFRA2,{
	callfunc "F_VoteKafra",2;
}
lighthalzen,163,60,4	script	Kafra Voting Staff#lght	4_F_KAFRA9,{
	callfunc "F_VoteKafra",9;
}

-	script	Cool Event Staff::VotingStaffCCE	4_M_ZONDAMAN,{
	callfunc "F_ClearGarbage";				//Clear outdated, unused variables
	cutin "zonda_01",2;
	mes "[Cool Event Corp. Voting Staff]";
	mes "Hello! Don't forget to make";
	mes "your voice be heard and make";
	mes "sure you vote in the elections";
	mes "between Cool Event Corp. and";
	mes "Kafra Corporation for control of the Dungeon Teleport Service!";
	next;
	switch(select("Reason for Election", "Cast a Vote", "Use Teleport Service", "Cancel")) {
	case 1:
		mes "[Cool Event Corp. Voting Staff]";
		mes "Cool Event Corp. has been";
		mes "planning to provide a new";
		mes "Dungeon Teleport Service to";
		mes "its customers, a service not";
		mes "already provided by the Kafra";
		mes "Corporation. However...";
		next;
		mes "[Cool Event Corp. Voting Staff]";
		mes "Kafra Corporation, which";
		mes "already monopolizes the";
		mes "public teleportation market,";
		mes "actually also had plans to";
		mes "provide a similar service.";
		next;
		mes "[Cool Event Corp. Voting Staff]";
		mes "Because of technological";
		mes "limitations, only one company";
		mes "can be chosen as the provider";
		mes "of this Dungeon Teleport Service. Hence, we will let the customers";
		mes "decide through these elections.";
		next;
		mes "[Cool Event Corp. Voting Staff]";
		mes "Multiple elections will be";
		mes "held so that our customers";
		mes "can test out the special services of each company for themselves.";
		mes "However, keep in mind that you must be eligible in order to vote.";
		next;
		mes "[Cool Event Corp. Voting Staff]";
		mes "For voter eligibility";
		mes "details, please visit our";
		mes "headquarters in the city of";
		mes "Lighthalzen located in the";
		mes "Schwaltzvalt Republic.";
		mes "Thank you for your time.";
		break;
	case 2:
		//if (lhz_boss < 17) {
		//	mes "[Cool Event Corp. Voting Staff]";
		//	mes "I'm sorry, but you are not";
		//	mes "eligible to vote at this time.";
		//	mes "Please visit our headquarters";
		//	mes "in Lighthalzen for information";
		//	mes "related to acquiring voting rights. Thank you for your time.";
		//	close2;
		//	cutin "zonda_01",255;
		//	end;
		//}
		//else {
			if ($DTS_Result == 0) {
				if (lhz_vote <= $DTS_VoteCount) {
					mes "[Cool Event Corp. Voting Staff]";
					mes "Cool Event Corp.,";
					mes "if chosen to provide the";
					mes "Dungeon Teleport Service,";
					mes "will teleport adventurers to";
					mes "the following dungeons...";
					next;
					mes " ";
					mes " ";
					if ($DTS_JondaWins == 0) {
						mes "^FF0000Byalan Dungeon, Level 3^000000";
					}
					else if ($DTS_JondaWins == 1) {
						mes "^FF0000Byalan Dungeon, Level 3^000000";
						mes "^FF0000Clock Tower, 3rd Floor^000000";
					}
					else {
						mes "^FF0000Byalan Dungeon, Level 3^000000";
						mes "^FF0000Clock Tower, 3rd Floor^000000";
						mes "^FF0000Glast Heim Entrance^000000";
					}
					next;
					mes "[Cool Event Corp. Voting Staff]";
					mes "If you are interested in";
					mes "these destinations, then";
					mes "it would be in your best";
					mes "interest to vote for us.";
					mes "Would you like to vote";
					mes "for Cool Event Corp.?";
					next;
					switch(select("No", "Yes")) {
					case 1:
						mes "[Cool Event Corp. Voting Staff]";
						mes "Ah, I see... Well, if you";
						mes "happen to change your mind,";
						mes "feel free to come back and";
						mes "cast your vote for Cool Event";
						mes "Corp, alright? Have a nice day~";
						break;
					case 2:
						lhz_vote = $DTS_VoteCount+1;
						++$DTS_JondaVotes;
						mes "[Cool Event Corp. Voting Staff]";
						mes "Thank you for your vote!";
						mes "It's customers like you who";
						mes "ensure the success and great";
						mes "service that you have come to";
						mes "expect from Cool Event Corp.";
						mes "Thank you and have a nice day~";
						break;
					}
				}
				else {
					mes "[Cool Event Corp. Voting Staff]";
					mes "I'm sorry, but you've";
					mes "already cast your vote";
					mes "in this election. However,";
					mes "please don't let that stop you";
					mes "from voting for Cool Event";
					mes "Corp. in the next election~";
				}
			}
			else if ($DTS_Result == 3) {
				if (lhz_vote <= $DTS_VoteCount) {
					mes "[Cool Event Corp. Voting Staff]";
					mes "Unfortunately, there wasn't";
					mes "enough voter turnout in the";
					mes "last election, so we're holding";
					mes "another election to determine";
					mes "which company will provide the";
					mes "Dungeon Teleport Service.";
					next;
					mes "[Cool Event Corp. Voting Staff]";
					mes "Cool Event Corp.,";
					mes "if chosen to provide the";
					mes "Dungeon Teleport Service,";
					mes "will teleport adventurers to";
					mes "the following dungeons...";
					next;
					mes " ";
					mes " ";
					if ($DTS_JondaWins == 0) {
						mes "^FF0000Byalan Dungeon, Level 3^000000";
					}
					else if ($DTS_JondaWins == 1) {
						mes "^FF0000Byalan Dungeon, Level 3^000000";
						mes "^FF0000Clock Tower, 3rd Floor^000000";
					}
					else {
						mes "^FF0000Byalan Dungeon, Level 3^000000";
						mes "^FF0000Clock Tower, 3rd Floor^000000";
						mes "^FF0000Glast Heim Entrance^000000";
					}
					next;
					mes "[Cool Event Corp. Voting Staff]";
					mes "If you are interested in";
					mes "these destinations, then";
					mes "it would be in your best";
					mes "interest to vote for us.";
					mes "Would you like to vote";
					mes "for Cool Event Corp.?";
					next;
					switch(select("No", "Yes")) {
					case 1:
						mes "[Cool Event Corp. Voting Staff]";
						mes "Ah, I see... Well, if you";
						mes "happen to change your mind,";
						mes "feel free to come back and";
						mes "cast your vote for Cool Event";
						mes "Corp, alright? Have a nice day~";
						break;
					case 2:
						lhz_vote = $DTS_VoteCount+1;
						++$DTS_JondaVotes;
						mes "[Cool Event Corp. Voting Staff]";
						mes "Thank you for your vote!";
						mes "It's customers like you who";
						mes "ensure the success and great";
						mes "service that you have come to";
						mes "expect from Cool Event Corp.";
						mes "Thank you and have a nice day~";
						break;
					}
				}
				else {
					mes "[Cool Event Corp. Voting Staff]";
					mes "Unfortunately, there wasn't";
					mes "enough voter turnout in the";
					mes "last election, so we're holding";
					mes "another election to determine";
					mes "which company will provide the";
					mes "Dungeon Teleport Service.";
					next;
					mes "[Cool Event Corp. Voting Staff]";
					mes "We appreciate that";
					mes "you've already participated";
					mes "in this second election by";
					mes "casting your vote. Thank";
					mes "you for your support~";
				}
			}
			else {
				mes "[Cool Event Corp. Voting Staff]";
				mes "I'm sorry, but an election is";
				mes "not currently being held at this time. Please come and cast your";
				mes "vote at the next election to decide which company will provide the";
				mes "Dungeon Teleport Service.";
			}
		//}
		break;
	case 3:
		if ($DTS_Result == 1) {
			mes "[Cool Event Corp. Voting Staff]";
			mes "Please remember that we";
			mes "cannot accept Free Warp Tickets";
			mes "or award Special Reserve Points";
			mes "for this service. Now, please";
			mes "choose your destination.";
			next;
			if ($DTS_JondaWins == 0) {
				switch(select("Byalan Dungeon, Level 3 -> 4,000 z", "Cancel")) {
				case 1:
					if (Zeny >= 4000) {
						Zeny -= 4000;
						cutin "zonda_01",255;
						warp "iz_dun02",234,206;
						end;
					}
					else {
						mes "[Cool Event Corp. Voting Staff]";
						mes "I'm sorry, but you do";
						mes "not have enough zeny to";
						mes "teleport to this destination.";
						mes "The teleport fee is 4,000 zeny.";
					}
					break;
				case 2:
					mes "[Cool Event Corp. Voting Staff]";
					mes "Always be assured that";
					mes "Cool Event Corp. will do";
					mes "everything in its power to";
					mes "ensure the satisfaction of";
					mes "its customers, young and old";
					mes "and big and small. Thank you~";
					break;
				}
			}
			else if ($DTS_JondaWins == 1) {
				switch(select("Byalan Dungeon, Level 3 -> 4,000 z", "Clock Tower, 3rd Floor -> 4,000 z", "Cancel")) {
				case 1:
					if (Zeny >= 4000) {
						Zeny -= 4000;
						cutin "zonda_01",255;
						warp "iz_dun02",234,206;
						end;
					}
					else {
						mes "[Cool Event Corp. Voting Staff]";
						mes "I'm sorry, but you do";
						mes "not have enough zeny to";
						mes "teleport to this destination.";
						mes "The teleport fee is 4,000 zeny.";
					}
					break;
				case 2:
					if (Zeny >= 4000) {
						Zeny -= 4000;
						cutin "zonda_01",255;
						warp "c_tower3",64,143;
						end;
					}
					else {
						mes "[Cool Event Corp. Voting Staff]";
						mes "I'm sorry, but you do";
						mes "not have enough zeny to";
						mes "teleport to this destination.";
						mes "The teleport fee is 4,000 zeny.";
					}
					break;
				case 3:
					mes "[Cool Event Corp. Voting Staff]";
					mes "Always be assured that";
					mes "Cool Event Corp. will do";
					mes "everything in its power to";
					mes "ensure the satisfaction of";
					mes "its customers, young and old";
					mes "and big and small. Thank you~";
					break;
				}
			}
			else {
				mes "[Cool Event Corp. Voting Staff]";
				mes "Please remember that we";
				mes "cannot accept Free Warp Tickets";
				mes "or award Special Reserve Points";
				mes "for this service. Now, please";
				mes "choose your destination.";
				next;
				switch(select("Byalan Dungeon, Level 3 -> 4,000 z", "Clock Tower, 3rd Floor -> 4,000 z", "Glast Heim Entrance -> 4,000 z", "Cancel")) {
				case 1:
					if (Zeny >= 4000) {
						Zeny -= 4000;
						cutin "zonda_01",255;
						warp "iz_dun02",234,206;
						end;
					}
					else {
						mes "[Cool Event Corp. Voting Staff]";
						mes "I'm sorry, but you do";
						mes "not have enough zeny to";
						mes "teleport to this destination.";
						mes "The teleport fee is 4,000 zeny.";
					}
					break;
				case 2:
					if (Zeny >= 4000) {
						Zeny -= 4000;
						cutin "zonda_01",255;
						warp "c_tower3",64,143;
						end;
					}
					else {
						mes "[Cool Event Corp. Voting Staff]";
						mes "I'm sorry, but you do";
						mes "not have enough zeny to";
						mes "teleport to this destination.";
						mes "The teleport fee is 4,000 zeny.";
					}
					break;
				case 3:
					if (Zeny >= 4000) {
						Zeny -= 4000;
						cutin "zonda_01",255;
						warp "glast_01",368,303;
						end;
					}
					else {
						mes "[Cool Event Corp. Voting Staff]";
						mes "I'm sorry, but you do";
						mes "not have enough zeny to";
						mes "teleport to this destination.";
						mes "The teleport fee is 4,000 zeny.";
					}
					break;
				case 4:
					mes "[Cool Event Corp. Voting Staff]";
					mes "Always be assured that";
					mes "Cool Event Corp. will do";
					mes "everything in its power to";
					mes "ensure the satisfaction of";
					mes "its customers, young and old";
					mes "and big and small. Thank you~";
					break;
				}
			}
		}
		else if ($DTS_Result == 2) {
			mes "[Cool Event Corp. Voting Staff]";
			mes "I'm sorry, but Cool Event";
			mes "Corp. does not currently offer";
			mes "the Dungeon Teleport Service";
			mes "due to the results of the last";
			mes "election. Please vote for us";
			mes "next time, alright? Good day~";
		}
		else {
			mes "[Cool Event Corp. Voting Staff]";
			mes "I'm sorry, but the";
			mes "Dungeon Teleport Service is";
			mes "unavailable during elections";
			mes "and will be reactivated after the election results are announced.";
			mes "Thank you and have a nice day.";
		}
		break;
	case 4:
		mes "[Cool Event Corp. Voting Staff]";
		mes "Cool Event Corp. is always";
		mes "working to make sure that";
		mes "not only are our customers";
		mes "satisfied, but that we also";
		mes "exceed your utmost standards.";
		mes "Thank you and have a good day.";
		break;
	}
	close2;
	cutin "zonda_01",255;
	end;
}

yuno,153,191,6	duplicate(VotingStaffCCE)	Cool Event Staff#yuno	4_M_ZONDAMAN
prontera,147,125,6	duplicate(VotingStaffCCE)	Cool Event Staff#prt	4_M_ZONDAMAN
moc_ruins,104,133,6	duplicate(VotingStaffCCE)	Cool Event Staff#moc	4_M_ZONDAMAN
geffen,117,37,6	duplicate(VotingStaffCCE)	Cool Event Staff#gef	4_M_ZONDAMAN
payon,153,182,6	duplicate(VotingStaffCCE)	Cool Event Staff#pay	4_M_ZONDAMAN
alberta,114,70,6	duplicate(VotingStaffCCE)	Cool Event Staff#alb	4_M_ZONDAMAN
aldebaran,138,102,6	duplicate(VotingStaffCCE)	Cool Event Staff#alde	4_M_ZONDAMAN
lighthalzen,154,60,6	duplicate(VotingStaffCCE)	Cool Event Staff#lhz	4_M_ZONDAMAN

yuno,103,225,0	script	Scrutiny Association#5	FAKE_NPC,{
OnInit:
	initnpctimer;
	end;

OnEnable:
	initnpctimer;
	end;

OnTimer7200000:
	stopnpctimer;
	if (($DTS_Result == 0) || ($DTS_Result == 3)) {
		announce "Currently, the Dungeon Teleport Service Provider Election is being held in all major cities. Your participation is appreciated.",bc_all,"0x70dbdb";
	}
	donpcevent "Scrutiny Association#5::OnEnable";
	end;
}

einbroch,248,71,0	script	Scrutiny Association#6	FAKE_NPC,{
OnEnable:
	initnpctimer;
	end;

OnTimer1000:
	announce "All the votes for the Dungeon Teleport Service Provider Election have been received and counted.",bc_all,"0x70dbdb";
	end;

OnTimer5000:
	announce "The results are now in...",bc_all,"0x70dbdb";
	end;

OnTimer10000:
	announce "This time, Cool Event Corp. will be the Dungeon Teleport Service Provider.",bc_all,"0x70dbdb";
	end;

OnTimer15000:
	announce "Many thanks to all of you who have voted and shown your support.",bc_all,"0x70dbdb";
	stopnpctimer;
	end;
}

einbroch,249,71,0	script	Scrutiny Association#7	FAKE_NPC,{
OnEnable:
	initnpctimer;
	end;

OnTimer1000:
	announce "All the votes for the Dungeon Teleport Service Provider Election have been received and counted.",bc_all,"0x70dbdb";
	end;

OnTimer5000:
	announce "The results are now in...",bc_all,"0x70dbdb";
	end;

OnTimer10000:
	announce "This time, Kafra Corporation will be the Dungeon Teleport Service Provider.",bc_all,"0x70dbdb";
	end;

OnTimer15000:
	announce "Many thanks to all of you who have voted and shown your support.",bc_all,"0x70dbdb";
	stopnpctimer;
	end;
}

/*
// GM only NPC used for modifying values related to the DTS system.
// Disabled in official script.
sec_in02,17,160,4	script	Vote Globalvar Girl#yuno	4_F_OPERATION,{
	callfunc "F_GM_NPC";
	mes "[Christy's Maid]";
	mes "Lady Christy!";
	next;
	if (callfunc("F_GM_NPC",1854,0) == 1) {
		mes "[Christy's Maid]";
		mes "I am Lady Christy's Maid.";
		next;
		switch(select("Globalvar Check", "Setitem Zero", "Change Glbalvar")) {
		case 1:
			mes "Current GlobalVar are";
			next;
			mes "[Christy's Maid]";
			mes "Global 1 - Voting Time check : "+$DTS_Time+"";
			mes "Global 2 - Cool Event Corp. Vote Numbers : "+$DTS_JondaVotes+"";
			mes "Global 3 - Kafra Vote Numbers : "+$DTS_KafraVotes+"";
			mes "Global 4 - Winner : "+$DTS_Result+"";
			mes "Global 5 - Teleport Service Period Check: "+$DTS_PeriodCheck+"";
			mes "Global 6 - Kafra Points : "+$DTS_KafraWins+"";
			mes "Global 7 - Cool Event Corp. Points : "+$DTS_JondaWins+"";
			mes "Global 8 - Setitem Check : "+$DTS_VoteCount+"";
			next;
			mes "[Christy's Maid]";
			mes "Current Setitem value is "+lhz_vote+".";
			close;
		case 2:
			lhz_vote = 0;
			close;
		case 3:
			mes "[Christy's Maid]";
			mes "Which Globalvar value would you like to change?";
			next;
			switch(select("1 - Voting Time", "2 - Cool Event Corp. Vote Numbers", "3 - Kafra Vote Numbers", "4 - Winner", "5 - Teleport Service Period", "6 - Kafra Warp Number", "7 - Cool Event Corp. Warp Number", "8 - Setitem Value")) {
			case 1:
				mes "[Christy's Maid]";
				mes "Please enter a number among 0 and 1000.";
				next;
				input .@input;
				if ((.@input < 0) || (.@input > 1000)) {
					mes "[Christy's Maid]";
					mes "The value is incorrect.";
					close;
				}
				$DTS_Time = .@input;
				mes "[Christy's Maid]";
				mes "The value has been modified.";
				close;
			case 2:
				mes "[Christy's Maid]";
				mes "Please enter a number among 0 and 1000.";
				next;
				input .@input;
				if ((.@input < 0) || (.@input > 1000)) {
					mes "[Christy's Maid]";
					mes "The value is incorrect.";
					close;
				}
				$DTS_JondaVotes = .@input;
				mes "[Christy's Maid]";
				mes "The value has been modified.";
				close;
			case 3:
				mes "[Christy's Maid]";
				mes "Please enter a number among 0 and 1000.";
				next;
				input .@input;
				if ((.@input < 0) || (.@input > 1000)) {
					mes "[Christy's Maid]";
					mes "The value is incorrect.";
					close;
				}
				$DTS_KafraVotes = .@input;
				mes "[Christy's Maid]";
				mes "The value has been modified.";
				close;
			case 4:
				mes "[Christy's Maid]";
				mes "Please enter a number among 0 and 3.";
				next;
				input .@input;
				if ((.@input < 0) || (.@input > 3)) {
					mes "[Christy's Maid]";
					mes "The value is incorrect.";
					close;
				}
				$DTS_Result = .@input;
				mes "[Christy's Maid]";
				mes "The value has been modified.";
				close;
			case 5:
				mes "[Christy's Maid]";
				mes "Please enter a number among 0 and 1000.";
				next;
				input .@input;
				if ((.@input < 0) || (.@input > 1000)) {
					mes "[Christy's Maid]";
					mes "The value is incorrect.";
					close;
				}
				$DTS_PeriodCheck = .@input;
				mes "[Christy's Maid]";
				mes "The value has been modified.";
				close;
			case 6:
				mes "[Christy's Maid]";
				mes "Please enter a number among 0 and 2.";
				next;
				input .@input;
				if ((.@input < 0) || (.@input > 2)) {
					mes "[Christy's Maid]";
					mes "The value is incorrect.";
					close;
				}
				$DTS_KafraWins = .@input;
				mes "[Christy's Maid]";
				mes "The value has been modified.";
				close;
			case 7:
				mes "[Christy's Maid]";
				mes "Please enter a number among 0 and 2.";
				next;
				input .@input;
				if ((.@input < 0) || (.@input > 2)) {
					mes "[Christy's Maid]";
					mes "The value is incorrect.";
					close;
				}
				$DTS_JondaWins = .@input;
				mes "[Christy's Maid]";
				mes "The value has been modified.";
				close;
			case 8:
				mes "[Christy's Maid]";
				mes "Please enter a number among 0 and 10000.";
				next;
				input .@input;
				if ((.@input < 0) || (.@input > 10000)) {
					mes "[Christy's Maid]";
					mes "The value is incorrect.";
					close;
				}
				$DTS_VoteCount = .@input;
				mes "[Christy's Maid]";
				mes "The value has been modified.";
				close;
			}
		}
	}
	else {
		mes "[Christy's Maid]";
		mes "Lady Christy...";
		close;
	}
}
*/
