PathOfBuildingCommunity / PathOfBuilding

Offline build planner for Path of Exile.
https://pathofbuilding.community
Other
3.63k stars 2k forks source link

Multiple incorrect errors when searching for ring to replace ring with life reservation efficiency #7641

Open rainbolts opened 4 weeks ago

rainbolts commented 4 weeks ago

Check version

Check for duplicates

How is Path of Building expected to behave?

Minimum behavior to solve the issue: When I click "Find best", PoB displays an error message that makes sense. For example "Cannot generate weighted search because one or more modifiers on the item being replaced increases your EHP by infinity."

Beyond the bug into feature request territory: I want PoB to generate a link that includes life reservation efficiency as a required mod, and the remaining mods by weight as it currently does. This is what I do to work around the issue. Happy to split this into a separate feature request if the team likes the idea and wants me to split it.

How does Path of Building behave?

When I click "Find best", PoB generates an error message.

How to reproduce the issue

I created a minimal build for this issue and referenced it in the steps below. If I need to provide steps to repro from scratch, please let me know.

  1. Load the character build code.
  2. On the Items tab, click "Trade for these items."
  3. Adjust search weights such that Effective Hit Pool is at 1.00 and all other weights are zero.
  4. On the Ring 1 slot, click "Find Best".

Observe error: Could not generate search, change active skill or enable FullDPS on some skills.

  1. On the Skills tab, enable the "Include in Full DPS" option for Smite.
  2. Once again attempt to generate an item for the Ring 1 slot.

Observe error Could not generate search, found no mods to search for.

I believe the problem is that without life reservation efficiency on the ring, the character would have an EHP value of -inf. When PoB attempts to find a replacement, it probably fails because the weighted value of life reservation efficiency is infinitely higher than every other modifier. This seems like something PoB could detect and, at the very least, display a more appropriate error message.

Related to #6119. The main difference is that in #6119, it is not possible to improve on infinite EHP. The character in this issue has a finite EHP, and it is possible (albeit more difficult than usual) to improve.

Character build code

https://pobb.in/TEmwxlYacqpX

Screenshots

image