summaryrefslogtreecommitdiff
path: root/npc/events/halloween_2008.txt
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2014-10-19 00:47:39 +0200
committerHaru <haru@dotalux.com>2014-10-27 01:06:10 +0100
commitbf9e067bf1e5c6bc15d313e0a197fd8f4b2ec131 (patch)
tree6a24e8f20a33f08dbbf6bba185e6842d650fcd50 /npc/events/halloween_2008.txt
parent8bb00782225e2f04f61863832a6c27d512b551b5 (diff)
downloadhercules-bf9e067bf1e5c6bc15d313e0a197fd8f4b2ec131.tar.gz
hercules-bf9e067bf1e5c6bc15d313e0a197fd8f4b2ec131.tar.bz2
hercules-bf9e067bf1e5c6bc15d313e0a197fd8f4b2ec131.tar.xz
hercules-bf9e067bf1e5c6bc15d313e0a197fd8f4b2ec131.zip
Removed use of 'menu' from official (non-custom) scripts
- Some scripts were partly refactored/rewritten to use a more modern coding style (and to fix some issues) - Note: the 'menu' command will be deprecated soon in favor of 'select' and 'prompt'. Signed-off-by: Haru <haru@dotalux.com>
Diffstat (limited to 'npc/events/halloween_2008.txt')
-rw-r--r--npc/events/halloween_2008.txt338
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;
}