diff options
Diffstat (limited to 'npc/events/halloween_2008.txt')
-rw-r--r-- | npc/events/halloween_2008.txt | 338 |
1 files changed, 171 insertions, 167 deletions
diff --git a/npc/events/halloween_2008.txt b/npc/events/halloween_2008.txt index 6aad72358..aa2780716 100644 --- a/npc/events/halloween_2008.txt +++ b/npc/events/halloween_2008.txt @@ -27,7 +27,8 @@ payon,162,176,4 script Halloween Magician#iRO08 4_M_BIBI,{ mes "If you collect enough tickets you can get good prizes!"; mes "So what do you say?"; next; - goto MainMenu; + callsub(S_MainMenu); + end; } if (Hallow08Kill == 1) { mes "[Halloween Magician]"; @@ -35,11 +36,13 @@ payon,162,176,4 script Halloween Magician#iRO08 4_M_BIBI,{ mes "You know you want to try again..."; mes "Do you know the rules?"; next; - set Hallow08Kill,0; + Hallow08Kill = 0; if(select("Yes, I know.:No, I don't know.") == 2) { - goto Rules; + callsub(S_Rules); + callsub(S_MainMenu); + end; } - goto Participate; + callsub(S_Participate); } if (Hallow08Kill == 2) { mes "[Halloween Magician]"; @@ -49,8 +52,8 @@ payon,162,176,4 script Halloween Magician#iRO08 4_M_BIBI,{ mes "Ha!"; mes "Kkkkkkk."; next; - getitem 7941,1; - set Hallow08Kill,0; + getitem Halloween_Ticket, 1; + Hallow08Kill = 0; mes "[Halloween Magician]"; mes "As I promised"; mes "You can get Halloween tickets for cool items."; @@ -60,182 +63,183 @@ payon,162,176,4 script Halloween Magician#iRO08 4_M_BIBI,{ 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; + 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; } + } + } - 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; - } - } + callsub(S_Rules); + callsub(S_MainMenu); + end; - NextTime: - mes "[Halloween Magician]"; - mes "Ok, see you then."; - mes "Kkkkkkkk."; - close; +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; + } + } - 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; +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; + setriding 0; + 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; - 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; +S_NextTime: + mes "[Halloween Magician]"; + mes "Ok, see you then."; + mes "Kkkkkkkk."; + close; - NotEnough: +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; - - Enough: - mes "[Halloween Magician]"; - mes "Here it is."; - mes "Do you need..."; - mes "anything else?"; - next; - if (Hallow08 == 1) { - goto MainMenu2; - } else { - goto MainMenu; - } + } + 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) { - set Hallow08Kill,2; + Hallow08Kill = 2; specialeffect EF_BASH; warp "payon",28,142; } @@ -245,7 +249,7 @@ OnTouch: evt_zombie,122,27,1 script zombiewarp002 WARPNPC,2,2,{ OnTouch: if (@Hallow08Warp == 2) { - set Hallow08Kill,2; + Hallow08Kill = 2; specialeffect EF_BASH; warp "payon",121,40; } @@ -255,7 +259,7 @@ OnTouch: evt_zombie,267,89,1 script zombiewarp003 WARPNPC,2,2,{ OnTouch: if (@Hallow08Warp == 3) { - set Hallow08Kill,2; + Hallow08Kill = 2; specialeffect EF_BASH; warp "payon",253,95; } |