Skip to content

Fix active gem DPS sorting#1900

Closed
unrealdreamz wants to merge 1 commit into
PathOfBuildingCommunity:devfrom
unrealdreamz:fix/active-gem-dps-sorting
Closed

Fix active gem DPS sorting#1900
unrealdreamz wants to merge 1 commit into
PathOfBuildingCommunity:devfrom
unrealdreamz:fix/active-gem-dps-sorting

Conversation

@unrealdreamz
Copy link
Copy Markdown
Contributor

Summary

Fixes #1633.

Includes active replacement gems in the existing DPS sort estimate so active gems that change the selected skill's DPS are ranked by their actual impact instead of being left at the base build DPS.

Root Cause

GemSelectControl:UpdateSortCache only ran the DPS comparison for support gems that could support the displayed active skill, plus non-support gems with global effects. Ordinary active gems in the active-gem slot were still valid replacement candidates, but they were never sent through CalcOutputWithThisGem, so they kept the base DPS value and missed the impact marker.

Fix

  • Track which gem candidates actually receive a DPS estimate.
  • Estimate DPS for non-support gems when the selector is editing the active gem slot.
  • Show the existing + impact marker only for active replacement gems whose calculated DPS differs from the base DPS.
  • Add a regression covering an Oil Grenade active slot where Explosive Grenade must receive a calculated DPS entry.

Validation

  • git diff --check — passed, CRLF conversion warnings only.
  • git diff --cached --check — passed, CRLF conversion warnings only.
  • git show --check --stat --oneline HEAD — passed.

I did not run Docker/Busted locally on this machine; the local test path for this repo is container-based and I avoided starting containers or external windows during this contribution pass.

Risk / Rollback

Risk is limited to the gem selector DPS-sort cache. The change reuses the existing calculator path already used for support/global-effect gem comparisons, and only broadens it for active-gem replacements in the active slot. Rollback is the single commit if it causes selector-performance or sorting regressions.

@LocalIdentity
Copy link
Copy Markdown
Contributor

Fixing this requires iterating across stat sets and have configs set correctly and even then it only applies for the first skill in a build so is largely useless

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Active Gems Contributing to DPS but not sorted for DPS

2 participants