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