From 6be13484c7e4244943c3e0be3720cbef78339ad5 Mon Sep 17 00:00:00 2001 From: Ben Longbons Date: Thu, 20 Oct 2011 19:48:15 -0700 Subject: Fix halloween quest and add 'big reward'. --- world/map/npc/halloween/2011/config.txt | 9 ++++++--- world/map/npc/halloween/2011/trick_or_treat.txt | 13 ++++++++++++- 2 files changed, 18 insertions(+), 4 deletions(-) (limited to 'world/map/npc/halloween') 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: -- cgit v1.2.3-70-g09d2