summaryrefslogtreecommitdiff
path: root/world/map/npc/halloween
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc/halloween')
-rw-r--r--world/map/npc/halloween/2011/config.txt9
-rw-r--r--world/map/npc/halloween/2011/trick_or_treat.txt13
2 files changed, 18 insertions, 4 deletions
diff --git a/world/map/npc/halloween/2011/config.txt b/world/map/npc/halloween/2011/config.txt
index 39587685..31b863e0 100644
--- a/world/map/npc/halloween/2011/config.txt
+++ b/world/map/npc/halloween/2011/config.txt
@@ -10,6 +10,7 @@
// $@hw2011_min_level = Minimum level to go trick-or-treating
// Global stuff
+// $@hw2011_big_reward$ = The main reward randomly given, usually after the counter has reached 7-10
// $@hw2011_sweets$ = Array with all the sweets to be given as treats
// $@hw2011_mask_IDs = Array with the IDs of all the masks that cover your face + The Scary Axehat
// $@hw2011_scare_factors = Array with the basic scare factor of each mask
@@ -39,9 +40,9 @@
// $@hw2011_trick_veryscary$ = Array with the most scary menu options
// $@hw2011_react_veryscary$ = Array with all the reactions to the very scary menu options
-// !!! IMPORTANT NOTE: a maximum of 16 NPCs can be used for this quest !!!
+// !!! IMPORTANT NOTE: a maximum of 15 NPCs can be used for this quest !!!
-009-1.gat,43,40,0|script|#hw2011config|45,{
+-|script|#hw2011config|-1,{
OnInit:
// Set this to 1 for testing, to enable for all of October
set $@hw2011_start_day, 24;
@@ -55,6 +56,8 @@ OnInit:
// Don't decrease this below 10 or the surgeon will be filled with plot holes
set $@hw2011_min_level, 10;
+ set $@hw2011_big_reward$, "BunchOfParsley";
+ set $@hw2011_got_big_reward, 0x10000;
// TODO: review this list
// all sweets are equal currently
setarray $@hw2011_sweets$,
@@ -218,7 +221,7 @@ OnInit:
set $@hw2011_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 $@hw2011_num_npcs, $@n + 1;
- set $@hw2011_all_npc_bits, 0xFFFFFFFF << (32 - $@hw2011_all_npc_bits);
+ set $@hw2011_all_npc_bits, 0xFFFFFFFF << (32 - $@hw2011_num_npcs);
set $@n, 0;
}
diff --git a/world/map/npc/halloween/2011/trick_or_treat.txt b/world/map/npc/halloween/2011/trick_or_treat.txt
index 3f3aa890..f2de95a4 100644
--- a/world/map/npc/halloween/2011/trick_or_treat.txt
+++ b/world/map/npc/halloween/2011/trick_or_treat.txt
@@ -109,10 +109,21 @@ L_Check_Karma:
// Please don't change this, you'll break stuff.
if (rand($@hw2011_num_npcs, 0xffff) <= (hw2011 & 0xffff))
goto L_Cheater;
+ if (hw2011 & $@hw2011_got_big_reward)
+ goto L_Tricking_Trick_or_Treat;
+ // assert: (hw2011 & 0xffff) < $@hw2011_num_npcs
+ if (rand($@hw2011_num_npcs - (hw2011 & 0xffff)))
+ goto L_Tricking_Trick_or_Treat;
+ mes "Here, have something to freshen you up after your long night";
+ getitem $@hw2011_big_reward$, 1;
+ // 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 ((hw2011 & 0xFFFF) != 0xFFFF)
+ set hw2011, hw2011 + 1;
goto L_Close;
L_Remember_Face:
@@ -188,7 +199,7 @@ L_ScaryFace:
mes "\"Oh, that's your face ...\"";
next;
set @mask, 0;
- set @scarefactor, 5;
+ set @scarefactor, 2 + rand(3);
goto L_MaskDone;
L_NoMask: