From 7a5481df8f9a82dbcef38f9bb7b3509217d142d4 Mon Sep 17 00:00:00 2001 From: angelic_knight Date: Thu, 1 Sep 2022 21:06:50 -0500 Subject: [PATCH 1/3] Updating spec for Mods --- PyPoE/poe/file/specification/data/stable.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/PyPoE/poe/file/specification/data/stable.py b/PyPoE/poe/file/specification/data/stable.py index 892bc358..2f54ad79 100644 --- a/PyPoE/poe/file/specification/data/stable.py +++ b/PyPoE/poe/file/specification/data/stable.py @@ -15687,6 +15687,15 @@ ), ), ), + 'ModFamily.dat': File( + fields=( + Field( + name='Id', + type='ref|string', + unique=True, + ), + ), + ), 'ModSellPriceTypes.dat': File( fields=( Field( @@ -15788,8 +15797,9 @@ enum='MOD_GENERATION_TYPE', ), Field( - name='Keys0', + name='ModGroups', type='ref|list|ulong', + key='ModFamily.dat' ), Field( name='Stat1Min', From c8a114c5ea6b74153502a2a3b51b404b6cbeb5ce Mon Sep 17 00:00:00 2001 From: James Murray Date: Sat, 17 Sep 2022 17:18:46 -0500 Subject: [PATCH 2/3] Spec updates for crafting bench related things --- PyPoE/poe/file/specification/data/stable.py | 76 ++++++++++++--------- 1 file changed, 42 insertions(+), 34 deletions(-) diff --git a/PyPoE/poe/file/specification/data/stable.py b/PyPoE/poe/file/specification/data/stable.py index 2f54ad79..5c80b04f 100644 --- a/PyPoE/poe/file/specification/data/stable.py +++ b/PyPoE/poe/file/specification/data/stable.py @@ -6267,7 +6267,7 @@ type='int', ), Field( - name='EndlessDelveMonsterLevel', #This is pobably endless delve mosnter level scaling. + name='EndlessDelveMonsterLevel', #This is pobably endless delve monster level scaling. type='int', ), ), @@ -7074,19 +7074,15 @@ ), Field( name='Unknown0', - type='int', + type='ulong', ), Field( name='Unknown1', - type='int', - ), - Field( - name='Unknown2', - type='int', + type='ulong', ), Field( - name='Unknown3', - type='int', + name='List', + type='ref|list|ulong', ), Field( name='EnvironmentTransitionsKey', @@ -11671,18 +11667,6 @@ name='IsNonMasterDoodad', type='bool', ), - Field( - name='Unknown0', - type='int', - ), - Field( - name='Unknown1', - type='int', - ), - Field( - name='Unknown2', - type='int', - ), Field( name='InheritsFrom', type='ref|string', @@ -11715,6 +11699,18 @@ type='ulong', #key='HideoutDoodadCategory.dat', ), + Field( + name='Unknown0', + type='int' + ), + Field( + name='Flag2', + type='bool', + ), + Field( + name='Key1', + type='ulong', + ), ), ), 'HideoutNPCs.dat': File( @@ -11739,23 +11735,23 @@ type='int', ), Field( - name='Unknown0', - type='int', + name='Key0', + type='ulong', ), Field( - name='Unknown1', - type='int', + name='Key1', + type='ulong', ), Field( - name='Unknown2', + name='Unknown1', type='int', ), Field( - name='Key0', + name='Key2', type='ulong', ), Field( - name='Unknown3', + name='Unknown2', type='int', ), Field( @@ -11763,7 +11759,7 @@ type='bool', ), Field( - name='Key1', + name='Key3', type='ulong', ), ), @@ -17487,6 +17483,10 @@ name='Unknown38', type='int', ), + Field( + name='Unknown39', + type='int', + ), ), ), 'MoveDaemon.dat': File( @@ -17811,6 +17811,14 @@ name='Unknown3', type='int', ), + Field( + name='Unknown4', + type='int', + ), + Field( + name='Unknown5', + type='int', + ), ), ), 'NPCConversations.dat': File( @@ -18379,8 +18387,8 @@ file_ext='.ot, .otc', ), Field( - name='Unknown0', - type='int', + name='Key0', + type='ulong', ), Field( name='NPCMasterKey', @@ -23538,7 +23546,7 @@ ), Field( name='Unknown2', - type='int', + type='ulong', ), Field( name='Data0', @@ -23564,11 +23572,11 @@ ), Field( name='Unknown5', - type='int', + type='ulong', ), Field( name='Unknown6', - type='int', + type='ulong', ), Field( name='Bosses_MonsterVarietiesKeys', From 4732aea1e6897171b164e9c12752bcd0a6f06b0f Mon Sep 17 00:00:00 2001 From: angelic_knight Date: Mon, 5 Dec 2022 23:54:20 -0600 Subject: [PATCH 3/3] Save mod_groups to wiki and preserve existing mod_group field --- PyPoE/cli/exporter/wiki/parsers/mods.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/PyPoE/cli/exporter/wiki/parsers/mods.py b/PyPoE/cli/exporter/wiki/parsers/mods.py index cb1ea650..7b91112a 100644 --- a/PyPoE/cli/exporter/wiki/parsers/mods.py +++ b/PyPoE/cli/exporter/wiki/parsers/mods.py @@ -68,6 +68,7 @@ class OutOfBoundsWarning(UserWarning): class ModWikiCondition(WikiCondition): COPY_KEYS = ( 'tier_text', + 'mod_group', ) NAME = 'Mod' @@ -220,7 +221,7 @@ def _export(self, parsed_args, mods): for k in ( ('Id', 'id'), - ('CorrectGroup', 'mod_group'), + #('ModGroups', 'mod_groups'), ('Domain', 'domain'), ('GenerationType', 'generation_type'), ('Level', 'required_level'), @@ -237,6 +238,9 @@ def handler(hstr, parameter): data['name'] = root.handle_tags({'if': handler, 'elif': handler}) + if mod['ModGroups']: + data['mod_groups'] = ', '.join([mod_fam['Id'] for mod_fam in mod['ModGroups']]) + # TODO: need to look into this before completely removing it. # print('yep', mod)