Skip to content

Add support for essence and crafted mods in trader#5735

Merged
LocalIdentity merged 57 commits into
PathOfBuildingCommunity:devfrom
QuickStick123:essence-and-crafted-mods
Apr 24, 2023
Merged

Add support for essence and crafted mods in trader#5735
LocalIdentity merged 57 commits into
PathOfBuildingCommunity:devfrom
QuickStick123:essence-and-crafted-mods

Conversation

@QuickStick123
Copy link
Copy Markdown
Contributor

@QuickStick123 QuickStick123 commented Mar 1, 2023

Fixes #5436 #5433 #5364 #5448
Based on #5375

Description of the problem being solved:

Adds local, essence, crafted and initial flask support alongside fixing influence mods.

Minimum weight is reduced significantly to help include more results in the search as they are now significantly less accurate, this is further improved by #5526.

Add mediocre support for flasks if flask isn't enabled it won't work with different bases obviously don't work and effect does nothing cause their are no mods to scale, if slot if disabled it also doesn't work.

Fix up influence mods and a couple other missing mods in the trader and in general. This was done by adding a new tag to the exporter as it seems influence items only use one flag for their given influence. e.g. influence "sword" will only apply to swords and not two hands which use "2h_sword" for their influence prefix. I had a good look at trying to find a way to apply this automatically but this solution was the easiest to maintain I could come up with.

Only search a similarly usable weapon. This does mean people using sceptres can't see wand / rune dagger potential upgrades which isn't ideal but it is overall more robust say some one was using a claw attack skill and swords are the best weight then they won't waste their search.

Changes dps sorting to by default not include enchants with a toggle to re-enable them. This is because generally you will anoint an item for significantly less than the cost of dps difference. Expect in the case of helmet enchants.
image
This should be carefully considered as it could cause a lot of unwanted confusion it should be strongly considered removing this and picking a default behaviour.

Also introduces a mask used when generating the mods. This stops the default = true on jewels and similar getting updated by anything in other generationParses in modType.

Sorts arrays that are stringified by key (alphabetically) this makes them significantly more stable allowing smaller commit differences and ease to understand what is being changed.
image

Steps taken to verify a working solution:

  • Viewing commits saw relevant stats in queryMods get updated.

…minimum weight to 0.5 as it seems to be minimum we can get away with on some builds
@QuickStick123 QuickStick123 added the enhancement New feature, calculation, or mod label Mar 1, 2023
@LocalIdentity LocalIdentity merged commit a668d26 into PathOfBuildingCommunity:dev Apr 24, 2023
@QuickStick123 QuickStick123 deleted the essence-and-crafted-mods branch April 24, 2023 06:44
Dullson pushed a commit to Dullson/PathOfBuilding that referenced this pull request Dec 6, 2023
…munity#5735)

* Initial Commit

* Fix accidently placed code do some checks of non-zeroness and update minimum weight to 0.5 as it seems to be minimum we can get away with on some builds

* Remove uneccary speical mods

* Simplify

* uncomment debugger and use old var naming

* cleanup filters and readd fallback as item weight

* Update item bases sadly you can't support numbers in old format so had to re export everything.

* Use item base type

* Partially working flasks

* Fix import button not being immediately updated after search

* Ignore enchants and fix full dps not applying

* Widen box and add button to toggle if enchants are included

* Slightly more readable tbh

* Add a tooltip to hopefully alleviate confusion

* Probably better as plural

* Add support for projectiles pierce an additional target

* Properly fix two hands

* Fix mistake with thrusting swords

* Add missing attack dagger tag

* Remove left overs

* Update queryMods.lua as well cause that is a thing

* Probably slightly more efficient as avoids string manipulation.

* Reapply tab fix

* Update query mods incase something has changed

* Fix sorting not getting update by enchant button

* Add missed fix here and or 0

* Remove sorting fix as not needed anymore

* Update query mods

* Move around boxes to make more sense

* Update query mods

* Implement Crafted Mods

* Add support for essences

* Fix messing up jewel mods

* Introduce mask to fix differing assumptions between files for jewels

* Update statOrders for hardcoded mods

* Re export

* Update mod order and queryMods

* Update QueryMods.lua

* Remove decay and make table writing more stable.

* Comment essence / crafted to test sorting.

* Crafted

* essence

* Post Merge Cleanup

* Make box sortby dropped down slightly larger

* Local Identity's fix
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature, calculation, or mod

Projects

None yet

Development

Successfully merging this pull request may close these issues.

"Trade for items" is adding implicit damage over time mod but not explicit damage over time mod for weapon

2 participants