Add support for toggling foulborn modifiers on uniques#9946
Draft
vaisest wants to merge 3 commits into
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #9355 and some reddit complaints.
Description of the problem being solved:
This adds a checkbox to turn an unique mod into a foulborn mod. This is primarily done by matching the item title (e.g. "Mageblood") and a normalised mod line to a list of transformations taken from the wiki with a simple JS script which is described in the .jsonc comments.
The wiki data is used because it is much simpler and the mod mappings cannot be exported directly from the game files. As mentioned by Wires, it is possible to get these from the trade site, but this feels very complex for the same result, and I opted to focus on implementing the feature first here. If it is important, it could be added in a separate PR.
This ended up feeling a bit complex due to difficulties in matching the mods. PoB seems to split lines in odd ways and foulborn mods can map one mod to several lines.
This uses text-based mod matching, which I think is pretty bad because it often ends up being hard to read, but the pool of mods is small and verifiable. This, as far as I know, only misses two mods which are both on midnight bargain. For some reason the lines on this are sorted differently, and the three line mod is also missed. This is probably possible to fix, but would require the matching to be a lot more complex.
Existing foulborn items won't match. It would probably be possible to do this, but I'm not sure it is as important since you can just add a similar item from the DB if you want to experiment. This is due to there being added information in the resulting item string which won't exist on foulborn items unless they are created by this pr:
{originalLine:(10-20)% increased Elemental Damage with Attack Skills}{mutateActive}{mutated}Damage cannot be ReflectedExisting non-foulborn items will work fine. This also fixes the UI logic a little bit by adding wrapping to the lines. One outdated and useless unique was also fixed because the wording had changed 9 years ago. Porting to PoE2 is probably possible.
Steps taken to verify a working solution:
Todo:
see if I can use exported mod data combined with the mappings from the wiki. Currently the end result seems to lack mod tags which isn't good.The exported mod id data seems lacking. Some of the mods are incorrect or don't exist. I think taking the ids from the wiki seems better as it seems to have no mistakes
Link to a build that showcases this PR:
Use item db or trade site.
Before screenshot:
After screenshot:
Path.space.of.space.Building_2026-07-18_17-23-06.mp4