Skip to content

Support Scaeva's global defences per empty socket - #10410

Open
mcagnion wants to merge 1 commit into
PathOfBuildingCommunity:devfrom
mcagnion:bugfix/scaeva-empty-socket-defences
Open

mcagnion wants to merge 1 commit into
PathOfBuildingCommunity:devfrom
mcagnion:bugfix/scaeva-empty-socket-defences

Conversation

@mcagnion

@mcagnion mcagnion commented Nov 7, 2026 •

Copy link
Copy Markdown
Contributor

Description of the problem being solved:

Scaeva's increased Global Defences per Empty Socket modifier is left partially unparsed, so its defence bonus is discarded.

Recognize per empty socket using the existing item-scoped empty-socket multiplier and regenerate the modifier cache. This applies the bonus to armour, evasion, energy shield and ward without adding Scaeva-specific calculation logic.

Steps taken to verify a working solution:

  • Regression coverage equips Scaeva in either hand and checks three, two and zero empty sockets against the equivalent fixed Global Defences bonus for all four defences. Empty sockets on another item do not contribute.
  • Checked the current and legacy Scaeva variants, asymmetric dual-wield occupancy, and neighbouring socket-dependent modifiers.
  • Verified the resulting defence values in the native Calcs view as sockets become occupied.

Before / after screenshots:

Same controlled build in both captures: Scaeva has three empty sockets and a 7% modifier, contributing 21% increased Global Defences after the fix. Captures use the same Wine runtime.

Defences Before After
Armour and evasion Armour and evasion before Armour and evasion after
Energy Shield and Ward Energy Shield and Ward before Energy Shield and Ward after

The item tooltip now recognizes the modifier and includes its defence contribution in the comparison. Both tooltips show the same equipped Scaeva; the comparison describes removing it from Weapon 1. After the fix, removing it loses 213 armour, 213 evasion, 210 Energy Shield and 210 Ward. The red attribute requirements are unchanged in this controlled build.

Item tooltip: before

Scaeva tooltip before: unsupported modifier and no defence delta

Item tooltip: after

Scaeva tooltip after: supported modifier and defence deltas

Risks/notes:

The full test suite has an existing failure in the That Which Was Taken level-requirement expectation in TestRareLike. The same failure reproduces on unmodified dev; the unique's requirement was removed in #10328. It is unrelated to this parser change.

The slot-local socket counter already exists, but the unrecognised suffix
caused the item modifier to be discarded.
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.

1 participant