//================= Hercules Script =======================================
//= _ _ _
//= | | | | | |
//= | |_| | ___ _ __ ___ _ _| | ___ ___
//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
//= | | | | __/ | | (__| |_| | | __/\__ \
//= \_| |_/\___|_| \___|\__,_|_|\___||___/
//================= License ===============================================
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
//= Copyright (C) 2012-2020 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