Skip to content

Parse Breach Ring catalyst quality from game copies#1910

Closed
unrealdreamz wants to merge 1 commit into
PathOfBuildingCommunity:devfrom
unrealdreamz:fix/breach-ring-quality-import
Closed

Parse Breach Ring catalyst quality from game copies#1910
unrealdreamz wants to merge 1 commit into
PathOfBuildingCommunity:devfrom
unrealdreamz:fix/breach-ring-quality-import

Conversation

@unrealdreamz
Copy link
Copy Markdown
Contributor

Fixes #558

Summary

  • Parse copied game catalyst quality lines such as Quality (Attack Modifiers): +50% (augmented).
  • Store the matching catalyst type and catalyst quality on the item.
  • Preserve imported post-quality modifier values without applying catalyst scaling a second time.

Root Cause

The item parser only treated simple Name: value special lines as metadata. Game-copied catalyst quality uses Quality (<modifier family>): +N% (augmented), so it was not recognized as quality metadata and the item lost the Breach Ring catalyst quality display.

Fix

Added a small catalyst-quality label map and a parser for the game-copied quality line before generic mod parsing. The parsed line is metadata-only: it sets item.catalyst and item.catalystQuality, then skips normal modifier parsing so already-augmented copied affix values are not scaled again.

Validation

  • gh pr list --repo PathOfBuildingCommunity/PathOfBuilding-PoE2 --state open -S '558 Breach Rings quality catalyst import' --json number,title,headRefName,author,url --jq '.' returned [].
  • git diff --check passed.
  • git diff --cached --check passed.
  • git show --check --stat --oneline HEAD passed.
  • Added a regression in spec/System/TestItemParse_spec.lua using the copied Breach Ring text from the issue. It asserts the attack catalyst and 50 quality are parsed while the attack damage line keeps valueScalar == 1.

I did not run the containerized Busted suite locally; this machine is currently being kept free of extra containers/windows. The included spec covers the reported import format and the double-scaling guard.

Risk / Rollback

Low to moderate risk. The parser is narrow and only handles Quality (...) catalyst lines with (augmented). Rollback is the single commit on this branch.

@LocalIdentity
Copy link
Copy Markdown
Contributor

Does not correctly affect mods to make them scale back to their base value

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.

Breach Rings do not import quality

2 participants