* wip: BuildPricer Trade API
* fix: removed unused code
* feat: merged public PoE Trade search URI to produce the application API-allowed searches
* fix: no more HTML parsing; just use native JSON
* fix: handle 'NO RESULTS FOUND'
* feat: added spots for Price Amount and Currency Label
* feat: more build pricing additions. Need to create manual push buttons next
* feat: added price button to manually trigger the look-up for each item
* fix: moved builder into Items Tab
* fix: parse out the unique portion of URL and attach to query; ensure poe trade destination
* feat: added summation of currency
* fix: removed some remaining console prints
* fix: added boolean mutex to only allow one item pricing at a time
* feat: added ability to generate the item from the raw base64 data
* fix: actually add the item when 'Save' is hit
* fix: made hover over Import Item show the item and clicking auto-add it to item group
* fix: verital alignment of popup pane
* fix: controls re-alignment
* fix: fixed total pricing from incrementing on repeated price of same item
* fix: corrects edge-cases of raw string parsing of modifier base64 decoding
* feat: make tree socketed items part of the Item Sets
* fix: fix Timeless Jewel redraw
* fix: cluster socket swaps
* feat: add label with current ItemSet name to top-left of pop-up
* fix: clean-up of some code
* feat: add Load/Save of defined PriceBuilder URL per ItemSet level for each slot
* fix: enforce rate limits
* fix: changed rate-limit policy to have age-outs and proper time windows
* feat: add whisper copy support
* fix: sort Sockets in order that matches item slots
* feat: import item now imports in correct named item slot
* feat: added multi-fetch rate limit support and storing
* feat: return item that provides greatest DPS increase
* feat: add support for sorting by DPS / Chaos; add support for other leagues
* feat: added drop down to specify trade item sorting selection
* feat: allow iteration of all retrieved items in sorted fashion
* fix: wasn't using the newDPS fall throughs
* fix: fixed Highest DPS sorting when no FullDPS skills enabled --> leads to generic fix for other things
* feat: add PoE Ninja Currency Conversion sync
* fix: remove JSON file inclusion
* fix: add notification if currency rates never pulled
* fix: use smaller currency value JSON; update button text
* fix: better error messaging for when no results are found
* fix: use new PoE Ninja endpoint; support league currency conversions; eliminate 0 priced items
* fix: temporary fix for putting items in sockets while sockets not stored in item sets
* fix: update Currency Conversion button tooltip and behavior
* fix: whisper buffer storage
* fix: saving Socket URLs and whiper text iteration
* fix: fix importing items directly into slot
* fix: use specVal, not specValue; add Req: handling
* fix: possible error in older builds
* fix: added POESESSID support; some cleanup
* fix: store POESESSID while in ItemsTab
* feat: added methods to generate weighted filters
* fix: went back to 'SearchModList.lua' for scalability
* feat: added a few more modifiers for weighted search testing
* fix: removed an unneeded change
* feat: added better error handling and POESESSID tooltip
* feat: added many more search mods
* fix: DPS sorting for socket jewels
* feat: added more search modifiers; extended num of weighted filters to 16
* feat: more mods; make eHP vs DPS a self parameter
* feat: added + to all skill and spell skills gems to mods
* fix: removed weapon based badly parse raw stats when impoting/copyign
* feat: added maximum resistance increases
* fix: make Talisman Tier indicate pre implicit stage
* fix: made sorting of query returns default and based on weighted sum descending order
* feat: integrated weighted search
* removed some old stuff in this branch
* Added coroutine support and build query from lua table
* fix: got rid of item swap stuff; added FullDPS consideration
* fix: removed old getDPS()
* Fixed min weight calc; Removed duplicate global DPS cache work; Implemented a few special cases
* feat: create a popup for POESESSID entry
* fix: obfuscate POESESSID not showing; fix possible item compare issues
* fix: possible item compare bugs
* Decoupled TradeQueryGenerator from ItemsTab, misc cleanup
* fix: fix DPS jewel sorting to use proper slot name
* fix: fix DPS jewel sorting to use proper slot name
* Fixed base item implicit mods incorrectly all being added to pool for jewels
* fix: move PoB Trader stuff into it's own class
* Ctrl+click on an EditControl containing a valid url opens it in browser
* Store mod mapping data in a local file instead of building it every time
* fix: change how socket URL Trader links are handled
* fix: make weighted sum searches always use weighted sum descending sorting
* feat: auto populate leage drop down list; once per PoB launch
* merged dev; added QueryMods.lua
* updated QueryMods
* remove test.log generation
* Fix: Updated to 3.18
* Fix: set POESESSID to '' when incorrect account name set in Import Tab
* Fix: Bows as Weapon1 working with '?' button
* Fix: fix errors when comparing with an empty item in weapon slots
* Fix: cleaned up some spaces/tabs issues
* Fix: made Scourge modifiers includable as part of Standard or Hardcore league
* feat: add dynamic rate-limiter for requests (#10)
* Fix: Updated QueryMods.lua
* Fix: one code typo; added better POESESSID error messages; clear error messages when resolved
* Fix: address comments
* PoBTrader review fixes (#14)
* Converted EditControl elements to LabelControl, plus additional UI changes
* Fix: make POESESSID a build.setting env
* Fix: only save POESESSID if it's 32 characters; auto-enable Best Button with valid POESESSID
* Fix: itemSet to display name of item set, not index
* Moved controls to a class field, removed some colors, added save/cancel buttons to session popup
* Fix bug
* Quote style changes, shrinking PoB Trader width
* Enabled additional logging, saved query URL even in the case of 0 results
* Fixed UI error text, incorrect league name
* Fix: make weighted search work with DoT DPS
* Fix: DPS sorting to use TotalDot as well if it's greater than TotalDPS
* Only generate queries for identified items
* Fix: handle unidentified items
* Revert "Only generate queries for identified items"
This reverts commit 2b2904adfe00bb4ae98c1757c53ac43fcc01e167.
* Fix: for Notes and Unidentified interaction
* Fix: item raw parsing from copy/paste and PoB Trader import
* Fix: Unidentified finding. Dealing with Superior items
* Add tooltip and scroll shortcuts to item counter label (#18)
* fix: padding and margin of TradeQuery button & feat: add tooltip and scroll shortcuts to item count label
* Fix: for additional specNames
* Fix: added support for tooltips and items included Mirrored and Split indication
* Fix: forgot to save ImportTab for mirrored
* Fix: forgot to include purely mirrored item separation
* Fix: quality per @Wires77
* Fix: added Sceptre type support; added weighted search detection
* Fix: restrict attribute requirement to 3 characters
* Fix: potential with Timeless Jewels for unset requirements
* Fix: add support for non-TotalDPS but also non-DoT DPS weighted suggestion
* Feat: allow fetch page count customization
* Fix: typo
* Code cleaup
* Fix: Fetch Page Count edit control to restrict to 1-5 range
* Updated QueryMods.lua with fresh pull
* Fix: an error with fetches
* Change fetch pages text
* Add dropdown controls for results (#19)
* fix: maxFetchPerSearch numbers
* feat: add dropdown control for search results
* FIX: fix POESESSID not saving to settings.xml when pressing the save button in the enter poesessid popup (#5028)
Co-authored-by: Dolmur <dolmur@gmail.com>
Co-authored-by: LocalIdentity <localidentity2@gmail.com>
Co-authored-by: Dullson <Dullson@users.noreply.github.com>
Co-authored-by: Wires77 <Wires77@users.noreply.github.com>
Co-authored-by: Paliak <91493239+Paliak@users.noreply.github.com>
This commit updates the secondary (inner deadzone) and tertiary (max
ball landing distance) radii for the Molten Strike skill. It also
overhauls most of the breakdown display for the tertiary radius. The
new calculations are based on the derivation from the standalone
Molten Strike DPS Calculator (same author as this commit). Look for
the maxBallLandingDist variable here for details:
https://gitlab.com/MoldyDwarf/MoltenStrikeDPS/-/blob/master/moltenstrike.html
Notable math changes:
- Projectile speed modifies the distance traveled, not the landing
area (making it basically a multiplier on radius, not on
area). It's easy to verify this with swapping faster vs. slower
projectiles in Haku's hideout and seeing how many tiles away the
balls land under the two conditions.
- The inner deadzone radius ("secondary radius" in PoB) cannot be
modified in any way. This makes all of the tertiary radius
calculations slightly trickier. See the aforementioned external
calculator link for more details.
Notable functions added or changed:
- calcMoltenStrikeTertiaryRadius (new): actual calculation, including
rounding (but using a simple assumption about how rounding is done
for the skill)
- setMoltenStrikeTertiaryRadiusBreakdown (new): does all the
calculating and rendering of the breakdown display for the tertiary
radius. We do both in the same place because we compute and display
so many intermediate values.
- calcs.offence (modified): now calls the two functions above when
skillData.projectileSpeedAppliesToMSAreaOfEffect exists, instead of
inlining some math that wasn't quite correct. Also, disables the
breakpoint calculations for the secondary radius for Molten Strike
since no mods affect that radius.
Also:
- Moved the label to the top of breakdown.area display for better
readability and to be more consistent with other breakdowns.
- Allow devs to put vscode workspace config files inside the repo
directory.
Future work:
- The external calculator will be simplified after these changes are
released to the community. Many of its form elements will be
replaced by having users just type in the skill-specific stats from
PoB.
- If we're ever able to reliably datamine boss radii, then the DPS
calculations from the external calculator could be integrated into
PoB. If that ever happens, the external calculator will be retired.
* Add support for many trigger-based skills and items (Nostrademous)
* Add support for General's Cry and Mirage Archer (Nostrademous)
* Add support for total DPS roll-up of multiple skills (Nostrademous)
* Add integer scaling for active skills via a "count" variable (multiple minions, mines, etc.) (Nostrademous)
* Add least effective allocated node setting to power report (Wires77)
* Add dynamic loading for passive skill tree versions, reducing memory allocation (Nostrademous)
* Add mana reservation breakdown (Wires77)
* Add ability to paste with right-click (Wires77)
* Add support for GGG's new API allowing us to populate Cluster Jewel nodes on character import (Nostrademous)
* Add full support for Doryani's Prototype's lightning resist mods (andrewbelu)
* Add handling for Doedre's Skin's ignore curse limit mod (andrewbelu)
* Add support for Blunderbore's shrine effect mods (andrewbelu)
* Add support for The Admiral's lowest resist mod (andrewbelu)
* Add support for Actum's crit modifier (andrewbelu)
* Add Culling DPS to sidebar if build includes a source for Culling (Nostrademous)
* Add support for The Dark Seer's Malediction debuff (Helyos96)
* Add support for Precursor's Emblem (Wires77)
* Add new Enchantments and fix enchanting UI (PJacek)
* Add support for Flickershade Spectre chaos damage conversion (Wires77)
* Add more support for Intimidate and Unnerve (andrewbelu)
* Automatically generate Watcher's Eye mods (Wires77)
* Node power now accounts for total power along the path (Wires77)
* Inspiration charges now default to maximum (Wires77)
* Damage header in calcs tab now respects thousands separator preference (mweber15)
* Remove garbage collection calls to improve memory usage(Wires77)
* Fix Brand Attachment Limit for several skills (Wires77)
* Fix Flask Effect calculating incorrectly in certain situations (Wires77)
* Fix Divergent Nightblade to grant Increased Crit Chance instead of Base Crit Chance
* Fix Fanaticism applying to attacks (Wires77)
* Fix wording on Hyperboreus, Kitava's Thirst, and Poet's Pen (Nostrademous)
* Fix Voidshot parsing incorrectly (LocalIdentity)
* Fix Divergent Ensnaring Arrow (LocalIdentity)
* Fix Physical Damage Reduction incorrectly assuming negative values (andrewbelu)
* Fix Anomalous Infused Channelling Support (ALT-F-X)
* Fix Curses with two words parsing incorrectly (Wires77)
Add support for the Barrage Support skill gem
Add support for Ensnaring Arrow
Add support for Thread of Hope
Add support for Crimson Dance and amount of bleeds on enemy
Partial support for Timeless jewels
Brutal Restraint (Maraketh) and Lethal Pride (Karui) now provide stats when allocating small nodes on the tree
Elegant Hubris (Eternal) now negates all stats gained from nodes in its radius other than keystones
Add support for Void Shot granted by the Voidfletcher unique quiver
Add support for in-game jewel radius sprites
Add parsing for -res and increased phys damage delve helmet mods
Add support for "against Chilled or Frozen Enemies" mod
Add breakdown for Curse Effect for Curse Skills
Add breakdown for Aura for Aura Skills
Add breakdown for "Base from Armours" row for ES/Armour/Evasion
Add colors to the resistances' label on the side bar
Add Ctrl-Right and Ctrl-Left to text fields (skip words)
Add list of recently imported accounts to the Import/Export Build tab
Add parsing for Elusive mod on boots
Add support for "Ignites you inflict deal Damage faster" mod
Add support for "Fortify Buffs you create instead grant 30% more Evasion Rating" mod
Add missing "increased Flask Charges gained" mod to Nomad unique belt
Add support for Fungal Ground from Sporeguard unique body armour
Add Bone Armour and Mirage Warriors to skill pool
Add 15 fuses to Explosive Arrow drop-down list
Cap max elemental resistance at 90
Fix mods for many old jewels
Fix Spreading Rot jewel
Fix Chin Sol's mods
Fix quality mods on Awakened Swift Affliction and Awakened Unbound Ailments
Fix Arctic Breath's cold dot not being modified by area damage mods
Fix Transfiguration of Mind interaction bug with Crown of Eyes
Fix parsing for travel skill mods
Implemented logic for melee distance scaling attack multipliers (Close combat and Slayers Impact node)
Add counterattack double damage bonus from Gladiators Painforged node
Implement parsing for all of Slayer's nodes
Add support for Assassins Mistwalker node and Ascendants node for Assassin
Add support for travel skills cooldown recovery
Add Badge of Brotherhood mod parsing
Add incremental shock values instead of the default locked value of 50%
- Updated tree
- Added "Cast on Frostbolt?" for Ice Nova and Vortex
- Updated poison/bleed ratios
- Added source breakdowns for ailments
- Double Dipping
- Added "Have you been Crit Recently?" option
- Fixed template tooltips in all/shared items lists
- Fixed issue causing mod ranges to be lost when adding to shared item list