You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
270 lines
6.9 KiB
Plaintext
270 lines
6.9 KiB
Plaintext
//===== rAthena Script =======================================
|
|
//= iRO Halloween (2008)
|
|
//===== By: ==================================================
|
|
//= Kisuka
|
|
//===== Current Version: =====================================
|
|
//= 1.1
|
|
//===== Compatible With: =====================================
|
|
//= rAthena Project
|
|
//===== 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]
|
|
//= 1.1 Some small changes. [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 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;
|
|
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 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;
|
|
goto MainMenu2;
|
|
}
|
|
|
|
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;
|
|
} 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 anywhere.";
|
|
next;
|
|
mes "[Halloween Magician]";
|
|
mes "You think I wouldn't notice that your weight is above '0'?";
|
|
mes "You're overweight...";
|
|
close;
|
|
} else {
|
|
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) {
|
|
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 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;
|
|
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 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;
|
|
}
|
|
}
|
|
|
|
evt_zombie,16,142,1 script zombiewarp001 45,2,2,{
|
|
OnTouch:
|
|
if (@Hallow08Warp == 1) {
|
|
set Hallow08Kill,2;
|
|
specialeffect EF_BASH;
|
|
warp "payon",28,142;
|
|
}
|
|
end;
|
|
}
|
|
|
|
evt_zombie,122,27,1 script zombiewarp002 45,2,2,{
|
|
OnTouch:
|
|
if (@Hallow08Warp == 2) {
|
|
set Hallow08Kill,2;
|
|
specialeffect EF_BASH;
|
|
warp "payon",121,40;
|
|
}
|
|
end;
|
|
}
|
|
|
|
evt_zombie,267,89,1 script zombiewarp003 45,2,2,{
|
|
OnTouch:
|
|
if (@Hallow08Warp == 3) {
|
|
set Hallow08Kill,2;
|
|
specialeffect EF_BASH;
|
|
warp "payon",253,95;
|
|
}
|
|
end;
|
|
}
|
|
|
|
evt_zombie,0,0 monster Zombie 3000,150
|
|
evt_zombie,0,0 monster Ghoul 3001,80
|
|
evt_zombie,0,0 monster Zombie Master 3002,20
|