//===== 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