diff --git a/PyPoE/cli/exporter/util.py b/PyPoE/cli/exporter/util.py index 3638c55f..9a74c712 100644 --- a/PyPoE/cli/exporter/util.py +++ b/PyPoE/cli/exporter/util.py @@ -75,7 +75,9 @@ def get_content_path(): def fix_path(path: str) -> str: - if re.match('[a-zA-Z]:.*', path): + #First, replace any double quotes with HTML-encoded quotes + path = path.replace('\"','"') + if re.search('[a-zA-Z]:.*', path) is not None: return path[:2] + re.sub(r':', '_', path[2:]) else: return path \ No newline at end of file diff --git a/PyPoE/cli/exporter/wiki/parsers/item.py b/PyPoE/cli/exporter/wiki/parsers/item.py index cf15c2e6..54c96744 100644 --- a/PyPoE/cli/exporter/wiki/parsers/item.py +++ b/PyPoE/cli/exporter/wiki/parsers/item.py @@ -2705,7 +2705,7 @@ def _type_amulet(self, infobox, base_item_type): return True _type_armour = _type_factory( - data_file='ComponentArmour.dat', + data_file='ArmourTypes.dat', data_mapping=( ('Armour', { 'template': 'armour', @@ -2723,8 +2723,12 @@ def _type_amulet(self, infobox, base_item_type): 'template': 'movement_speed', 'condition': lambda v: v != 0, }), + ('Ward', { + 'template': 'ward', + 'condition': lambda v: v != 0, + }), ), - row_index=False, + row_index=True, ) _type_shield = _type_factory( diff --git a/PyPoE/poe/constants.py b/PyPoE/poe/constants.py index 6455726e..63e97963 100644 --- a/PyPoE/poe/constants.py +++ b/PyPoE/poe/constants.py @@ -619,6 +619,8 @@ class MAP_FRAGMENT_FAMILIES(IntEnumOverride): LEGION = 11 METAMORPH = 12 REGULAR = 13 + ABYSS = 14 + BOSSANDOIL = 15 DEFAULT = REGULAR STANDARD = REGULAR diff --git a/PyPoE/poe/file/specification/data/stable.py b/PyPoE/poe/file/specification/data/stable.py index b0f3a4bc..0b74c754 100644 --- a/PyPoE/poe/file/specification/data/stable.py +++ b/PyPoE/poe/file/specification/data/stable.py @@ -1405,6 +1405,7 @@ name='BaseItemTypesKey', type='ulong', key='BaseItemTypes.dat', + unique=True, ), Field( name='Armour', @@ -14108,6 +14109,14 @@ name='Flag3', type='bool', ), + Field( + name='Flag4', + type='bool', + ), + Field( + name='Flag5', + type='bool', + ), ), ), 'MapInhabitants.dat': File(