diff --git a/resources/parsers/currency.py b/resources/parsers/currency.py index bac1bba5abdd2cd3effc052412c54d583d58eb2a..32fba4881acfd37604efa18f9cf39b23fb7a52fc 100644 --- a/resources/parsers/currency.py +++ b/resources/parsers/currency.py @@ -35,7 +35,7 @@ class CurrencyParser(): self.general_currency() self.league_specific() - self.labyrinth_items() + self.quest_like_items() self.currency_catchall() def general_currency(self): @@ -194,11 +194,6 @@ class CurrencyParser(): self.filter_file.write('\n') # Settlers of Kalguur. - self.template.special_item( - description='Kalguur Currency', - class_text="Stackable Currency", - base_text='Gold', - ) self.template.special_item( description='Kalguur Runes', base_text=[ @@ -223,7 +218,7 @@ class CurrencyParser(): # Heist. self.template.special_item( description='Heist Classes', - class_text=["Heist Cloaks", "Heist Brooches", "Heist Gear", "Heist Tools"] + class_text=["Heist Cloaks", "Heist Brooches", "Heist Gear", "Heist Tools", "Heist Target"] ) self.template.special_item( description='Heist Bases', @@ -385,15 +380,15 @@ class CurrencyParser(): base_text=["Deregulation Scroll", "Electroshock Scroll", "Fragmentation Scroll", "Haemocombustion Scroll", "Specularity Scroll", "Time-light Scroll", "Imprint", "Unshaping Orb"], ) - def labyrinth_items(self): + def quest_like_items(self): """ - Handling for labyrinth-specific items. + Handling for quest-like items. """ self.parse_subnum += 1 self.filter_file.write('\n') self.filter_file.write('# ---------------------------------- #\n') - self.filter_file.write('# --- [{0}.{1}] - Labyrinth Items --- #\n'.format(self.parse_num, str(self.parse_subnum).zfill(2))) + self.filter_file.write('# --- [{0}.{1}] - Quest-like Items --- #\n'.format(self.parse_num, str(self.parse_subnum).zfill(2))) self.filter_file.write('# ---------------------------------- #\n') self.filter_file.write('\n') @@ -409,6 +404,18 @@ class CurrencyParser(): base_text=['Key', 'Offering to the Goddess', 'Divine Vessel'] ) + # Labyrinth classes. + self.template.special_item( + description='Quest-like Classes', + class_text=["Incursion Items"] + ) + + # Labyrinth base types. + self.template.special_item( + description='Quest-like Bases', + base_text=["Maven's"] + ) + def currency_catchall(self): """ Catch-all for general currency. diff --git a/resources/parsers/flasks.py b/resources/parsers/flasks.py index f8746d11ed39b09d28088ef5dff7d087d79e284d..318842382529d38e919aaebe2494552d3aaa5abd 100644 --- a/resources/parsers/flasks.py +++ b/resources/parsers/flasks.py @@ -40,6 +40,7 @@ class FlaskParser(): if self.hybrid_flasks: self.show_hybrid_flasks() self.show_utility_flasks() + self.show_tinctures() def parse_flask(self, flask): """ @@ -208,3 +209,24 @@ class FlaskParser(): for flask in json_data: # Parse item. self.parse_flask(flask) + + def show_tinctures(self): + """ + Handling for tinctures. + """ + + self.parse_subnum += 1 + + self.filter_file.write('\n') + self.filter_file.write('# ---------------------------- #\n') + self.filter_file.write('# --- [{0}.{1}] - Tinctures --- #\n'.format(self.parse_num, str(self.parse_subnum).zfill(2))) + self.filter_file.write('# ---------------------------- #\n') + self.filter_file.write('\n') + + self.template.common_item( + base_text="Tincture", + minimap_size=2, + minimap_color=display_dict['minimap_color_flasks'], + minimap_shape=display_dict['minimap_icon_flasks'], + playeffect=display_dict['minimap_color_flasks'], + ) diff --git a/resources/parsers/maps.py b/resources/parsers/maps.py index 61108c31b53f9292f1a4a1404d54ec9b9951b321..127e591b360609f16b647cf900d878461d82d7dc 100644 --- a/resources/parsers/maps.py +++ b/resources/parsers/maps.py @@ -90,6 +90,23 @@ class MapParser(): playeffect=display_dict['minimap_color_maps'], ) + # Misc map items. + self.template.notable_item( + description='Misc map Item Classes', + class_text=[ + "Vault Keys", "Chronicle of Atzoatl", "Inscribed Ultimatum", "Mirrored Tablet", "Primeval Remnant", + "Primordial Remnant", + ], + font_size=display_dict['rare_font_size'], + ) + self.template.notable_item( + description='Misc map Item Bases', + class_text=[ + "Reliquary Key", "Misc Map Items", + ], + font_size=display_dict['rare_font_size'], + ) + # Map-like items. self.template.notable_item( description='Map-like Item Classes', diff --git a/resources/parsers/other.py b/resources/parsers/other.py index 3255fe4b5db93cd112e125826c955a18ce66d25c..99f71794a7fe6fa9182c51287ecb4f9c5ed52cec 100644 --- a/resources/parsers/other.py +++ b/resources/parsers/other.py @@ -234,7 +234,9 @@ class NotableGearParser(): self.filter_file.write('# ----------------------------------- #\n') self.filter_file.write('\n') + # General map influence types. self.template.rare_item( + description='Map-Influenced Types', has_influence=['Shaper', 'Elder', 'Crusader', 'Hunter', 'Redeemer', 'Warlord'], minimap_size=0, minimap_color=display_dict['minimap_color_notable'], @@ -243,6 +245,7 @@ class NotableGearParser(): playeffect=display_dict['minimap_color_notable'], ) self.template.uncommon_item( + description='Map-Influenced Types', has_influence=['Shaper', 'Elder', 'Crusader', 'Hunter', 'Redeemer', 'Warlord'], minimap_size=0, minimap_color=display_dict['minimap_color_notable'], @@ -251,6 +254,7 @@ class NotableGearParser(): playeffect=display_dict['minimap_color_notable'], ) self.template.common_item( + description='Map-Influenced Types', has_influence=['Shaper', 'Elder', 'Crusader', 'Hunter', 'Redeemer', 'Warlord'], minimap_size=0, minimap_color=display_dict['minimap_color_notable'], @@ -259,6 +263,122 @@ class NotableGearParser(): playeffect=display_dict['minimap_color_notable'], ) + # Fractured types. + self.template.rare_item( + description='Fractured Influence Types', + is_fractured=True, + minimap_size=0, + minimap_color=display_dict['minimap_color_notable'], + minimap_shape=display_dict['minimap_icon_influenced'], + sound='5 300', + playeffect=display_dict['minimap_color_notable'], + ) + self.template.uncommon_item( + description='Fractured Influence Types', + is_fractured=True, + minimap_size=0, + minimap_color=display_dict['minimap_color_notable'], + minimap_shape=display_dict['minimap_icon_influenced'], + sound='5 300', + playeffect=display_dict['minimap_color_notable'], + ) + self.template.common_item( + description='Fractured Influence Types', + is_fractured=True, + minimap_size=0, + minimap_color=display_dict['minimap_color_notable'], + minimap_shape=display_dict['minimap_icon_influenced'], + sound='5 300', + playeffect=display_dict['minimap_color_notable'], + ) + + # Synthesized types. + self.template.rare_item( + description='Synthesis Influence Types', + is_synthesized=True, + minimap_size=0, + minimap_color=display_dict['minimap_color_notable'], + minimap_shape=display_dict['minimap_icon_influenced'], + sound='5 300', + playeffect=display_dict['minimap_color_notable'], + ) + self.template.uncommon_item( + description='Synthesis Influence Types', + is_synthesized=True, + minimap_size=0, + minimap_color=display_dict['minimap_color_notable'], + minimap_shape=display_dict['minimap_icon_influenced'], + sound='5 300', + playeffect=display_dict['minimap_color_notable'], + ) + self.template.common_item( + description='Synthesis Influence Types', + is_synthesized=True, + minimap_size=0, + minimap_color=display_dict['minimap_color_notable'], + minimap_shape=display_dict['minimap_icon_influenced'], + sound='5 300', + playeffect=display_dict['minimap_color_notable'], + ) + + # Mirrored types. + self.template.rare_item( + description='Mirror Types', + is_mirrored=True, + minimap_size=0, + minimap_color=display_dict['minimap_color_notable'], + minimap_shape=display_dict['minimap_icon_influenced'], + sound='5 300', + playeffect=display_dict['minimap_color_notable'], + ) + self.template.uncommon_item( + description='Mirror Types', + is_mirrored=True, + minimap_size=0, + minimap_color=display_dict['minimap_color_notable'], + minimap_shape=display_dict['minimap_icon_influenced'], + sound='5 300', + playeffect=display_dict['minimap_color_notable'], + ) + self.template.common_item( + description='Mirror Types', + is_mirrored=True, + minimap_size=0, + minimap_color=display_dict['minimap_color_notable'], + minimap_shape=display_dict['minimap_icon_influenced'], + sound='5 300', + playeffect=display_dict['minimap_color_notable'], + ) + + # Replica types. + self.template.rare_item( + description='Replica Types', + is_replica=True, + minimap_size=0, + minimap_color=display_dict['minimap_color_notable'], + minimap_shape=display_dict['minimap_icon_influenced'], + sound='5 300', + playeffect=display_dict['minimap_color_notable'], + ) + self.template.uncommon_item( + description='Replica Types', + is_replica=True, + minimap_size=0, + minimap_color=display_dict['minimap_color_notable'], + minimap_shape=display_dict['minimap_icon_influenced'], + sound='5 300', + playeffect=display_dict['minimap_color_notable'], + ) + self.template.common_item( + description='Replica Types', + is_replica=True, + minimap_size=0, + minimap_color=display_dict['minimap_color_notable'], + minimap_shape=display_dict['minimap_icon_influenced'], + sound='5 300', + playeffect=display_dict['minimap_color_notable'], + ) + def parse_veiled_items(self): """ Handling for betrayal league veiled items. @@ -310,4 +430,17 @@ class FinalParser(): self.filter_file.write('# ======================================= #\n') self.filter_file.write('\n') + # Hide any gear that has not yet been parsed. + self.template.hidden_item( + description='Hide remaining gear that has not yet been parsed.', + base_text=["Helmets", "Body Armours", "Gloves", "Boots", "Ring", "Belt", "Amulet"] + ) + + # Kalguur gold currency. + # Set here so that it will not accidentally make gear with text "gold" special. + self.template.special_item( + base_text='Gold', + ) + + # Hide everything else that has not yet been parsed. self.template.hidden_item(description='Hide everything else of little to no value') diff --git a/resources/parsers/templates.py b/resources/parsers/templates.py index 9166eb516965319465160b35baab4928a6930c9a..dc7c43104fd9b97e6025727e443abeb3352cf429 100644 --- a/resources/parsers/templates.py +++ b/resources/parsers/templates.py @@ -53,7 +53,12 @@ class FilterTemplates(): area_level=None, item_level=None, quality=None, linked_sockets=None, socket_group=None, sockets=None, height=None, width=None, - has_influence=None, map_tier=None, + has_influence=None, + is_fractured=None, + is_synthesized=None, + is_mirrored=None, + is_replica=None, + map_tier=None, background_color=display_dict['standard_background'], border_color=display_dict['rare'], text_color=display_dict['rare_text'], font_size=display_dict['rare_font_size'], minimap_size=None, minimap_color=None, minimap_shape=None, @@ -66,7 +71,12 @@ class FilterTemplates(): area_level=area_level, item_level=item_level, rarity='Rare', quality=quality, linked_sockets=linked_sockets, socket_group=socket_group, sockets=sockets, height=height, width=width, - has_influence=has_influence, map_tier=map_tier, + has_influence=has_influence, + is_fractured=is_fractured, + is_synthesized=is_synthesized, + is_mirrored=is_mirrored, + is_replica=is_replica, + map_tier=map_tier, background_color=background_color, border_color=border_color, text_color=text_color, font_size=font_size, minimap_size=minimap_size, minimap_color=minimap_color, minimap_shape=minimap_shape, @@ -78,7 +88,12 @@ class FilterTemplates(): area_level=None, item_level=None, quality=None, linked_sockets=None, socket_group=None, sockets=None, height=None, width=None, - has_influence=None, map_tier=None, + has_influence=None, + is_fractured=None, + is_synthesized=None, + is_mirrored=None, + is_replica=None, + map_tier=None, background_color=display_dict['standard_background'], border_color=display_dict['uncommon'], text_color=display_dict['uncommon_text'], font_size=display_dict['uncommon_font_size'], minimap_size=None, minimap_color=None, minimap_shape=None, @@ -91,7 +106,12 @@ class FilterTemplates(): area_level= area_level, item_level=item_level, rarity='Magic', quality=quality, linked_sockets=linked_sockets, socket_group=socket_group, sockets=sockets, height=height, width=width, - has_influence=has_influence, map_tier=map_tier, + has_influence=has_influence, + is_fractured=is_fractured, + is_synthesized=is_synthesized, + is_mirrored=is_mirrored, + is_replica=is_replica, + map_tier=map_tier, background_color=background_color, border_color=border_color, text_color=text_color, font_size=font_size, minimap_size=minimap_size, minimap_color=minimap_color, minimap_shape=minimap_shape, @@ -103,7 +123,12 @@ class FilterTemplates(): area_level=None, item_level=None, quality=None, linked_sockets=None, socket_group=None, sockets=None, height=None, width=None, - has_influence=None, map_tier=None, + has_influence=None, + is_fractured=None, + is_synthesized=None, + is_mirrored=None, + is_replica=None, + map_tier=None, background_color=display_dict['standard_background'], border_color=display_dict['notable_border'], text_color=display_dict['notable_text'], font_size=display_dict['default_font_size'], minimap_size=None, minimap_color=None, minimap_shape=None, @@ -116,7 +141,12 @@ class FilterTemplates(): area_level=area_level, item_level=item_level, quality=quality, linked_sockets=linked_sockets, socket_group=socket_group, sockets=sockets, height=height, width=width, - has_influence=has_influence, map_tier=map_tier, + has_influence=has_influence, + is_fractured=is_fractured, + is_synthesized=is_synthesized, + is_mirrored=is_mirrored, + is_replica=is_replica, + map_tier=map_tier, background_color=background_color, border_color=border_color, text_color=text_color, font_size=font_size, minimap_size=minimap_size, minimap_color=minimap_color, minimap_shape=minimap_shape, @@ -128,7 +158,12 @@ class FilterTemplates(): area_level=None, item_level=None, quality=None, linked_sockets=None, socket_group=None, sockets=None, height=None, width=None, - has_influence=None, map_tier=None, + has_influence=None, + is_fractured=None, + is_synthesized=None, + is_mirrored=None, + is_replica=None, + map_tier=None, background_color=display_dict['standard_background'], border_color=None, text_color=display_dict['normal_text'], font_size=display_dict['default_font_size'], minimap_size=None, minimap_color=None, minimap_shape=None, @@ -141,7 +176,12 @@ class FilterTemplates(): area_level=area_level, item_level=item_level, quality=quality, linked_sockets=linked_sockets, socket_group=socket_group, sockets=sockets, height=height, width=width, - has_influence=has_influence, map_tier=map_tier, + has_influence=has_influence, + is_fractured=is_fractured, + is_synthesized=is_synthesized, + is_mirrored=is_mirrored, + is_replica=is_replica, + map_tier=map_tier, background_color=background_color, border_color=border_color, text_color=text_color, font_size=font_size, minimap_size=minimap_size, minimap_color=minimap_color, minimap_shape=minimap_shape, @@ -298,7 +338,13 @@ class BaseTemplate(): area_level=None, item_level=None, rarity=None, quality=None, linked_sockets=None, socket_group=None, sockets=None, height=None, width=None, - has_mod=None, has_influence=None, map_tier=None, + has_mod=None, + has_influence=None, + is_fractured=None, + is_synthesized=None, + is_mirrored=None, + is_replica=None, + map_tier=None, background_color=None, border_color=None, text_color=None, font_size=None, minimap_size=None, minimap_color=None, minimap_shape=None, @@ -370,6 +416,14 @@ class BaseTemplate(): self.filter_file.write(' HasExplicitMod {0}\n'.format(self._format_item_text(has_mod))) if has_influence is not None: self.filter_file.write(' HasInfluence {0}\n'.format(self._format_item_text(has_influence))) + if is_fractured is not None: + self.filter_file.write(' FracturedItem {0}\n'.format(self._format_item_text(is_fractured))) + if is_synthesized is not None: + self.filter_file.write(' SynthesisedItem {0}\n'.format(self._format_item_text(is_synthesized))) + if is_mirrored is not None: + self.filter_file.write(' Mirrored {0}\n'.format(self._format_item_text(is_mirrored))) + if is_replica is not None: + self.filter_file.write(' Replica {0}\n'.format(self._format_item_text(is_replica))) if map_tier is not None: self.filter_file.write(' MapTier {0}\n'.format(str(map_tier).strip())) @@ -417,6 +471,7 @@ class BaseTemplate(): # Return formatted set. return formatted_text + elif isinstance(item_text, str): # Strip possible outer whitespace. item_text = item_text.strip() @@ -431,6 +486,11 @@ class BaseTemplate(): # Return formatted item. return item_text + + elif item_text is True or item_text is False: + # Is literal boolean. Can set as normal string, no quotes. + return str(item_text) + else: # Item is neither set or string. raise TypeError('Passed item must be either set (list/tuple) or string value.')