summaryrefslogblamecommitdiff
path: root/npc/events/halloween_2008.txt
blob: 1ff63a693b93f63e40ef8624efa2aad674034c9b (plain) (tree)























































































































































































































































































































                                                                                                                                                                                          
//===== eAthena Script =======================================
//= iRO Halloween (2008)
//===== By: ==================================================
//= Kisuka
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
//= eAthena SVN
//===== Description: =========================================
//= iRO Halloween (2008)
//= Run away from the zombies for tickets.
//= Redeem tickets for prizes.
//===== Notes: ===============================================
//= You must enable the event monsters in mob_db2.
//===== Additional Comments: =================================
//= 1.0 First version. [Kisuka]
//============================================================

payon,162,176,4	script	Halloween Magician#iRO08	704,{
	
	if(Hallow08 < 1) {
			mes "[Halloween Magician]";
			mes "Kkkkkkkkk!";
			mes "I have a special event this";
			mes "Halloween that tests your luck and";
			mes "agility.";
			mes "Are you interested?";
			next;
			mes "[Halloween Magician]";
			mes "Come on! Don't be a wuss!";
			mes "If you collect enough tickets";
			mes "you can get good prizes!";
			mes "So what do you say?";
			next;
			goto MainMenu;
	}

	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;
		set Hallow08Kill,0;
		if(select("Yes, I know.:No, I don't know.") == 2) {
			goto Rules;
		}
		goto 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 7941,1;
		set Hallow08Kill,0;
		mes "[Halloween Magician]";
		mes "As I promised";
		mes "You can get Halloween tickets";
		mes "for cool items.";
		close;
	}

	if(Hallow08 > 0) {
		mes "[Halloween Magician]";
		mes "Well, do you want to hear the rules";
		mes "again or,";
		mes "just get back to it...";
		next;
		goto MainMenu2;
	}
	
		Rules:
			mes "[Halloween Magician]";
			mes "This village is like a virtual";
			mes "Payon. There are zombies and ghouls";
			mes "roaming around";
			mes "and three southern exits, but only";
			mes "one works.";
			mes "That's up to you to find out.";
			next;
			mes "[Halloween Magician]";
			mes "You can't use any skills";
			mes "to kill the ghouls or zombies.";
			mes "And one more thing...";
			mes "you shouldn't forget...";
			next;
			mes "[Halloween Magician]";
			mes "All participants";
			mes "should be wearing nothing.";
			mes "Put all belongings in your storage";
			mes "and come back here when your weight";
			mes "is '0'.";
			next;
			mes "[Halloween Magician]";
			mes "Oh and one more thing!";
			mes "You can't be riding a PecoPeco or";
			mes "have a Cart.";
			mes "If you are, then I will remove them";
			mes "before you enter.";
			mes "Got it?";
			next;
			mes "[Halloween Magician]";
			mes "Remember, there are three exits but";
			mes "only one works randomly,";
			mes "the zombies and ghouls roaming";
			mes "around there can't be killed";
			mes "and you can't be wearing anything.";
			next;
			if (Hallow08 > 0) {
				mes "[Halloween Magician]";
				mes "Hey...";
				mes "Come back once you're ready.";
				close;
			}else{
				goto MainMenu;
			}
			
		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";
				mes "anywhere.";
				next;
				mes "[Halloween Magician]";
				mes "You think I wouldn't notice that";
				mes "your weight is above '0'?";
				mes "You're overweight...";
				close;
			}else{
				mes "[Halloween Magician]";
				mes "You seem good to go,";
				mes "and your weight is just right.";
				next;
				mes "[Halloween Magician]";
				mes "I was quite swamped with my work,";
				mes "so I'm exhausted.";
				next;
				mes "[Halloween Magician]";
				mes "I sometimes forget to send you";
				mes "there...";
				next;
				mes "[Halloween Magician]";
				mes "I hope you come back well.";
				close2;
				if (Hallow08 < 1) {
					set Hallow08,1;
				}
				set Hallow08Kill,1;
				set @Hallow08Warp, rand(1,3);
				percentheal -98,0;
				setriding 0;
				setcart 0;
				warp "evt_zombie",155,246;
				end;
			}
			
		TicketExchange:
			mes "[Halloween Magician]";
			mes "You want to exchange tickets for";
			mes "prizes?";
			mes "Good job! Kkkkkk!";
			next;
			mes "[Halloween Magician]";
			mes "Lemme tell you what items you can";
			mes "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";
			mes "for?";
			next;
			switch(select("Pumpkin Pie:Pumpkin-Head:Old Blue Box:Old Purple Box:Old Card Album")) {
				case 1:
					if(countitem(7941) < 5) {
						goto NotEnough;
					}else{
						delitem 7941,5;
						getitem 12192,1;
						goto Enough;
					}
					break;
				case 2:
					if(countitem(7941) < 20) {
						goto NotEnough;
					}else{
						delitem 7941,20;
						getitem 5134,1;
						goto Enough;
					}
					break;
				case 3:
					if(countitem(7941) < 50) {
						goto NotEnough;
					}else{
						delitem 7941,50;
						getitem 603,1;
						goto Enough;
					}
					break;
				case 4:
					if(countitem(7941) < 70) {
						goto NotEnough;
					}else{
						delitem 7941,70;
						getitem 617,1;
						goto Enough;
					}
					break;			
				case 5:
					if(countitem(7941) < 200) {
						goto NotEnough;
					}else{
						delitem 7941,200;
						getitem 616,1;
						goto Enough;
					}
			}
					
		NextTime:
			mes "[Halloween Magician]";
			mes "Ok, see you then.";
			mes "Kkkkkkkk.";
			close;

	MainMenu:
		menu "Explain it to me.",Rules,"I want to participate.",Participate,"I want to exchange tickets for prizes.",TicketExchange,"I'll come back next time.",NextTime;

	MainMenu2:
		menu "Get me back there now!",Participate,"Please, tell me the rules",Rules,"I want to exchange tickets for prizes.",TicketExchange,"I'll come back next time.",NextTime;

	NotEnough:
		mes "[Halloween Magician]";
		mes "You don't have enough tickets!";
		mes "Can't you even count?";
		mes "Please come here with the right";
		mes "number of tickets.";
		close;

	Enough:
		mes "[Halloween Magician]";
		mes "Here it is.";
		mes "Do you need...";
		mes "anything else?";
		next;
		if (Hallow08 == 1) {
			goto MainMenu2;
		}else{
			goto MainMenu;
		}
}
	
// --------------- MapFlags ---------------

evt_zombie	mapflag	nightenabled
evt_zombie	mapflag	nobranch
evt_zombie	mapflag	nomemo
evt_zombie	mapflag	nopenalty
evt_zombie	mapflag	pvp	off
evt_zombie	mapflag	noreturn
evt_zombie	mapflag	nosave	SavePoint
evt_zombie	mapflag	noskill
evt_zombie	mapflag	noteleport

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

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

evt_zombie,267,89,1	script	zombiewarp003	45,2,2,{
	OnTouch:
	if (@Hallow08Warp == 3) {
		set Hallow08Kill,2;
		specialeffect 16;
		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