summaryrefslogtreecommitdiff
path: root/world/map/npc/annuals/halloween
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2021-07-07 20:34:27 -0300
committerJesusaves <cpntb1@ymail.com>2021-07-07 20:34:27 -0300
commit9877fd4ad81120af8e63e96d5d429092014dc017 (patch)
treeec045a0535109a2e0d82e0e8155eb01ed9776452 /world/map/npc/annuals/halloween
parentaedbeb335a5ec5f55d22eace389076a18241ac9a (diff)
downloadserverdata-9877fd4ad81120af8e63e96d5d429092014dc017.tar.gz
serverdata-9877fd4ad81120af8e63e96d5d429092014dc017.tar.bz2
serverdata-9877fd4ad81120af8e63e96d5d429092014dc017.tar.xz
serverdata-9877fd4ad81120af8e63e96d5d429092014dc017.zip
Remove all Legacy files
Diffstat (limited to 'world/map/npc/annuals/halloween')
-rw-r--r--world/map/npc/annuals/halloween/config.txt361
-rw-r--r--world/map/npc/annuals/halloween/debug.txt147
-rw-r--r--world/map/npc/annuals/halloween/doomsday.txt743
-rw-r--r--world/map/npc/annuals/halloween/munro.txt50
-rw-r--r--world/map/npc/annuals/halloween/trick_or_treat.txt332
5 files changed, 0 insertions, 1633 deletions
diff --git a/world/map/npc/annuals/halloween/config.txt b/world/map/npc/annuals/halloween/config.txt
deleted file mode 100644
index ffe9dfbe..00000000
--- a/world/map/npc/annuals/halloween/config.txt
+++ /dev/null
@@ -1,361 +0,0 @@
-// Halloween Annual
-// Authors: alastrim, enchilado, o11c, wushin
-// This file initializes global constants, which includes dialog.
-
-// Event Configuration:
-// Generic stuff
-// $@halloween_start_day = the first day in October the quest can be done
-// $@halloween_year = the year this quest is activated, for event necromancers
-// $@halloween_memory_count = Number of masks each NPC remembers
-// $@halloween_min_level = Minimum level to go trick-or-treating
-
-// Global stuff
-// $@halloween_big_reward = The main reward randomly given, usually after the counter has reached 7-10
-// $@halloween_sweets = Array with all the sweets to be given as treats
-// $@halloween_sweets_num = Size of that array
-// $@halloween_mask_IDs = Array with the IDs of all the masks that cover your face + The Scary Axehat
-// $@halloween_scare_factors = Array with the basic scare factor of each mask
-// 678 Noh Mask 2
-// 679 Demon Mask 4
-// 1221 Skull Mask 4
-// 634 Face Mask 4
-// 615 Pumpkin Helmet 2
-// 639 Crusade Helmet 3
-// 769 Guy Fawkes Mask 2
-// 801 Pinkie Helmet 2
-// 1218 Paper Bag 1
-// 1276 Opera Mask 3
-// 1277 Jester Mask 2
-// 1279 Goblin Mask 4
-// 4027 Yeti Mask 4
-
-// Per-NPC stuff
-// $@halloween_npc_<name> = constants for @halloween_npc_id, the index into the array
-// $@halloween_npc_names$ = Array with all NPC names inside brackets, to be used in the function
-// $@halloween_greetings$ = Array with all the NPC initial greetings when you "trick or treat" them
-// $@halloween_trick_notscary$ = Array with the less scary menu options
-// $@halloween_react_notscary$ = Array with all the reactions to the less scary menu options
-// $@halloween_trick_scary$ = Array with scary menu options
-// $@halloween_react_scary$ = Array with all the reactions to the scary menu options
-// $@halloween_trick_veryscary$ = Array with the most scary menu options
-// $@halloween_react_veryscary$ = Array with all the reactions to the very scary menu options
-
-// In the appropriate NPCs, do something like:
-//+ if ($@halloween_time)
-//+ goto L_Halloween;
-//+ goto L_Main;
-//+
-//+L_Halloween:
-//+ set @halloween_npc_id, $@halloween_npc_eurni;
-//+ callfunc "TrickOrTreat";
-//+ goto L_Main;
-//+
-//+L_Main:
-
-// Variables:
-// $@halloween_maskmemory = Sliced Array containing the record of the last masks used to trick or treat each NPC.
-// @halloween_npc_id = NPC id, this variable is set when calling this function by an NPC
-// HALLOWEENTIME = Permanent variable used to control your progress in the quest.
-// The high bits are used to keep track of the NPCs you already tricked while showing your face.
-// The low bits are used to keep track of how many times you've gotten treats.
-// Currently, the vague plan is 16 for each, but we may need to use this variable for the second part of the quest.
-// HALLOWEENYEAR = Keys the player to the year so the annual can be redone.
-
-// !!! IMPORTANT NOTE: a maximum of 14 NPCs can be used for this quest !!!
-// HALLOWEENTIME
-// Byte 0 + 1: Karma (65535)
-// BIT 16: Big Reward
-// BIT 17: Charm Reward
-// BIT 18: NPC #13
-// BIT 19: NPC #12
-// BIT 20: NPC #11
-// BIT 21: NPC #10
-// BIT 22: NPC #9
-// BIT 23: NPC #8
-// BIT 24: NPC #7
-// BIT 25: NPC #6
-// BIT 26: NPC #5
-// BIT 27: NPC #4
-// BIT 28: NPC #3
-// BIT 29: NPC #2
-// BIT 30: NPC #1
-// BIT 31: NPC #0
-
--|script|#HalloweenConfig|32767
-{
- end;
-
-OnCommandRestartQuest:
- goto L_Main;
-
-OnInit:
- goto L_Main;
-
-L_Main:
- // Halloween Key Identifier Set through Botcheck Debug
- if(!($HALLOWEEN_TIME_KEY) || (getarraysize($HALLOWEEN_TIME_KEY) != 6))
- setarray $HALLOWEEN_TIME_KEY, 10,10,11,24,2,gettime(7);
- if(($HALLOWEEN_TIME_KEY[0] == 0) || ($HALLOWEEN_TIME_KEY[0] > 12))
- goto L_HalloweenError;
- if(($HALLOWEEN_TIME_KEY[1] == 0) || ($HALLOWEEN_TIME_KEY[1] > 12))
- goto L_HalloweenError;
- if(($HALLOWEEN_TIME_KEY[2] == 0) || ($HALLOWEEN_TIME_KEY[2] > 12))
- goto L_HalloweenError;
- if(($HALLOWEEN_TIME_KEY[3] == 0) || ($HALLOWEEN_TIME_KEY[3] > 31))
- goto L_HalloweenError;
- if(($HALLOWEEN_TIME_KEY[4] == 0) || ($HALLOWEEN_TIME_KEY[4] > 31))
- goto L_HalloweenError;
- if($HALLOWEEN_TIME_KEY[5] == 0)
- goto L_HalloweenError;
-
- // Event Runs until Reward Period.
- // Month Start/End
- set $@halloween_start_month, $HALLOWEEN_TIME_KEY[0];
- set $@halloween_reward_start_month, $HALLOWEEN_TIME_KEY[1];
- set $@halloween_end_month, $HALLOWEEN_TIME_KEY[2];
-
- // Reward Day Start/End
- set $@halloween_reward_start_day, $HALLOWEEN_TIME_KEY[3];
- set $@halloween_reward_end_day, $HALLOWEEN_TIME_KEY[4];
-
- // Time Settings
- set $@halloween_no_event_time, 0;
- set $@halloween_event_time, 1;
- set $@halloween_reward_time, 2;
-
- // How many, maximum is 8
- set $@halloween_memory_count, 8;
- // Level to go trick-or-treating
- set $@halloween_min_level, 10;
-
- // Number of trick and treats completed to get charm.
- set $@halloween_charm_count, 10;
- set $@halloween_got_charm_reward, (1 << 17);
- setarray $@halloween_big_reward, 905, 1175;
- set $@halloween_got_big_reward, (1 << 16);
- setarray $@halloween_sweets,
- 534, // OrangeCupcake
- 737, // ChocolateCake
- 510, // Candy
- 513, // Cake
- 509, // ChocolateBar
- 519, // CherryCake
- 736, // WhiteCake
- 738, // OrangeCake
- 739, // AppleCake
- 3006, // TonoriDelight
- 3007, // Marshmallow
- 3009, // JellySkull
- 3010, // CandyPumpkin
- 838, // CranberryLollipop
- 839, // GrapeLollipop
- 840; // OrangeLollipop
- set $@halloween_sweets_num, getarraysize($@halloween_sweets);
-
- setarray $@halloween_mask_IDs, 678, 679, 1221, 634, 615, 639, 769, 801, 1218, 1276, 1277, 1279, 4027;
- setarray $@halloween_scare_factors, 2, 4, 4, 4, 2, 3, 2, 2, 1, 3, 2, 4, 4;
-
- if (getarraysize($@halloween_mask_IDs) != getarraysize($@halloween_scare_factors))
- goto L_HalloweenError;
- // temporary counter
- set $@n, 0;
-
- set $@halloween_npc_caretaker, $@n;
- set $@halloween_npc_names$[$@n], "[Caretaker]";
- set $@halloween_greetings$[$@n], "\"Alright, come on then. Show me your trick.\"";
- set $@halloween_trick_notscary$[$@n], "Trick? You must have misheard me. I've come because the Government needs to build a road through your house.";
- set $@halloween_react_notscary$[$@n], "\"And?\"";
- set $@halloween_trick_scary$[$@n], "You look pretty deceased to me, old man. Undead must die! Yaah!";
- set $@halloween_react_scary$[$@n], "\"Now listen here, I'm as alive as you - oh. Say, that was a good trick!\"";
- set $@halloween_trick_veryscary$[$@n], "Your wife... she's - she's - she's DEAD!";
- set $@halloween_react_veryscary$[$@n], "\"But... I live here! My wife l... is dead here. You can't - oh. I DIDN'T mishear you. You really had me fooled!\"";
-
- set $@n, $@n + 1;
-
- set $@halloween_npc_eurni, $@n;
- set $@halloween_npc_names$[$@n], "[Eurni the Surgeon]";
- set $@halloween_greetings$[$@n], "\"Oh, right.\"";
- set $@halloween_trick_notscary$[$@n], "I paid good money for your services, and when I get home I find that now I'm not a man OR a woman...";
- set $@halloween_react_notscary$[$@n], "\"Heheh, sucks, buddy. But there's always a risk.\"";
- set $@halloween_trick_scary$[$@n], "Look out! A scorpion!";
- set $@halloween_react_scary$[$@n], "\"Where? Darn things, I think they're what keep scaring away my customers.\"";
- set $@halloween_trick_veryscary$[$@n], "I know about your hobby of performing numerous sex changes on yourself.";
- set $@halloween_react_veryscary$[$@n], "\"Shut up! Look, will you hold your tongue if I give you more treats...?\"";
-
- set $@n, $@n + 1;
-
- set $@halloween_npc_george, $@n;
- set $@halloween_npc_names$[$@n], "[George the Pirate]";
- set $@halloween_greetings$[$@n], "\"Shiver me timbers! What do ye mean?\"";
- set $@halloween_trick_notscary$[$@n], "Well... I do a trick, and then... you give me a treat...";
- set $@halloween_react_notscary$[$@n], "\"Arrrrh, I knew what ye meant, to be sure! I were just kidding with ye, pretending to be a crazy old pirate! Arrrrh!\"";
- set $@halloween_trick_scary$[$@n], "Your eyepatch is on the wrong eye!";
- set $@halloween_react_scary$[$@n], "\"Arrrrh, so it is! Ta for pointing it out, mate - wait, no it isn't! Harhar, what a good trick!\"";
- set $@halloween_trick_veryscary$[$@n], "By the powers, ye're a daft landlubber to be sure, ye barnacle-ridden swab!";
- set $@halloween_react_veryscary$[$@n], "\"Arrrrh, ye scurvy dog! I'm sure my first mate will return with the ship eventually.\"";
-
- set $@n, $@n + 1;
-
- set $@halloween_npc_inac, $@n;
- set $@halloween_npc_names$[$@n], "[Inac]";
- set $@halloween_greetings$[$@n], "\"Oh, yes?\"";
- set $@halloween_trick_notscary$[$@n], "Yes, we monsters moved into the tunnels... and now we're coming out... for revenge!";
- set $@halloween_react_notscary$[$@n], "\"Haha! That's the worse trick I've seen today.\"";
- set $@halloween_trick_scary$[$@n], "One of those monsters you mentioned is crawling out of the well!";
- set $@halloween_react_scary$[$@n], "\"He IS? Where!? Aah! Oh. You were just tricking, right? Hahaha, that was good, I really believed you.\"";
- set $@halloween_trick_veryscary$[$@n], "Yeah, but it's all fossil water. One day it's gonna dry up!";
- set $@halloween_react_veryscary$[$@n], "\"Fossil water? You mean it's turned to STONE? But you can't drink - oh... you were just tricking, right? You WEREN'T? Aaaah!\"";
-
- set $@n, $@n + 1;
-
- set $@halloween_npc_kfahr, $@n;
- set $@halloween_npc_names$[$@n], "[Kfahr the Warrior]";
- set $@halloween_greetings$[$@n], "\"Ah, yes!\" He rubs his hands. \"Trick away, then!\"";
- set $@halloween_trick_notscary$[$@n], "Meh... I'm only trick-or-treating you to avoid listening to your BORING stories.";
- set $@halloween_react_notscary$[$@n], "\"Boring?\" He grins. \"You must be mistaking me for someone else.\"";
- set $@halloween_trick_scary$[$@n], "Did you hear the bad news already? They made up a law prohibiting to serve alcoholic drinks! That means no more beer!";
- set $@halloween_react_scary$[$@n], "\"What? But- but- why do they- oh, you tricked me. I was about to really get worried for a moment.\"";
- set $@halloween_trick_veryscary$[$@n], "Have you heard? Tulimshar was destroyed by a giant Desert Worm!";
- set $@halloween_react_veryscary$[$@n], "\"What!?\" Kfahr stares. \"And no one called for me? This is appalling! But - what? That was your trick? Hm, nice one. You almost had me fooled!\"";
-
- set $@n, $@n + 1;
-
- set $@halloween_npc_nurse, $@n;
- set $@halloween_npc_names$[$@n], "[Nurse]";
- set $@halloween_greetings$[$@n], "\"I don't know why I let the Mayor trick me into this... well, go on then.\"";
- set $@halloween_trick_notscary$[$@n], "I ate too much Hallowe'en candy, now I'm sick!";
- set $@halloween_react_notscary$[$@n], "\"Well, no one's to blame but yourself, you know. Just make sure you don't eat any more.\"";
- set $@halloween_trick_scary$[$@n], "Hurnscald has been struck by plague! You must come and tend to the dying!";
- set $@halloween_react_scary$[$@n], "\"But I don't know how to deal with plague! Oh no! You must get the Doctor! Unless... you were just tricking me! Whew, that's a relief!\"";
- set $@halloween_trick_veryscary$[$@n], "The Doctor asked me to tell you that he doesn't want to see you any more.";
- set $@halloween_react_veryscary$[$@n], "\"What? But we were getting it on so well. I mean, getting on so well! Oh... that was your trick! Dear me, I believed you!\"";
-
- set $@n, $@n + 1;
-
- set $@halloween_npc_pachua, $@n;
- set $@halloween_npc_names$[$@n], "[Chief Pachua]";
- set $@halloween_greetings$[$@n], "\"Ah, the strange custom the Government man told me about.\"";
- set $@halloween_trick_notscary$[$@n], "Look out! A scorpion!";
- set $@halloween_react_notscary$[$@n], "\"Don't mind him, he won't hurt you. Er... so I give you sweets now, or what?\"";
- set $@halloween_trick_scary$[$@n], "Yes, the ritual giving of treats... LOTS of treats... or else!";
- set $@halloween_react_scary$[$@n], "\"Alright, here you go.\"";
- set $@halloween_trick_veryscary$[$@n], "Yes, the ritual giving of treats followed by the sacrifice of the treat-giver...";
- set $@halloween_react_veryscary$[$@n], "\"I do like a good sacrifice, but less so if it's me! I'll give you extra sweets if you forget the sacrifice.\"";
-
- set $@n, $@n + 1;
-
- set $@halloween_npc_yanis, $@n;
- set $@halloween_npc_names$[$@n], "[Yanis]";
- set $@halloween_greetings$[$@n], "\"I am employed by the Tonori Government, make sure you abide the regulations we wrote down for Trick-or-Treaters this year...\"";
- set $@halloween_trick_notscary$[$@n], "Of course I will... not!";
- set $@halloween_react_notscary$[$@n], "\"Hm!\"";
- set $@halloween_trick_scary$[$@n], "Regulations, smegulations. The Tonori Government can go suck a lollipop for all I care!";
- set $@halloween_react_scary$[$@n], "\"!? How dare you - oh, that was your trick! You did have me worried for a moment...\"";
- set $@halloween_trick_veryscary$[$@n], "What regulations?";
- set $@halloween_react_veryscary$[$@n], "\"You mean you haven't even READ - I don't believe - this is ghastly - I - oh... that was your trick... gosh, I believed you for a minute! I thought you really hadn't read them!\"";
-
- set $@n, $@n + 1;
-
- set $@halloween_npc_vincent, $@n;
- set $@halloween_npc_names$[$@n], "[Vincent]";
- set $@halloween_greetings$[$@n], "\"Ooh, okay! Trick away!\"";
- set $@halloween_trick_notscary$[$@n], "Look out! A scorpion!";
- set $@halloween_react_notscary$[$@n], "\"They're everywhere in this desert! Don't worry about them.\"";
- set $@halloween_trick_scary$[$@n], "Hey, that action figure you're building just CAME TO LIFE!";
- set $@halloween_react_scary$[$@n], "\"Really? Cool! Where? What? You were tricking me? WAAAH!\"";
- set $@halloween_trick_veryscary$[$@n], "Wow, this is a neat action figure! Haha, check out its moves! Oops! Never mind, I'm sure it'll glue back on.";
- set $@halloween_react_veryscary$[$@n], "\"My Bug Leg action figure! You broke it!\"";
-
- set $@n, $@n + 1;
-
- set $@halloween_npc_weellos, $@n;
- set $@halloween_npc_names$[$@n], "[Weellos]";
- set $@halloween_greetings$[$@n], "\"Trick me, then!\"";
- set $@halloween_trick_notscary$[$@n], "Look out! A scorpion!";
- set $@halloween_react_notscary$[$@n], "\"Pesky things, I know, but they're everywhere around here...\"";
- set $@halloween_trick_scary$[$@n], "Actually, it's a fake. It was built just ten years ago.";
- set $@halloween_react_scary$[$@n], "\"No! But I've read all the accounts... oh, haha! Very funny!\"";
- set $@halloween_trick_veryscary$[$@n], "They say the earthquake ruined the foundations of this building, and that it's going to fall down.";
- set $@halloween_react_veryscary$[$@n], "\"B-but it's one of the oldest buildings around! And... wait, I just remembered that it was designed to be earthquake-proof. You were tricking me!\"";
-
- set $@n, $@n + 1;
-
- set $@halloween_npc_zack, $@n;
- set $@halloween_npc_names$[$@n], "[Zack]";
- set $@halloween_greetings$[$@n], "\"I thought no one would find me down here, but I'm glad I was wrong! Let's see your trick, then.\"";
- set $@halloween_trick_notscary$[$@n], "You think this is something to do with Hallowe'en? Hands up!";
- set $@halloween_react_notscary$[$@n], "\"Heh... That was ok.\"";
- set $@halloween_trick_scary$[$@n], "And now that I've found you, you die!";
- set $@halloween_react_scary$[$@n], "\"Aah! What did I do? Oh - wait - I see! That was a good one!\"";
- set $@halloween_trick_veryscary$[$@n], "Yes, I have found you. After all these years.";
- set $@halloween_react_veryscary$[$@n], "\"Uncle Henry? But how, I covered my tracks so well! I never told anyone that - wait... that was your trick! You had me worried for a minute!\"";
-
- set $@n, $@n + 1;
-
- set $@halloween_npc_kimarr, $@n;
- set $@halloween_npc_names$[$@n], "[Kimarr]";
- set $@halloween_greetings$[$@n], "\"Many have tried to scare me, all have failed. Try your best, but the frozen wastes contain all manner of horrors.\"";
- set $@halloween_trick_notscary$[$@n], "Look out Yetis!";
- set $@halloween_react_notscary$[$@n], "\"You will have to do better then that.\"";
- set $@halloween_trick_scary$[$@n], "Hrmm Is that your wife calling you?";
- set $@halloween_react_scary$[$@n], "\"What? You haven't se... wait a second. Ok that was good.\"";
- set $@halloween_trick_veryscary$[$@n], "The Kaizeian government declared fluffies an endangered species.";
- set $@halloween_react_veryscary$[$@n], "\"NOooOOOooo!!! The Hunt!!! ... wait a second, you city folk are slick.\"";
-
- set $@n, $@n + 1;
-
- set $@halloween_npc_nikolai, $@n;
- set $@halloween_npc_names$[$@n], "[Nikolai]";
- set $@halloween_greetings$[$@n], "\"Let us see if you are scarier then Kfahr's Fairy Tales.\"";
- set $@halloween_trick_notscary$[$@n], "Your going over their to the store.";
- set $@halloween_react_notscary$[$@n], "\"*You're* *there* Ugh, thats more annoying then scary.\"";
- set $@halloween_trick_scary$[$@n], "Whats White, Blue and slimey? I don't know either but it's right behind you.";
- set $@halloween_react_scary$[$@n], "\"More Slimes, Oh no the books again. O you tricked me, good one.\"";
- set $@halloween_trick_veryscary$[$@n], "I hope you don't mind I used some of this kindling you have on the shelves to start a fire.";
- set $@halloween_react_veryscary$[$@n], "\"AHHHHH!!!! You burned our books!!! *GAH* ... *Eye Twitch*\"";
-
- set $@n, $@n + 1;
-
- set $@halloween_npc_vellamo, $@n;
- set $@halloween_npc_names$[$@n], "[Vellamo]";
- set $@halloween_greetings$[$@n], "\"Ahh yes, more candy related ritual.\"";
- set $@halloween_trick_notscary$[$@n], "Candy? No, I want Parsley.";
- set $@halloween_react_notscary$[$@n], "\"Parsley? is this some kind of monster? I'm not getting this scare at all\"";
- set $@halloween_trick_scary$[$@n], "Chief Warrick says he needs the candy inventory by end of day.";
- set $@halloween_react_scary$[$@n], "\"Ahh, no! I forgot to put a cover sheet on my Candy Production and Storage report.\"";
- set $@halloween_trick_veryscary$[$@n], "I'm sorry, but your doctor says your diabetic.";
- set $@halloween_react_veryscary$[$@n], "\"Darkest day of my life, blacker then the darkest chocolate.\"";
-
- set $@halloween_num_npcs, $@n + 1;
-
- set $@n, 0;
-
- // Age to go trick-or-treating (1 week before the start)
- if ((gettime(6) >= $@halloween_start_month) || (gettime(6) <= $@halloween_end_month))
- set $@halloween_min_age, ((gettime(5) + 7)*86400);
- if (gettime(6) == $@halloween_reward_start_month)
- set $@halloween_min_age, ((gettime(5) + 38)*86400);
-
- set $@start_month, $@halloween_start_month;
- set $@end_month, $@halloween_end_month;
- set $@start_day, 1;
- set $@end_day, $@halloween_reward_end_day;
- set $@reward_start_month, $@halloween_reward_start_month;
- set $@reward_start_day, $@halloween_reward_start_day;
-
- callfunc "GetEventTime";
- set $@halloween_time, $@event_time;
-
- if($@halloween_time == 0 && $HALLOWEEN_TIME_KEY[5] < gettime(7))
- setarray $HALLOWEEN_TIME_KEY, $HALLOWEEN_TIME_KEY[0],$HALLOWEEN_TIME_KEY[1],$HALLOWEEN_TIME_KEY[2],$HALLOWEEN_TIME_KEY[3],$HALLOWEEN_TIME_KEY[4],gettime(7);
- goto L_Return;
-
-L_Return:
- callfunc "SpawnMunro";
- callfunc "ReplaceTrees";
- end;
-
-L_HalloweenError:
- debugmes "Halloween is Dead Jim.";
- mapexit;
-}
diff --git a/world/map/npc/annuals/halloween/debug.txt b/world/map/npc/annuals/halloween/debug.txt
deleted file mode 100644
index b9ca8ac3..00000000
--- a/world/map/npc/annuals/halloween/debug.txt
+++ /dev/null
@@ -1,147 +0,0 @@
-// Halloween Debug
-// Author: Wushin
-
-function|script|HalloweenDebug
-{
- if(debug)
- goto L_Debug;
- goto L_Live;
-
-L_Live:
- menu
- "Debug Time", L_DebugTime,
- "Set Old Event Flag.", L_LastReset,
- "Halloween Time Key Change.", L_HalloweenTimeKey,
- "Reset NPC's mask memory", L_ResetMask,
- "Summon Tormenta", L_Tormenta,
- "Nothing.", L_Close;
-
-L_Debug:
- menu
- "Debug Time", L_DebugTime,
- "Set Old Event Flag.", L_LastReset,
- "Halloween Time Key Change.", L_HalloweenTimeKey,
- "Quest State", L_QuestState,
- "Set NPC trick or treat flag", L_SetTrickOrTreats,
- "Reset my quest state", L_ResetMe,
- "Reset NPC's mask memory", L_ResetMask,
- "Summon Tormenta", L_Tormenta,
- "Nothing.", L_Close;
-
-L_DebugTime:
- mes "--Sever--";
- mes "Event State: " + $@halloween_time;
- mes "Event Start" + $HALLOWEEN_TIME_KEY[0] + "/1";
- mes "Reward Start: " + $HALLOWEEN_TIME_KEY[1] + "/" + $HALLOWEEN_TIME_KEY[3];
- mes "Event End: " + $HALLOWEEN_TIME_KEY[2] + "/" + $HALLOWEEN_TIME_KEY[4];
- mes "Event Time Key (year (CCYY)): " + $HALLOWEEN_TIME_KEY[5];
- next;
- goto L_Debug;
-
-L_LastReset:
- set HALLOWEENTIME, 255;
- set HALLOWEENYEAR, 2012;
- goto L_Debug;
-
-L_HalloweenTimeKey:
- mes "Halloween Time Key Change.";
- mes "Start Month?";
- input @halloween_time_key_smonth;
- if((@halloween_time_key_smonth == 0) || (@halloween_time_key_smonth > 12))
- goto L_HalloweenError;
- mes "Reward Start Month?";
- input @halloween_time_key_srmonth;
- if((@halloween_time_key_srmonth == 0) || (@halloween_time_key_srmonth > 12))
- goto L_HalloweenError;
- mes "End Month?";
- input @halloween_time_key_emonth;
- if((@halloween_time_key_emonth == 0) || (@halloween_time_key_emonth > 12))
- goto L_HalloweenError;
- mes "Reward Start Day?";
- input @halloween_time_key_rsday;
- if((@halloween_time_key_rsday == 0) || (@halloween_time_key_rsday > 31))
- goto L_HalloweenError;
- mes "Reward End Day?";
- input @halloween_time_key_reday;
- if((@halloween_time_key_reday == 0) || (@halloween_time_key_reday > 31))
- goto L_HalloweenError;
- mes "Time Key (CCYY) ";
- input @halloween_time_key_year;
- goto L_SetNewKey;
-
-L_HalloweenError:
- mes "Incorrect Entry. Try again.";
- next;
- goto L_Debug;
-
-L_SetNewKey:
- setarray $HALLOWEEN_TIME_KEY, @halloween_time_key_smonth, @halloween_time_key_srmonth, @halloween_time_key_emonth, @halloween_time_key_rsday, @halloween_time_key_reday, @halloween_time_key_year;
- donpcevent "#HalloweenConfig::OnCommandRestartQuest";
- goto L_Debug;
-
-L_QuestState:
- mes "Karma: " + (HALLOWEENTIME & 65535);
- set @big_reward_status$, " No.";
- if (HALLOWEENTIME & $@halloween_got_big_reward)
- set @big_reward_status$, " Yes.";
- mes "Big Reward: " + @big_reward_status$;
- set @charm_reward_status$, " No.";
- if (HALLOWEENTIME & $@halloween_got_charm_reward)
- set @charm_reward_status$, " Yes.";
- mes "Charm Reward:" + @charm_reward_status$;
- set @npc_check_loop, 0;
- goto L_NpcCheckLoop;
-
-L_NpcCheckLoop:
- set @display_mes$, "NPC ID " + @npc_check_loop + ":" + $@halloween_npc_names$[@npc_check_loop];
- set @npc_status$, " Needed";
- if (HALLOWEENTIME & (1 << (31 - @npc_check_loop)))
- set @npc_status$, " Complete";
- set @display_mes$, @display_mes$ + @npc_status$;
- mes @display_mes$;
- set @display_mes$, "";
- goto L_NpcCheckInc;
-
-L_NpcCheckInc:
- set @npc_check_loop, (@npc_check_loop + 1);
- if (@npc_check_loop >= getarraysize($@halloween_npc_names$))
- goto L_TrickOrTreatCount;
- goto L_NpcCheckLoop;
-
-L_TrickOrTreatCount:
- callfunc "TrickOrTreatTally";
- mes @npc_tally + " out of 14";
- next;
- goto L_Debug;
-
-L_SetTrickOrTreats:
- mes "Enter NPC to set";
- input @halloween_npc_id;
- set HALLOWEENTIME, HALLOWEENTIME | (1 << (31 - @halloween_npc_id));
- goto L_Debug;
-
-L_ResetMe:
- set HALLOWEENTIME, 0;
- set HALLOWEENYEAR, $HALLOWEEN_TIME_KEY[5];
- goto L_Debug;
-
-L_ResetMask:
- mes "Enter NPC to reset:";
- input @halloween_npc_id;
- set $@halloween_maskmemory[8 * @halloween_npc_id], 0;
- goto L_Debug;
-
-L_Tormenta:
- donpcevent "Munro::OnTormenta";
- goto L_Close;
-
-L_Close:
- set @tmp, 0;
- set @mask, 0;
- set @karma, 0;
- set @loop, 0;
- set @menu, 0;
- set @halloween_npc_id, 0;
- close2;
- return;
-}
diff --git a/world/map/npc/annuals/halloween/doomsday.txt b/world/map/npc/annuals/halloween/doomsday.txt
deleted file mode 100644
index 1967f532..00000000
--- a/world/map/npc/annuals/halloween/doomsday.txt
+++ /dev/null
@@ -1,743 +0,0 @@
-// Evol script
-// Year: 2020
-//
-// Controls Doomsday Event - Vanilla Jande's Rescue (Halloween 2020)
-//
-// Operates: 057-1 070-1 003-1
-// See also: npc/annuals/halloween/munro.txt
-// Variables:
-// $@HW2020_SLAIN, array
-// $@HW2020_TIMER, array
-// $@HW2020_HOCUS, integer
-// (0 - Not yet, 1 - Cutscene, 2 - Ambushed, 3 - Completing, 4 - Completed)
-// $@HW2020_CNT, temporary int
-// $@JACKOID, temporary int
-// $@UnderMc, temporary int
-// @TulimMc, temporary int
-// @JACKOID, temporary int
-// @mobID, temporary int
-// @mobAM, temporary int
-
-////////////////////////////////////////////////
-// JackO Central Processing Core ($@JACKOID)
-function|script|HocusJackO
-{
- if (!$@HW2020_SLAIN[$@JACKOID])
- goto L_Return;
-
- if ($@HW2020_TIMER[$@JACKOID] < gettimetick(2))
- goto L_Expired;
-
- // Count the JackO
- set $@HW2020_CNT, $@HW2020_CNT+1;
- set $@JACKOID, 0;
- return;
-
-// Time expired!
-L_Expired:
- set $@HW2020_SLAIN[$@JACKOID], 0;
- // Re-enable the NPC
- if ($@JACKOID == 0)
- enablenpc "JackO#Tybalt";
- if ($@JACKOID == 1)
- enablenpc "JackO#Nicolas";
- if ($@JACKOID == 2)
- enablenpc "JackO#Elanore";
- if ($@JACKOID == 3)
- enablenpc "JackO#Aisha";
- if ($@JACKOID == 4)
- enablenpc "JackO#Nina";
- if ($@JACKOID == 5)
- enablenpc "JackO#Ian";
- if ($@JACKOID == 6)
- enablenpc "JackO#Luca";
- if ($@JACKOID == 7)
- enablenpc "JackO#Ekinu";
- if ($@JACKOID == 8)
- enablenpc "JackO#Ryan";
- if ($@JACKOID == 9)
- enablenpc "JackO#Neko";
- if ($@JACKOID == 10)
- enablenpc "JackO#Ishi";
- if ($@JACKOID == 11)
- enablenpc "JackO#Sandra";
- if ($@JACKOID == 12)
- enablenpc "JackO#Vincent";
- set $@JACKOID, 0;
- return;
-
-L_Return:
- set $@JACKOID, 0;
- return;
-}
-
-////////////////////////////////////////////////
-// Monster Script Control
--|script|HW2020 Mobs|32767
-{
- close;
-
-OnInit:
- goto L_Main;
-
-// They'll respawn at midday.
-OnClock1200:
- goto L_Main;
-
-L_Main:
- // Do not waste RAM/CPU if we don't need it
- if ($DOOMSDAY != 3 || !$@halloween_time)
- end;
- if ($DOOMSDAY_TJANDE || !$DOOMSDAY_TWARP)
- end;
-
- /////////////////////////////////////////////////////////////////////////
- // Underworld Controller
-
- // TYPE 1141, SASQUATCH
- set $@UnderMc, mobcount("070-1", "HW2020 Mobs::OnDeath1")+1;
- if ($@UnderMc < 20)
- areamonster "070-1", 20, 20, 75, 100, "", 1141, 20-$@UnderMc, "HW2020 Mobs::OnDeath1";
-
- set $@UnderMc, mobcount("070-1", "HW2020 Mobs::OnDeath2")+1;
- if ($@UnderMc < 20)
- areamonster "070-1", 77, 20, 127, 100, "", 1141, 20-$@UnderMc, "HW2020 Mobs::OnDeath2";
-
- set $@UnderMc, mobcount("070-1", "HW2020 Mobs::OnDeath3")+1;
- if ($@UnderMc < 20)
- areamonster "070-1", 130, 20, 170, 100, "", 1141, 20-$@UnderMc, "HW2020 Mobs::OnDeath3";
-
- // TYPE 1140, TENGU
- set $@UnderMc, mobcount("070-1", "HW2020 Mobs::OnDeath4")+1;
- if ($@UnderMc < 20)
- areamonster "070-1", 20, 20, 75, 100, "", 1140, 20-$@UnderMc, "HW2020 Mobs::OnDeath4";
-
- set $@UnderMc, mobcount("070-1", "HW2020 Mobs::OnDeath5")+1;
- if ($@UnderMc < 20)
- areamonster "070-1", 77, 20, 127, 100, "", 1140, 20-$@UnderMc, "HW2020 Mobs::OnDeath5";
-
- set $@UnderMc, mobcount("070-1", "HW2020 Mobs::OnDeath6")+1;
- if ($@UnderMc < 20)
- areamonster "070-1", 130, 20, 170, 100, "", 1140, 20-$@UnderMc, "HW2020 Mobs::OnDeath6";
-
- // TYPE 1143, SLAYER
- set $@UnderMc, mobcount("070-1", "HW2020 Mobs::OnDeath7")+1;
- if ($@UnderMc < 20)
- areamonster "070-1", 20, 20, 75, 100, "", 1143, 20-$@UnderMc, "HW2020 Mobs::OnDeath7";
-
- set $@UnderMc, mobcount("070-1", "HW2020 Mobs::OnDeath8")+1;
- if ($@UnderMc < 20)
- areamonster "070-1", 77, 20, 127, 100, "", 1143, 20-$@UnderMc, "HW2020 Mobs::OnDeath8";
-
- set $@UnderMc, mobcount("070-1", "HW2020 Mobs::OnDeath9")+1;
- if ($@UnderMc < 20)
- areamonster "070-1", 130, 20, 170, 100, "", 1143, 20-$@UnderMc, "HW2020 Mobs::OnDeath9";
-
- // GUARDIANS
- set $@UnderMc, mobcount("070-1", "HW2020 Mobs::OnDeath10")+1;
- if ($@UnderMc < 3)
- areamonster "070-1", 132, 30, 140, 36, "", 1147, 3-$@UnderMc, "HW2020 Mobs::OnDeath10";
-
- set $@UnderMc, mobcount("070-1", "HW2020 Mobs::OnDeath11")+1;
- if ($@UnderMc < 1)
- areamonster "070-1", 134, 32, 135, 34, "", 1146, 1, "HW2020 Mobs::OnDeath10";
-
- /////////////////////////////////////////////////////////////////////////
- // Tulimshar Controller
-
- // Done
- set $@UnderMc, 0;
- end;
-
-// Labels
-OnDeath0:
- end;
-OnDeath1:
- end;
-OnDeath2:
- end;
-OnDeath3:
- end;
-OnDeath4:
- end;
-OnDeath5:
- end;
-OnDeath6:
- end;
-OnDeath7:
- end;
-OnDeath8:
- end;
-OnDeath9:
- end;
-OnDeath10:
- end;
-OnDeath11:
- end;
-OnDeath12:
- end;
-
-OnTimer30000:
- // Check every JackO
- set $@HW2020_CNT, 0;
- set $@JACKOID, 0; callfunc "HocusJackO";
- set $@JACKOID, 1; callfunc "HocusJackO";
- set $@JACKOID, 2; callfunc "HocusJackO";
- set $@JACKOID, 3; callfunc "HocusJackO";
- set $@JACKOID, 4; callfunc "HocusJackO";
- set $@JACKOID, 5; callfunc "HocusJackO";
- set $@JACKOID, 6; callfunc "HocusJackO";
- set $@JACKOID, 7; callfunc "HocusJackO";
- set $@JACKOID, 8; callfunc "HocusJackO";
- set $@JACKOID, 9; callfunc "HocusJackO";
- set $@JACKOID, 10; callfunc "HocusJackO";
- set $@JACKOID, 11; callfunc "HocusJackO";
- set $@JACKOID, 12; callfunc "HocusJackO";
-
- // Check if portal is to be active
- if ($@HW2020_CNT >= 13)
- goto L_Active;
-
- // Janitor
- set $@HW2020_CNT, 0;
- initnpctimer;
- end;
-
-L_Active:
- mapannounce "003-1", "##1There is a loud sound coming from the Bazar.##0" , 0;
- enablenpc "#HW2020Bazar";
- stopnpctimer;
- end;
-
-// Misc functions
-OnStopThere:
- if (getx() > 66 || gety() > 62)
- warp "003-1", 44, 61;
- sendcollision "003-1", 1, 42, 62, 46, 64;
- end;
-
-OnReward:
- set $@HW2020_HOCUS, 4;
- mes "[Jande]";
- mes "Jande was rescued. Numa will take care of him until he recovers.";
- mes "He struggled for words, but the time he spent there did a number on him.";
- mes "";
- mes "What Jande found out? Where is Zax De'Kagen?";
- next;
- mes ".:: DOOMSDAY ACT 5: THE FINAL BATTLE ::.";
- mes "---- ----";
- mes "INTERLUDE III: RESCUING JANDE";
- mes "";
- mes "Continues in ##BOctober 24th, 17:30 UTC##b";
- mes "##1The Final Snapshot will happen at October 31st.##0";
- next;
- // Reward
- set @rand, rand(7);
- if (@rand == 0)
- getitem "Eyepatch", 1; // Classic from HW and Christmas (10% chance)
- if (@rand == 1)
- getitem "MoubooHead", 1; // Replaced from: Circlet
- if (@rand == 2)
- getitem "Goggles", 1;
- if (@rand == 3)
- getitem "LeatherGoggles", 1;
- if (@rand == 4)
- getitem "SailorHat", 1; // Replaced from: Pirate Hat (Rarity)
- if (@rand == 5)
- getitem "SkullMask", 1;
- if (@rand == 6)
- getitem "FaceMask", 1; // Actually Christmas
- warp "009-1", 52, 40;
- message strcharinfo(0), "Numa : Thanks for helping. I know it is not much, but here is a reward for you.";
- close;
-
-}
-
-
-////////////////////////////////////////////////
-// Return gate
-003-1,142,18,0|script|To Underworld|400,1,0
-{
- end;
-OnTouch:
- if ($DOOMSDAY != 3) end;
- if ($DOOMSDAY_TJANDE == 1) end;
- if (!$@halloween_time) end;
-
- warp "070-1", 134, 30;
- close;
-
-OnInit:
- if ($DOOMSDAY != 3)
- disablenpc "To Underworld";
- end;
-}
-
-
-////////////////////////////////////////////////
-003-1,44,64,0|script|#HW2020ActionLess|400,3,0
-{
- end;
-OnTouch:
- if ($@HW2020_HOCUS == 2 || $@HW2020_HOCUS == 3)
- warp "070-1", 0, 0;
- end;
-}
-
-003-1,44,40,0|script|#HW2020Bazar|424,0,0
-{
- close;
-
-OnTouch:
- if ($@HW2020_HOCUS == 0)
- goto L_Ambush;
- if ($@HW2020_HOCUS == 1)
- end;
- if ($@HW2020_HOCUS == 2)
- goto L_Check;
- if ($@HW2020_HOCUS == 3)
- end;
- // GM Special Menu
- if (GM < G_GM)
- warp "009-1", 52, 40;
- if (GM < G_GM)
- end;
- goto L_GMMenu;
-
-// GM Menu
-L_GMMenu:
- mes "This event is already over.";
- mes "However, you are a Game Master.";
- mes "Do you want to allow the battle to happen again?";
- next;
- menu
- "No, I was trying to get to Hurns", L_GMNo,
- "YES, BEGIN THE AMBUSH", L_GMYes,
- "No, it was an accident.", L_GMCancel;
-
-L_GMYes:
- set $@HW2020_HOCUS, 0;
- gmlog strcharinfo(0) + " has reset Halloween 2020 Battle.";
- mes "* BEEEEEEEP *";
- mes "##9(Talk to portal again to ambush)##0";
- close;
-
-L_GMNo:
- warp "009-1", 52, 40;
- close;
-
-L_GMCancel:
- close;
-
-// Main Event
-L_Ambush:
- set $@HW2020_HOCUS, 1;
- mapannounce "003-1", "What, did you thought it would be so easy?" , 0;
- addnpctimer 3000, "#HW2020Bazar::OnAmbush1";
- end;
-
-OnAmbush1:
- mapannounce "003-1", "Hahaha! I am the self-proclaimed sovereign of the underworld..." , 0;
- addnpctimer 3000, "#HW2020Bazar::OnAmbush2";
- end;
-
-OnAmbush2:
- mapannounce "003-1", "...THE LOST! Return to where you come from!!" , 0;
- // Boss and his shrooms
- monster "003-1", 44, 40, "", 1073, 1, "HW2020 Mobs::OnDeath1";
- areamonster "003-1", 20, 20, 60, 60, "", 1106, 12, "HW2020 Mobs::OnDeath2";
- // Collection of nearly every monster you saw thus far :>
- areamonster "003-1", 20, 25, 60, 40, "", 1096, 8, "HW2020 Mobs::OnDeath3";
- areamonster "003-1", 20, 25, 60, 40, "", 1036, 6, "HW2020 Mobs::OnDeath4";
- areamonster "003-1", 20, 20, 60, 35, "", 1103, 6, "HW2020 Mobs::OnDeath5";
- areamonster "003-1", 20, 20, 60, 35, "", 1045, 4, "HW2020 Mobs::OnDeath6";
- areamonster "003-1", 20, 20, 60, 30, "", 1022, 2, "HW2020 Mobs::OnDeath7";
- areamonster "003-1", 20, 20, 60, 30, "", 1075, 2, "HW2020 Mobs::OnDeath8";
- areamonster "003-1", 20, 20, 60, 40, "", 1074, 2, "HW2020 Mobs::OnDeath9";
- areamonster "003-1", 20, 20, 60, 40, "", 1124, 2, "HW2020 Mobs::OnDeath10";
- set $@HW2020_HOCUS, 2;
- areatimer 0, "003-1", 18, 18, 150, 100, 10, "HW2020 Mobs::OnStopThere";
- initnpctimer;
- end;
-
-L_Check:
- set @TulimMc, mobcount("003-1", "HW2020 Mobs::OnDeath1")+1;
- if (@TulimMc)
- goto L_Reaper;
-
- set @TulimMc, @TulimMc+mobcount("003-1", "HW2020 Mobs::OnDeath2")+1;
- set @TulimMc, @TulimMc+mobcount("003-1", "HW2020 Mobs::OnDeath3")+1;
- set @TulimMc, @TulimMc+mobcount("003-1", "HW2020 Mobs::OnDeath4")+1;
- set @TulimMc, @TulimMc+mobcount("003-1", "HW2020 Mobs::OnDeath5")+1;
- set @TulimMc, @TulimMc+mobcount("003-1", "HW2020 Mobs::OnDeath6")+1;
- set @TulimMc, @TulimMc+mobcount("003-1", "HW2020 Mobs::OnDeath7")+1;
- set @TulimMc, @TulimMc+mobcount("003-1", "HW2020 Mobs::OnDeath8")+1;
- set @TulimMc, @TulimMc+mobcount("003-1", "HW2020 Mobs::OnDeath9")+1;
- set @TulimMc, @TulimMc+mobcount("003-1", "HW2020 Mobs::OnDeath10")+1;
-
- if (@TulimMc)
- goto L_NotReady;
-
- goto L_Finish;
-
-L_Reaper:
- message strcharinfo(0), "The Lost : Hahaha! Don't you think I can't see you!";
- set @TulimMc, 0;
- end;
-
-L_NotReady:
- message strcharinfo(0), strcharinfo(0) + " : I can still count "+@TulimMc+" monsters which need to be defeated first.";
- set @TulimMc, 0;
- end;
-
-L_Finish:
- set $@HW2020_HOCUS, 3;
- announce "Doomsday : Jande has been rescued from the Underworld." , 0;
- mapannounce "003-1", "The Lost : To be defeated... You should all get lost here forever..." , 0;
- areatimer 0, "003-1", 18, 18, 66, 62, 2000, "HW2020 Mobs::OnReward";
- stopnpctimer;
- end;
-
-OnInit:
- disablenpc "#HW2020Bazar";
- end;
-
-// Players defeated? :(
-OnTimer5000:
- if (getmapusers("003-1") < 1)
- goto L_Janitor;
- initnpctimer;
- end;
-
-L_Janitor:
- killmonster "003-1", "All";
- set $@HW2020_HOCUS, 0;
- cleararray $@HW2020_SLAIN, 0, 20;
- cleararray $@HW2020_TIMER, 0, 20;
- enablenpc "JackO#Tybalt";
- enablenpc "JackO#Nicolas";
- enablenpc "JackO#Elanore";
- enablenpc "JackO#Aisha";
- enablenpc "JackO#Nina";
- enablenpc "JackO#Ian";
- enablenpc "JackO#Luca";
- enablenpc "JackO#Ekinu";
- enablenpc "JackO#Ryan";
- enablenpc "JackO#Neko";
- enablenpc "JackO#Ishi";
- enablenpc "JackO#Sandra";
- enablenpc "JackO#Vincent";
- disablenpc strnpcinfo(0);
- stopnpctimer;
- end;
-}
-
-////////////////////////////////////////////////
-// Hocus Campaign Main Function
-// HocusCampaign( @JACKOID )
-// Use getmap(), getx() and gety() for spawn centering
-// OnBegin:
-// $@HW2020_SLAIN[ JACKOID ] = False
-// $@HW2020_TIMER[ JACKOID ] = gettimetick(2)
-// Have HW2020 Mobs timer controlling all of them (runs every minute for expire)
-// OnFinish:
-// $@HW2020_SLAIN[ JACKOID ] = True
-// Timer NOT updated!!
-function|script|HocusCampaign
-{
- if (@JACKOID < 1)
- goto L_Return;
-
- set @JACKOID, @JACKOID-1;
-
- if ($@HW2020_TIMER[@JACKOID] > gettimetick(2))
- goto L_Check;
-
- mes "[Jack O]";
- mes "Hohoho... I am the JackO who curses this lost soul.";
- mes "Do you want to free this person? Defeat meeeeee....";
- next;
- mes "[Jack O]";
- mes "Hohoho... Prove your worth, defeat meeeeee....";
- mes "Slay all my minions, can you prove yourself to meeeeee....?";
- next;
- mes "##3.:: Mission Goals ::.##0";
- mes "1. Defeat all monsters spawned by JackO";
- mes "2. Talk to JackO after this to lift the curse";
- mes "3. Once all 13 NPCs curse is lifted, go to ?????";
- mes "";
- mes "##1Time Limit: 30 minutes since first JackO monster spawn.";
- next;
- menu
- "Bring it on!", L_Begin,
- "Not now!", L_Abort;
-
-L_Begin:
- if ($@HW2020_TIMER[@JACKOID] > gettimetick(2))
- goto L_Return;
-
- // Assign timer, set JackO to ACTIVE
- set $@HW2020_SLAIN[@JACKOID], 0;
- set $@HW2020_TIMER[@JACKOID], gettimetick(2)+1800;
-
- // Define mob id
- if (@JACKOID % 8 == 0)
- set @mobID, 1096; // Soul Snake
- if (@JACKOID % 8 == 1)
- set @mobID, 1036; // Zombie
- if (@JACKOID % 8 == 2)
- set @mobID, 1103; // Witch Guard
- if (@JACKOID % 8 == 3)
- set @mobID, 1045; // Fallen
- if (@JACKOID % 8 == 4)
- set @mobID, 1022; // JackO
- if (@JACKOID % 8 == 5)
- set @mobID, 1075; // Stalker
- if (@JACKOID % 8 == 6)
- set @mobID, 1074; // Red Bone
- if (@JACKOID % 8 == 7)
- set @mobID, 1124; // Wight
-
- // Define mob amount
- set @mobAM, 8; // Default
- if (@JACKOID % 8 == 0)
- set @mobAM, 12; // Soul Snake must be more
- if (@JACKOID % 8 >= 4)
- set @mobAM, 6; // Stalker, JackO, Red and Wigh must be less
-
- // Spawn the Monsters
- areamonster "003-1", getx()-10, gety()-10, getx()+10, gety()+10, "", @mobID, @mobAM, "HW2020 Mobs::OnDeath"+@JACKOID;
-
- // Announce
- mapannounce "003-1", "JackO : Hohoho... You cannot defeat meeeee!" , 0;
-
- // Clear temporary variables
- set @mobID, 0;
- set @mobAM, 0;
- close2;
- return;
-
-L_Abort:
- close2;
- return;
-
-L_Check:
- // Count Monsters
- set @TulimMc, mobcount("003-1", "HW2020 Mobs::OnDeath"+@JACKOID)+1;
- if (@TulimMc)
- goto L_Information;
-
- // Disable JackO here, the script will catch that
- set $@HW2020_SLAIN[@JACKOID], 1;
-
- mes "[JackO]";
- mes "Hohoho... We'll meet againnnnnnnn!";
- donpcevent "HW2020 Mobs::OnTimer30000";
- close2;
- return;
-
-L_Information:
- message strcharinfo(0), "JackO : Hohoho... Still "+@TulimMc+" monsters alive... Defeat meeeeee.....!";
- set @TulimMc, 0;
- return;
-
-L_Return:
- return;
-
-}
-
-////////////////////////////////////////////////
-// JackOs (13 JackOs)
-003-1,26,73,0|script|JackO#Tybalt|133
-{
- callfunc "PCtoNPCRange";
- if(@npc_check) end;
- set @JACKOID, 1;
- callfunc "HocusCampaign";
- if ($@HW2020_SLAIN[@JACKOID])
- disablenpc strnpcinfo(0);
- set @JACKOID, 0;
- close;
-}
-
-003-1,101,31,0|script|JackO#Nicolas|133
-{
- callfunc "PCtoNPCRange";
- if(@npc_check) end;
- set @JACKOID, 2;
- callfunc "HocusCampaign";
- if ($@HW2020_SLAIN[@JACKOID])
- disablenpc strnpcinfo(0);
- set @JACKOID, 0;
- close;
-}
-
-003-1,38,66,0|script|JackO#Elanore|133
-{
- callfunc "PCtoNPCRange";
- if(@npc_check) end;
- set @JACKOID, 3;
- callfunc "HocusCampaign";
- if ($@HW2020_SLAIN[@JACKOID])
- disablenpc strnpcinfo(0);
- set @JACKOID, 0;
- close;
-}
-
-003-1,56,70,0|script|JackO#Aisha|133
-{
- callfunc "PCtoNPCRange";
- if(@npc_check) end;
- set @JACKOID, 4;
- callfunc "HocusCampaign";
- if ($@HW2020_SLAIN[@JACKOID])
- disablenpc strnpcinfo(0);
- set @JACKOID, 0;
- close;
-}
-
-003-1,119,33,0|script|JackO#Nina|133
-{
- callfunc "PCtoNPCRange";
- if(@npc_check) end;
- set @JACKOID, 5;
- callfunc "HocusCampaign";
- if ($@HW2020_SLAIN[@JACKOID])
- disablenpc strnpcinfo(0);
- set @JACKOID, 0;
- close;
-}
-
-003-1,32,30,0|script|JackO#Ian|133
-{
- callfunc "PCtoNPCRange";
- if(@npc_check) end;
- set @JACKOID, 6;
- callfunc "HocusCampaign";
- if ($@HW2020_SLAIN[@JACKOID])
- disablenpc strnpcinfo(0);
- set @JACKOID, 0;
- close;
-}
-
-003-1,113,43,0|script|JackO#Luca|133
-{
- callfunc "PCtoNPCRange";
- if(@npc_check) end;
- set @JACKOID, 7;
- callfunc "HocusCampaign";
- if ($@HW2020_SLAIN[@JACKOID])
- disablenpc strnpcinfo(0);
- set @JACKOID, 0;
- close;
-}
-
-003-1,47,79,0|script|JackO#Ekinu|133
-{
- callfunc "PCtoNPCRange";
- if(@npc_check) end;
- set @JACKOID, 8;
- callfunc "HocusCampaign";
- if ($@HW2020_SLAIN[@JACKOID])
- disablenpc strnpcinfo(0);
- set @JACKOID, 0;
- close;
-}
-
-003-1,38,79,0|script|JackO#Ryan|133
-{
- callfunc "PCtoNPCRange";
- if(@npc_check) end;
- set @JACKOID, 9;
- callfunc "HocusCampaign";
- if ($@HW2020_SLAIN[@JACKOID])
- disablenpc strnpcinfo(0);
- set @JACKOID, 0;
- close;
-}
-
-003-1,53,45,0|script|JackO#Neko|133
-{
- callfunc "PCtoNPCRange";
- if(@npc_check) end;
- set @JACKOID, 10;
- callfunc "HocusCampaign";
- if ($@HW2020_SLAIN[@JACKOID])
- disablenpc strnpcinfo(0);
- set @JACKOID, 0;
- close;
-}
-
-003-1,54,51,0|script|JackO#Ishi|133
-{
- callfunc "PCtoNPCRange";
- if(@npc_check) end;
- set @JACKOID, 11;
- callfunc "HocusCampaign";
- if ($@HW2020_SLAIN[@JACKOID])
- disablenpc strnpcinfo(0);
- set @JACKOID, 0;
- close;
-}
-
-003-1,71,61,0|script|JackO#Sandra|133
-{
- callfunc "PCtoNPCRange";
- if(@npc_check) end;
- set @JACKOID, 12;
- callfunc "HocusCampaign";
- if ($@HW2020_SLAIN[@JACKOID])
- disablenpc strnpcinfo(0);
- set @JACKOID, 0;
- close;
-}
-
-003-1,136,35,0|script|JackO#Vincent|133
-{
- callfunc "PCtoNPCRange";
- if(@npc_check) end;
- set @JACKOID, 13;
- callfunc "HocusCampaign";
- if ($@HW2020_SLAIN[@JACKOID])
- disablenpc strnpcinfo(0);
- set @JACKOID, 0;
- close;
-}
-
-057-1,126,63,0|script|#HW2020Shroom|400
-{
- // Halloween only
- if (!$@halloween_time) end;
- callfunc "PCtoNPCRange";
- if(@npc_check) end;
- mes "This is a strange mushroom.";
- mes "Seeing it makes you feel like saying";
- mes "##B" + get(.invocation$, "alonsialonso") + "##b";
- next;
- mes "This never happened before. Must be halloween.";
- mes "I should be careful, it could be related to [@@666|@@]!";
- next;
- mes "##9HINT: Use the spell only in the precise area of interest.##0";
- mes "##9Side effects of spell misuse includes and are not limited to:##0";
- mes "##9death, warp, heal and/or item loss.##0";
- mes "";
- mes "##9The spell will cease to function once Halloween is over.##0";
- close;
-}
-
-070-1,134,30,0|script|#HW2020Chapel|400
-{
- // Halloween only
- if (!$@halloween_time) end;
- callfunc "PCtoNPCRange";
- if(@npc_check) end;
- mes "Past this door lies the crypt where Tormenta was supposed to be.";
- mes "I really should not lock myself up in a place where I cannot leave.";
- next;
- mes "It should be safe to try the following on the door:";
- mes "##B" + get(.invocation$, "alonsialonso") + "##b";
- // NOTE: This door should lead to 070-3, Abyss/Reaper Room.
- // Players from TMW Hardcore would know.
- close;
-}
-
diff --git a/world/map/npc/annuals/halloween/munro.txt b/world/map/npc/annuals/halloween/munro.txt
deleted file mode 100644
index cbbbf233..00000000
--- a/world/map/npc/annuals/halloween/munro.txt
+++ /dev/null
@@ -1,50 +0,0 @@
-// Part of Annual halloween
-026-1,24,37,0|script|Munro|183
-{
- callfunc "HalloweenCheckOld";
- callfunc "TrickOrTreatTally";
- if (($@halloween_time == $@halloween_reward_time) && (@npc_tally >= $@halloween_charm_count) && !(HALLOWEENTIME & $@halloween_got_charm_reward))
- goto L_Halloween;
- goto L_NoReward;
-
-L_NoReward:
- mes "[Munro]";
- mes "\"Greetings mortal.\"";
- next;
- mes "\"Once again we come to that time of year when the veil is thin\"";
- next;
- mes "\"All those who have passed on can part the veil to return.\"";
- next;
- mes "\"A time to celebrate our ancestors and chase evil away.\"";
- next;
- mes "\"Celebrate the holiday with me and I will reward you later.\"";
- goto L_Exit;
-
-L_Halloween:
- mes "[Munro]";
- mes "\"You have shown to have the Halloween spirit. Take this charm.\"";
- set HALLOWEENTIME, HALLOWEENTIME | $@halloween_got_charm_reward;
- getitem "SkeletonCharm",1;
- goto L_Exit;
-
-L_Exit:
- close;
-}
-
-function|script|SpawnMunro
-{
- if ($@halloween_time)
- goto L_EnableMunro;
- goto L_DisableMunro;
-
-L_EnableMunro:
- enablenpc "Munro";
- goto L_Return;
-
-L_DisableMunro:
- disablenpc "Munro";
- goto L_Return;
-
-L_Return:
- return;
-}
diff --git a/world/map/npc/annuals/halloween/trick_or_treat.txt b/world/map/npc/annuals/halloween/trick_or_treat.txt
deleted file mode 100644
index 10265382..00000000
--- a/world/map/npc/annuals/halloween/trick_or_treat.txt
+++ /dev/null
@@ -1,332 +0,0 @@
-// Halloween Annual
-// Authors: alastrim, enchilado, o11c, wushin
-// See config
-function|script|TrickOrTreat
-{
- callfunc "HalloweenCheckOld";
- if ($@halloween_time)
- goto L_Halloween;
- goto L_QuickReturn;
-
-L_Halloween:
- if ((gettimetick(2)-TUT_var < $@halloween_min_age) || (BaseLevel < $@halloween_min_level)) //player must be created at least 1 weeks ago
- goto L_QuickReturn;
- menu
- "Trick or Treat", L_HWQuest,
- "[Go to normal NPC dialog]", L_QuickReturn;
-
-L_HWQuest:
- set @mask, getequipid(equip_head);
- goto L_Begin;
-
-L_Begin:
- set @karma, (HALLOWEENTIME & 65535);
- if (@mask > 0)
- goto L_WearingMask;
- goto L_NoMask;
-
-L_WearingMask:
- // set the scare factor of the equipped mask
- set @mask_index, 0;
- set @scare_factor, 1;
- goto L_MaskLoop;
-
-L_MaskLoop:
- if ($@halloween_mask_IDs[@mask_index] == @mask)
- goto L_FoundMask;
- set @mask_index, @mask_index + 1;
- if ($@halloween_mask_IDs[@mask_index])
- goto L_MaskLoop;
- // not a mask in the list
- set @mask, 0;
- goto L_MaskDone;
-
-L_FoundMask:
- set @scare_factor, $@halloween_scare_factors[@mask_index];
- if (@mask != 616)
- goto L_MaskDone;
- mes "\"Aaargh... Gross! This is sick! I can't even look at your face...\"";
- goto L_MaskDone;
-
-L_MaskDone:
- set @mask_index, 0;
- // check if the mask is in the memory
- set @loop, 0;
- // Note: we don't handle remembered faces until they get their candy
- if (!@mask)
- goto L_MaskMemoryNo;
- // check if the mask is remembered
- goto L_MaskMemoryCheck;
-
-L_MaskMemoryCheck:
- set @tmp, $@halloween_maskmemory[8 * @halloween_npc_id + @loop];
- if (!@tmp)
- goto L_MaskMemoryNo;
- if (@tmp == @mask)
- goto L_MaskMemoryYes;
- set @loop, @loop + 1;
- if (@loop != $@halloween_memory_count)
- goto L_MaskMemoryCheck;
- goto L_MaskMemoryNo;
-
-L_MaskMemoryYes:
- // not necessarily true
- mes "\"I remember you, " + getitemlink(getequipid(equip_head)) + " person. No more treats for you!\"";
- goto L_Close;
-
-L_MaskMemoryNo:
- // player will probably get treats
- set @loop, 0;
- set @sweets_types, 0;
- goto L_Count_Sweets;
-
-L_Count_Sweets:
- if ($@halloween_sweets[@loop] == 0)
- goto L_Check_Inventory;
- if (countitem($@halloween_sweets[@loop]))
- set @sweets_types, @sweets_types + 1;
- set @loop, @loop + 1;
- goto L_Count_Sweets;
-
-L_Check_Inventory:
- getinventorylist;
- if (@inventorylist_count + (@loop - @halloween_invy) > 100)
- goto L_Full_Inventory;
- if (@mask)
- goto L_Check_Karma;
- // check if the player's face is remembered
- if (HALLOWEENTIME & (1 << (31 - @halloween_npc_id)))
- goto L_Remember_Face;
- goto L_Tricking_Trick_or_Treat;
-
-L_Check_Karma:
- // NPC Cheater detection starts after max NPCs hit
- if (rand($@halloween_num_npcs, 65535) <= @karma)
- goto L_Cheater;
- // NPC Cheater detection engages at 48 Trick or Treats
- if (@karma >= 48)
- goto L_Cheater;
- if (HALLOWEENTIME & $@halloween_got_big_reward)
- goto L_Tricking_Trick_or_Treat;
- // assert: @karma < $@halloween_num_npcs
- if (rand($@halloween_num_npcs - @karma))
- goto L_Tricking_Trick_or_Treat;
- mes "\"All this candy isn't healthy, here take this to have a break from it.\"";
- getitem $@halloween_big_reward[rand(getarraysize($@halloween_big_reward))], 1;
- set HALLOWEENTIME, HALLOWEENTIME | $@halloween_got_big_reward;
- // you get the big reward first, then the main treats
- // otherwise it would be too complicated, and/or possibly unfair
- goto L_Tricking_Trick_or_Treat;
-
-L_Cheater:
- mes "\"I recognize you despite your mask, you have been taking sweets you do not deserve.\"";
- if (@karma != 65535)
- set HALLOWEENTIME, HALLOWEENTIME + 1;
- goto L_Close;
-
-L_Remember_Face:
- // mes "You've been here before; I remember your face";
- mes "\"I remember your face, " + strcharinfo(0) + ". No more treats for you!\"";
- goto L_Close;
-
-L_Tricking_Trick_or_Treat:
- // moved above
- mes $@halloween_npc_names$[@halloween_npc_id];
- mes $@halloween_greetings$[@halloween_npc_id];
- next;
- // TODO: should we randomize these? (in a subsequent commit)
- menu
- $@halloween_trick_notscary$[@halloween_npc_id], L_Tricking_Notscary,
- $@halloween_trick_scary$[@halloween_npc_id], L_Tricking_Scary,
- $@halloween_trick_veryscary$[@halloween_npc_id], L_Tricking_Veryscary;
-
-L_Tricking_Notscary:
- mes $@halloween_npc_names$[@halloween_npc_id];
- mes $@halloween_react_notscary$[@halloween_npc_id];
- goto L_Tricking_Reward;
-
-L_Tricking_Scary:
- mes $@halloween_npc_names$[@halloween_npc_id];
- mes $@halloween_react_scary$[@halloween_npc_id];
- set @scare_factor, @scare_factor * 2;
- goto L_Tricking_Reward;
-
-L_Tricking_Veryscary:
- mes $@halloween_npc_names$[@halloween_npc_id];
- mes $@halloween_react_veryscary$[@halloween_npc_id];
- set @scare_factor, @scare_factor * 3;
- goto L_Tricking_Reward;
-
-L_Tricking_Reward:
- next;
- if (@karma >= 16)
- set @scare_factor, rand(@scare_factor / 2, @scare_factor);
- if (@karma >= 24)
- set @scare_factor, rand(@scare_factor / 3, @scare_factor);
- if (@scare_factor < 1)
- set @scare_factor, 1;
- goto L_Tricking_Reward_Loop;
-
-L_Tricking_Reward_Loop:
- set @random, rand($@halloween_sweets_num);
- setarray @getitem_ids, $@halloween_sweets[@random];
- setarray @getitem_counts, 1;
- callfunc "CheckInventory";
- if (@check_fail)
- set @scare_factor, 0;
- if (!@scare_factor)
- goto L_Tricking_End;
- // NOTE: it gives out one piece at a time, but can loop several times
- getitem $@halloween_sweets[@random], 1;
- set @scare_factor, @scare_factor - 1;
- goto L_Tricking_Reward_Loop;
-
-L_SetRememberFace:
- set HALLOWEENTIME, HALLOWEENTIME | (1 << (31 - @halloween_npc_id));
- goto L_Close;
-
-L_Tricking_End:
- mes $@halloween_npc_names$[@halloween_npc_id];
- mes "\"That should be enough sweets for you. Thanks for participating!\"";
- if (!@mask)
- goto L_SetRememberFace;
- // add the player's mask to the list
- set @loop, 7;
- goto L_SetRememberMask;
-
-L_SetRememberMask:
- set $@halloween_maskmemory[8 * @halloween_npc_id + @loop], $@halloween_maskmemory[8 * @halloween_npc_id + @loop - 1];
- set @loop, @loop - 1;
- if (@loop)
- goto L_SetRememberMask;
- set $@halloween_maskmemory[8 * @halloween_npc_id], @mask;
- set HALLOWEENTIME, HALLOWEENTIME + 1;
- goto L_Close;
-
-L_Full_Inventory:
- mes $@halloween_npc_names$[@halloween_npc_id];
- mes "\"You are trying to collect candy but you have no space to carry all the kinds of stuff that I have to offer! Please, save room for more stuff and come back.\"";
- goto L_Close;
-
-L_NoMask:
- mes $@halloween_npc_names$[@halloween_npc_id];
- mes "\"Hey " + strcharinfo(0) + ", are you trying to scare me with your face? Interesting! hahaha...\"";
- goto L_Close;
-
-L_Close:
- set @tmp, 0;
- set @mask, 0;
- set @karma, 0;
- set @loop, 0;
- set @menu, 0;
- set @halloween_npc_id, 0;
- return;
-
-L_QuickReturn:
- set @halloween_npc_id, 0;
- return;
-}
-function|script|TrickOrTreatTally
-{
- set @npc_loop, 0;
- set @npc_tally, 0;
- goto L_LoopCheck;
-
-L_LoopCheck:
- if (HALLOWEENTIME & (1 << (31 - @npc_loop)))
- set @npc_tally, (@npc_tally + 1);
- goto L_IncLoop;
-
-L_IncLoop:
- set @npc_loop, (@npc_loop + 1);
- if (@npc_loop >= 15)
- goto L_Return;
- goto L_LoopCheck;
-
-L_Return:
- return;
-}
-// Checks for an expired event key
-// Each new annual event needs a new key
-// or it will allow completion from last year
-function|script|HalloweenCheckOld
-{
- if(HALLOWEENYEAR == $HALLOWEEN_TIME_KEY[5])
- goto L_Return;
- goto L_OldMatch;
-
-L_OldMatch:
- set HALLOWEENTIME, 0;
- set HALLOWEENYEAR, $HALLOWEEN_TIME_KEY[5];
- goto L_Return;
-
-L_Return:
- return;
-}
-function|script|HalloweenTree
-{
- mes "[Confused Tree]";
- if ((HALLOWEENTIME & 65535) > ($@halloween_num_npcs * 3))
- mes "\"Whoa slow down greedy, leave some candy for the reset of us!\"";
- if ((HALLOWEENTIME & 65535) > $@halloween_num_npcs)
- mes "\"I see you have ben enjoying trick or treating, I hope you don't get a stomach ache.\"";
- if ((HALLOWEENTIME & 65535) <= $@halloween_num_npcs)
- mes "\"I love halloween, wearing masks and going trick or treating is so much fun.\"";
- goto L_StartMenu;
-
-L_StartMenu:
- menu
- "Whats Halloween?", L_Explain,
- "Me too!", L_CheckDressed,
- "Meh, I like Christmas Better.", L_XmasBetter;
-
-L_Explain:
- mes "\"I've convinced some people throughout the world to help with trick or treating.\"";
- next;
- set @npc_check_loop, 0;
- goto L_NpcCheckLoop;
-
-L_NpcCheckLoop:
- mes $@halloween_npc_names$[@npc_check_loop];
- next;
- goto L_NpcCheckInc;
-
-L_NpcCheckInc:
- set @npc_check_loop, (@npc_check_loop + 1);
- if (@npc_check_loop >= getarraysize($@halloween_npc_names$))
- goto L_ContinueExplain;
- goto L_NpcCheckLoop;
-
-L_ContinueExplain:
- mes "\"Find each person and put on a mask then try to scare them.\"";
- next;
- mes "\"The scarier you are, the more treats you will be awarded.\"";
- next;
- mes "\"If you are really scary you could get a rare reward.\"";
- next;
- goto L_StartMenu;
-
-L_CheckDressed:
- set @head, getequipid(equip_head);
- set @chest, getequipid(equip_torso);
- set @leg, getequipid(equip_legs);
- set @random_mes$, "\" I like your costume.\"";
- if ((@head <= 0) && (@chest <= 0) && (@leg <= 0))
- set @random_mes$, "\"Birthday Suit, always a classic.\"";
- if ((@head == 615) && (@chest == 870))
- set @random_mes$, "\"How embrassing... we are wearing the same costume.\"";
- if ((@head == 617) || (@head == 622) || (@head == 621))
- set @random_mes$, "\"Yar, matey I see that.\"";
- if ((@head == 633) || (@head == 1205) || (@chest == 1183) || (@chest == 1184) || (@chest == 1185) || (@chest == 1186) || (@chest == 1187))
- set @random_mes$, "\"Your sense of humor offends me, it's way to early for that.\"";
- mes @random_mes$;
- goto L_Return;
-
-L_XmasBetter:
- mes "\"Bah, Humbug, Show your Halloween spirit! OOooooOooo\"";
- misceffect 302, strcharinfo(0);
- goto L_Return;
-
-L_Return:
- return;
-}