From 0ebc83384de1837a1a85353e416d2023512eb093 Mon Sep 17 00:00:00 2001 From: Brandon Rodriguez <brodriguez8774@gmail.com> Date: Fri, 23 Aug 2024 20:16:06 -0400 Subject: [PATCH] Correct accessory filtering to show all low level accessories early on --- main.py | 3 ++ resources/data/accessories/amulets.json | 2 +- resources/parsers/accessories.py | 46 +++++++++++-------------- 3 files changed, 24 insertions(+), 27 deletions(-) diff --git a/main.py b/main.py index 9a19d80..814c5a9 100644 --- a/main.py +++ b/main.py @@ -142,6 +142,9 @@ def generate_filter(args, test_mode=False): filter_file.write("#==============================#\n") filter_file.write("#\n#\n") filter_file.write("# Focuses on simplified drops, compared to other filters like Neversink Filterblade.\n") + filter_file.write('#\n') + filter_file.write("# Note: For leveling purposes, some amulets/belts/rings will display") + filter_file.write("# early on, even if set to " '"hidden".') filter_file.write("#\n#\n") filter_file.write("# Generated with:\n") filter_file.write("# Base Drop Level: {0}\n".format(base_drop_level)) diff --git a/resources/data/accessories/amulets.json b/resources/data/accessories/amulets.json index 830b56e..2d6e054 100644 --- a/resources/data/accessories/amulets.json +++ b/resources/data/accessories/amulets.json @@ -109,7 +109,7 @@ "Name": "Seaglass Amulet", "ImplicitType": "% Faster Start of Energy Shield Recharge", "ImplicitValue": [10, 15], - "DropLevel": 24 + "DropLevel": 74 }, { "Type": "Accessory", diff --git a/resources/parsers/accessories.py b/resources/parsers/accessories.py index cb86b34..175b128 100644 --- a/resources/parsers/accessories.py +++ b/resources/parsers/accessories.py @@ -52,11 +52,10 @@ class AccessoryParser: self.parse_belts() self.parse_rings() - def handle_accessory(self, item, exception_list, background_color): + def handle_accessory(self, item, background_color): """ Creates filtering for passed accessory. :param item: Accessory item to determine filtering on. - :param exception_list: List of exceptions. If item is set to hide but in this list, then show for first levels. """ item_type = item["Class"] @@ -92,31 +91,29 @@ class AccessoryParser: base_text=item["Name"], background_color=background_color, ) - - else: - # Accessory set to always hide. - # For some select accessories, we make an exception and show it for the first levels. + elif item["DropLevel"] <= 25: + # Accessory is an early game drop. + # Show for at least a few levels (regardless of provided options), + # so the player has time to build up a base gear set. if self.debug: logger.info("Hidden: {0}".format(item["Name"])) - if item["Name"] in exception_list: - # Exception. Show for first levels, as determined by base_drop_level and rarity_level_modifier. - self.template.rare_item( - base_text=item["Name"], - item_level="<= {0}".format(item["DropLevel"] + rare_drop_modifier), - background_color=background_color, - ) - self.template.uncommon_item( - base_text=item["Name"], - item_level="<= {0}".format(item["DropLevel"] + magic_drop_modifier), - background_color=background_color, - ) - self.template.common_item( - base_text=item["Name"], - item_level="<= {0}".format(item["DropLevel"] + normal_drop_modifier), - background_color=background_color, - ) + self.template.rare_item( + base_text=item["Name"], + item_level="<= {0}".format(item["DropLevel"] + rare_drop_modifier), + background_color=background_color, + ) + self.template.uncommon_item( + base_text=item["Name"], + item_level="<= {0}".format(item["DropLevel"] + magic_drop_modifier), + background_color=background_color, + ) + self.template.common_item( + base_text=item["Name"], + item_level="<= {0}".format(item["DropLevel"] + normal_drop_modifier), + background_color=background_color, + ) def parse_amulets(self): """ @@ -160,7 +157,6 @@ class AccessoryParser: # Create filter for item. self.handle_accessory( item, - ["Coral Amulet", "Paua Amulet"], background_color, ) @@ -204,7 +200,6 @@ class AccessoryParser: # Create filter for item. self.handle_accessory( item, - ["Chain Belt", "Rustic Sash", "Leather Belt"], background_color, ) @@ -248,6 +243,5 @@ class AccessoryParser: # Create filter for item. self.handle_accessory( item, - ["Coral Ring", "Sapphire Ring", "Topaz Ring", "Ruby Ring", "Two-Stone Ring"], background_color, ) -- GitLab