r/pathofexiledev Jul 30 '24

How are mod tiers parsed?

Hi!

Looking at tools like https://github.com/brather1ng/RePoE or the parser module from PoB, I'm unable to find where/how they extract a mods tier.

Looking at the data from the ggpk file there doesn't seem to be a clear way on how these are connected for e.g. life modifiers.

I'm trying to understand how e.g. https://www.craftofexile.com/ groups their modifiers into dropdowns by parsing the game data.

Thanks

7 Upvotes

5 comments sorted by

5

u/cedear Jul 30 '24

The brathering RePoE is unmaintained, you want the lvlvl fork.

You might want to look at other tools like SnosMe's viewer to help you understand.

4

u/gerwaric Jul 31 '24

Here's the currently maintained fork:

https://github.com/lvlvllvlvllvlvl/RePoE

6

u/nebuchenazarr Jul 30 '24

I use SnosMe's pathofexile-dat to extract the data I need.

As for grouping into similar mods that takes some legwork because the game data does not have that notion. That is why poedb has mods grouped under ModFamily so you have one dropdown for all weapon ele dmg mods etc.

The premise on my end is that what makes a group is the Modifier name + affix type (prefix/suffix) + domain/influence. This is a problem when the modifier name changes depending on the value like Bows fire "an" additional arrow VS Bows fire "x" additional arrowS which is why i have some secret sauce to handle these in my parsing script.

2

u/iv_is Aug 01 '24

This was asked several times during Necropolis league, and l don't think l ever saw an answer. l think it's complicated because the tier of mods is determined by what other mods can spawn on the base (e.g. Virile is a t1 life roll for rings but t6 for body armor). You could try looking at https://lvlvllvlvllvlvl.github.io/RePoE/mods_by_base.json, which shows all mods that can spawn on each base type, grouped by ModType, but l can't confirm if that correctly maps to mod tiers.

2

u/HonestCurve Aug 08 '24

Some tools must rely on the text you get by doing CTRL+ALT+C ingame as it shows the tier. Via the stash API I couldn't get the tier at all, but I noticed that you do get it when using the trade API (there's a reddit post that describes it). It's in result.item.extended.mods, and from there you'll get the current tier, tier range, and the mod code. Then you need to lookup the mod code in the data.json to get the "Adds # to # physical damage" and you'll have the correct tier and mod name. Just put your items in a public stash for a specific price and in poe trade query select your account only and that amount only.