xanthics / PoE_Weighted_Search

Code to generate pathofexile.com/trade searches based on dps weights
MIT License
34 stars 2 forks source link

Cull Mods by Weighted Maximum Value #27

Closed ghr74 closed 3 years ago

ghr74 commented 3 years ago

Currently, mods seem to be culled to fit query size going by their entered weight. However, this method has an issue when considering items featuring mods with very high/low weight multipliers, e.g. Caster Weapons with +1 to level of [type] Skill Gems while also having Increased Critical Strike Chance for Spells that goes up to 109. This can lead to stats with a lower weight multiplier being favored over better stats that come in higher quantities.

My suggested solution would be multiplying the weight by the highest roll possible for that stat to obtain the maximum weighted value, then culling based on this value instead.

xanthics commented 3 years ago

That's part of why my site shows what mods are culled, and their weight. I've been meaning to build a tool for generating mod tiers for my loot filter. Whenever that happens I'll look at bringing it over here. A more extreme example would be accuracy on weapons where it can go up to 780

xanthics commented 3 years ago

Mods now sort based on their value in "Weights" before culling, instead of per point. Let me know if you feel any specific mods should have their numerical values tweaked.

ghr74 commented 3 years ago

Checked it out, marked improvement over the previous way of culling.

Most notable weighting concern I've found would be double damage which rolls 4-5% on weapons, is a popular and powerful stat and is weighted at a 1% value, this could probably be 4% instead. As mentioned in the initial issue, spell crit chance on weapons is still weighted much lower than its potential, with a 16% weight value when it can roll above 100 on a weapon. Maybe the solution here would be to import the stat weights from ItemTester or manually as a 1%/+1 stat value for all stats and then generating the "realistic" weight list afterwards, based on the selected search target Base and respective possible rolls (i.e. Caster Weapon or All Jewel etc.).

Of course, that would still be some effort, so until an automated mod tier generator is in effect, this would largely be useful to at least address outliers like the abovementioned crit chance, maybe something like added flat damage too, which has very different ranges on weapons and jewels.

xanthics commented 3 years ago

I can create some overrides within gensearchparams to account for the base. Double damage is definitely something that should be 4-5% and has been changed locally (waiting on other changes before pushing).

If it wasn't so restrictive to pull data from the trade site, I would just capture the values per slot there. EG image