//================= 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)  Kisuka
//=
//= 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/>.
//=========================================================================
//= iRO Halloween (2008)
//================= Description ===========================================
//= iRO Halloween (2008)
//= Run away from the zombies for tickets.
//= Redeem tickets for prizes.
//================= Current Version =======================================
//= 1.1
//================= Additional Comments ===================================
//= You must enable the event monsters in mob_db2.
//=========================================================================

payon,162,176,4	script	Halloween Magician#iRO08	4_M_BIBI,{
	if (Hallow08 < 1) {
		mes "[Halloween Magician]";
		mes "Kkkkkkkkk!";
		mes "I have a special event this Halloween that tests your luck and agility.";
		mes "Are you interested?";
		next;
		mes "[Halloween Magician]";
		mes "Come on! Don't be a wuss!";
		mes "If you collect enough tickets you can get good prizes!";
		mes "So what do you say?";
		next;
		callsub(S_MainMenu);
		end;
	}
	if (Hallow08Kill == 1) {
		mes "[Halloween Magician]";
		mes "You a 'fraidy cat or something?!";
		mes "You know you want to try again...";
		mes "Do you know the rules?";
		next;
		Hallow08Kill = 0;
		if(select("Yes, I know.", "No, I don't know.") == 2) {
			callsub(S_Rules);
			callsub(S_MainMenu);
			end;
		}
		callsub(S_Participate);
	}
	if (Hallow08Kill == 2) {
		mes "[Halloween Magician]";
		mes "Oh, well done! You are alright!";
		mes "Isn't it fun with zombies??";
		mes "You know, zombies were people too!";
		mes "Ha!";
		mes "Kkkkkkk.";
		next;
		getitem Halloween_Ticket, 1;
		Hallow08Kill = 0;
		mes "[Halloween Magician]";
		mes "As I promised";
		mes "You can get Halloween tickets for cool items.";
		close;
	}
	if (Hallow08 > 0) {
		mes "[Halloween Magician]";
		mes "Well, do you want to hear the rules again or, just get back to it...";
		next;
		while (true) {
			switch (select("Get me back there now!","Please, tell me the rules","I want to exchange tickets for prizes.","I'll come back next time.")) {
			case 1: // Participate
				callsub(S_Participate);
			case 2: // Rules
				callsub(S_Rules);
				continue;
			case 3: // TicketExchange
				callsub(S_TicketExchange);
				continue;
			default: // NextTime
				callsub(S_NextTime);
				end;
			}
		}
	}

	callsub(S_Rules);
	callsub(S_MainMenu);
	end;

S_MainMenu:
	while (true) {
		switch (select("Explain it to me.","I want to participate.","I want to exchange tickets for prizes.","I'll come back next time.")) {
		case 1: // Rules
			callsub(S_Rules);
			continue;
		case 2: // Participate
			callsub(S_Participate);
		case 3: // TicketExchange
			callsub(S_TicketExchange);
			continue;
		default: // NextTime
			callsub(S_NextTime);
			end;
		}
	}

S_Participate:
	mes "[Halloween Magician]";
	mes "Ok, you are ready.";
	mes "Let me check your weight.";
	next;
	if (Weight > 0) {
		mes "[Halloween Magician]";
		mes "Gosh!";
		mes "There's always a black sheep anywhere.";
		next;
		mes "[Halloween Magician]";
		mes "You think I wouldn't notice that your weight is above '0'?";
		mes "You're overweight...";
		close;
	}
	mes "[Halloween Magician]";
	mes "You seem good to go, and your weight is just right.";
	next;
	mes "[Halloween Magician]";
	mes "I was quite swamped with my work, so I'm exhausted.";
	next;
	mes "[Halloween Magician]";
	mes "I sometimes forget to send you there...";
	next;
	mes "[Halloween Magician]";
	mes "I hope you come back well.";
	close2;
	if (Hallow08 < 1) {
		Hallow08 = 1;
	}
	Hallow08Kill = 1;
	@Hallow08Warp = rand(1,3);
	percentheal -98,0;
	setmount(MOUNT_NONE);
	setcart 0;
	warp "evt_zombie",155,246;
	end;

S_Rules:
	mes "[Halloween Magician]";
	mes "This village is like a virtual Payon.";
	mes "There are zombies and ghouls roaming around and three southern exits, but only one works.";
	mes "That's up to you to find out.";
	next;
	mes "[Halloween Magician]";
	mes "You can't use any skills to kill the ghouls or zombies.";
	mes "And one more thing...";
	mes "you shouldn't forget...";
	next;
	mes "[Halloween Magician]";
	mes "All participants should be wearing nothing.";
	mes "Put all belongings in your storage and come back here when your weight is '0'.";
	next;
	mes "[Halloween Magician]";
	mes "Oh and one more thing!";
	mes "You can't be riding a PecoPeco or have a Cart.";
	mes "If you are, then I will remove them before you enter.";
	mes "Got it?";
	next;
	mes "[Halloween Magician]";
	mes "Remember, there are three exits but only one works randomly, the zombies and ghouls roaming around there can't be killed and you can't be wearing anything.";
	next;
	if (Hallow08 > 0) {
		mes "[Halloween Magician]";
		mes "Hey...";
		mes "Come back once you're ready.";
		close;
	}
	return;

S_NextTime:
	mes "[Halloween Magician]";
	mes "Ok, see you then.";
	mes "Kkkkkkkk.";
	close;

S_TicketExchange:
	mes "[Halloween Magician]";
	mes "You want to exchange tickets for prizes?";
	mes "Good job! Kkkkkk!";
	next;
	mes "[Halloween Magician]";
	mes "Lemme tell you what items you can exchange for.";
	next;
	mes "[Halloween Magician]";
	mes "5 tickets for Pumpkin Pie.";
	mes "20 tickets for Pumpkin-Head.";
	mes "50 tickets for Old Blue Box.";
	mes "70 tickets for Old Purple Box.";
	mes "200 tickets for Old Card Album.";
	next;
	mes "[Halloween Magician]";
	mes "What would you like to exchange for?";
	next;
	.@item_id = null;
	.@amount = 0;
	switch(select("Pumpkin Pie", "Pumpkin-Head", "Old Blue Box", "Old Purple Box", "Old Card Album")) {
	case 1:
		.@amount = 5;
		.@item_id = Pumpkin_Pie;
		break;
	case 2:
		.@amount = 20;
		.@item_id = Pumpkin_Hat;
		break;
	case 3:
		.@amount = 50;
		.@item_id = Old_Blue_Box;
		break;
	case 4:
		.@amount = 70;
		.@item_id = Old_Violet_Box;
		break;
	case 5:
		.@amount = 200;
		.@amount = Old_Card_Album;
		break;
	}
	if (countitem(Halloween_Ticket) < .@amount) {
		mes "[Halloween Magician]";
		mes "You don't have enough tickets!";
		mes "Can't you even count?";
		mes "Please come here with the right number of tickets.";
		close;
	}
	delitem Halloween_Ticket, .@amount;
	getitem .@item_id, 1;
	mes "[Halloween Magician]";
	mes "Here it is.";
	mes "Do you need...";
	mes "anything else?";
	next;
	return;
}

evt_zombie,16,142,1	script	zombiewarp001	WARPNPC,2,2,{
OnTouch:
	if (@Hallow08Warp == 1) {
		Hallow08Kill = 2;
		specialeffect EF_BASH;
		warp "payon",28,142;
	}
	end;
}

evt_zombie,122,27,1	script	zombiewarp002	WARPNPC,2,2,{
OnTouch:
	if (@Hallow08Warp == 2) {
		Hallow08Kill = 2;
		specialeffect EF_BASH;
		warp "payon",121,40;
	}
	end;
}

evt_zombie,267,89,1	script	zombiewarp003	WARPNPC,2,2,{
OnTouch:
	if (@Hallow08Warp == 3) {
		Hallow08Kill = 2;
		specialeffect EF_BASH;
		warp "payon",253,95;
	}
	end;
}

evt_zombie,0,0,0,0	monster	Zombie	3000,150,0,0,0
evt_zombie,0,0,0,0	monster	Ghoul	3001,80,0,0,0
evt_zombie,0,0,0,0	monster	Zombie Master	3002,20,0,0,0
