diff options
Diffstat (limited to 'npc/annuals/xmas/helpers.txt')
-rw-r--r-- | npc/annuals/xmas/helpers.txt | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/npc/annuals/xmas/helpers.txt b/npc/annuals/xmas/helpers.txt new file mode 100644 index 00000000..28d5e650 --- /dev/null +++ b/npc/annuals/xmas/helpers.txt @@ -0,0 +1,44 @@ + +function script XmasHelperPoints { + @xmas_helper_count = 0; + @xmas_helper_loop = 0; + if((@xmas_helper_done_state) || !(@xmas_helper_start_state)) + goto L_Return; + goto L_Loop; + +L_Loop: + if(XMASTIME & $@xmas_helper_list[@xmas_helper_loop]) + goto L_AddOne; + goto L_LoopAgain; + +L_AddOne: + @xmas_helper_count = (@xmas_helper_count + 1); + goto L_LoopAgain; + +L_LoopAgain: + if((@xmas_helper_loop + 1) == getarraysize($@xmas_helper_list)) + goto L_HelperTally; + @xmas_helper_loop = (@xmas_helper_loop + 1); + goto L_Loop; + +L_HelperTally: + if(@xmas_helper_count == $@xmas_perfect_helpers_count) + goto L_PerfectHelpers; + if(@xmas_helper_count > $@xmas_required_helpers_count) + goto L_SetHelperState; + goto L_Return; + +L_PerfectHelpers: + XMASTIME = XMASTIME | $@xmas_all_helpers_bit; + goto L_SetHelperState; + +L_SetHelperState: + @xmas_state = $@xmas_helpers_done_state; + callfunc "XmasSetState"; + goto L_Return; + +L_Return: + @xmas_helper_count = 0; + @xmas_helper_loop = 0; + return; +} |