* FIX: numerous fullDPS issues
* FIX: output reuse and acceleration without existing env
* FIX: prevent calculation of fullDPS if it's not needed for item sorting
* change controls to take a packed "rect" instead of x, y, width, height
* Fix bad merge
* Add missing box notation
* fix merge issues and update new controls to use packed rect
* update export
* fix white space
* fix spelling mistake
* fix more merge issues
---------
Co-authored-by: Wires77 <Wires77@users.noreply.github.com>
* Fix Frost Blades of Katabasis DoT not scaling with some mods
The DoT portion of the skill was not scaling with the `(70-100)% increased Elemental Damage with Melee Weapons` mod on Tinctures.
It was also not scaling with the repeat damage on Multistrike. I tested it in game and the repeat damage definitely applies to the DoT component.
The PR removes the skill hit tag from the DoT component so it doesn't incorrectly show hit damage and stats
It also removes crit chance from showing up unless a skill part has a hit component
* Fix DoT Multi mod not working correctly
---------
Co-authored-by: LocalIdentity <localidentity2@gmail.com>
* add search to spectre library
* move filtering into MinionListControl-lua
* adjust layout
* add ability to search spectre skills
* new layout and separate class for minion search control
* select search bar on open
---------
Co-authored-by: nofate121 <nofate121@abc.def>
* Add ascendancy assets.
* Add archives list control.
* Add archive list control to buildlist module.
* Make build list module responsive.
* ArchivesList: prevent missing image artwork for builds with no ascendancies.
* ArchivesList: prevent line and stats collapsing on some builds.
* ArchivesList: fix scrollbar content dimensions.
* ArchivesListControl: Display life or es depending on which is greater.
* ArchivesListControl: prevent stats overlapping on smaller screens.
* ArchivesListControl: resize button on screen size change.
* ArchivesListControl: implement word-break on main skill field.
* ArchivesListControl: hide author name from the build cards.
* rename ExtBuildListControl.
* Refactor class names.
* Add ExtBuildListProvider abstract class.
* Add PoBArchivesProvider class.
* Modify ExtBuildListControl to have a generic implementation.
* Highlight active tab, use white border.
* ExtBuildListControl: Add responsive behaviour to the tabs and dropdown.
* ExtBuildListControl: Fix scrollbar.
* Store import links in the xml.
* Build: Implement similar builds list.
* ExtBuildListControl: Prevent overflow on bottom side.
* Common: Add import build utility function.
* Remove unnecessary debug.
* Convert protocol handler URI's to import links on startup.
* Implement similarity check for all builds.
- Add Metadata section to build cards.
* Print proper error messages on build list.
* Add similar builds popup.
* Add class portrait assets.
* Use class portraits as fallback images.
* Remove unnecessary assets, fix templar portrait.
* Formatting changes
* ExtBuildListProvider: Fix indentation.
* Fix bugged font
* Further font fix
* Fix split string calculation with different fonts
* Button layout and text positions
* Fix spacing on builds page
* Fix Similar builds Popup on different window size
Fix from Peechey in discord
* Revert "Fix Similar builds Popup on different window size"
This reverts commit 257c4a59c8d64fe83188b0217c21e5e4a7b22a08.
* General popup resize code
* Add show public builds options to settings.
* Update latest-trending builds option name.
* Add help section and tooltip for similar builds.
* Use build names as a filename placeholder after importing.
* Add cells to the grid, fix horizontal line issue.
* Center version text.
* Improve responsiveness of builds list menu.
* Rearrange similar builds button after loadouts.
* Remove redundant function.
* Check if image asset exists, prevents Warden placeholder.
* Reduce code complexity.
* Fix savename using filepath as a placeholder.
* Fix indentation.
* Use buttoncontrol for import/preview button handling.
* Use a seperator function for repeated drawings.
- Autofill lines below portrait.
* Add some colors to stats.
* Add raider image as warden placeholder.
* Fix builds menu scroll issue.
- Content height was fine on similar builds
but See All button in buildlist was partially
hiding the import/preview buttons.
* Apply suggestions from code review.
Co-authored-by: Wires77 <Wires77@users.noreply.github.com>
* Remove unnecessary title padding.
* Fix buildlist and searchtext responsive issues
* Swap Trending and Latest tabs
---------
Co-authored-by: LocalIdentity <localidentity2@gmail.com>
Co-authored-by: Wires77 <Wires77@users.noreply.github.com>
* Explicitely check for 1 size sets for loadouts
Instead of assigning 1 size sets to existing loadout links, just check for this when
the loadouts are being matched instead. Its more reliable and do not relies on
links to be filled (in case of name match sets for example).
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
* Properly sync active loadout on active set change
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
* Add info about single passive tree to loadout 1 set help section
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
* Fix typo
---------
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Co-authored-by: Wires77 <Wires77@users.noreply.github.com>
Common use case: you only want to use 1 config set for all loadouts, but putting
every loadout tag in the config name feels a bit silly. This makes the solution a bit more
robust and easier to use.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
* initial Implementation of enemy damage over time skill type
* add ability to export damage over time boss skill and export shaper beam
* add cortex degen
* fix net recovery
* add degen source
* fix crash
* add comprehensive net regen
* separate out block of code for local variables
* fix merge issue
Before this change the information about selected loadout in dropdown is
lost on closing and reopening build. With this change it tries to match
selected loadout with active tree.
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
* add support for multiple configurations
* fix scrolling
* defaultIndex for boss preset and damageType dropdowns
* fix for custom mods built into modList
* clear configs before copying over changes for values that do not overlap between sets when changing activeSet
* add configSets to Loadouts
fix bug with Item/Skill/Config SetListControls
refactor functions in Loadout logic for identical code for item/skill/config
add SyncLoadouts to Delete in SetListControls and Convert functions in TreeTab
update help section
* add Sync to PassiveSpecListControl Delete
* add Sync to ConfigSet Rename
* Add unique formatting to options in dropdowns to avoid conflicting with user-created loadouts
* revert bugfix as it caused another bug
* typos
* remove duplicateCheck and recolor logic, fix duplicate scenario where sets have same name and same group
* typo
* refactor doubling up of setting values, use self.configSets[self.activeConfigSetId] everywhere possible
* fix for the "Default" loadout
update Help Section with colour formatting info
fix bug when reordering Tree Sets that are actively in loadouts
* Alter scrollbar height for new UI elements
* Sort loadouts by set name if it's there
* Sort loadouts by tree order + properly reset all dropdowns
---------
Co-authored-by: Wires77 <Wires77@users.noreply.github.com>
* Added support for Minefield, Locus mine and Curtain Call
Including custom modifiers "Skills which throw Mines throw up to %d additional Mine" for additional mine throws
* Added "Throw an additional mine" mod
Elevated shaper helmet mod
* Added additional trap & adjusted cast rate based on number of mine/trap throws
- Multitrap support
- Chance to throw up to % additional traps/mines
* Supports Expendability node from medium cluster
* Fix breakdown incorrect number & trap+mine support throw count bug
* Adjust label & calcs display order
* Add trap-mine interaction
* Adjust extra mine/trap from specialMods to "generic"
---------
Co-authored-by: LocalIdentity <31035929+LocalIdentity@users.noreply.github.com>
* Initial Checkin for Loadouts feature
* Make the loadouts dropdown the same width as the spec dropdown
* Add help text and tooltip for Loadouts
* add to Subtractem's PR to allow sets to be used multiple times
* clean up
* clean up
* comments
* sync later in Build:init for New build after Active build
* comments
* Help section updated with Loadout identifiers
* add Help to dropdown, change text colour of duplicate loadouts in dropdown
* tighten regex for loadout identifiers, alphanumeric and comma only
---------
Co-authored-by: Subtractem <subtractemgaming@gmail.com>
* FEAT: impl wisps support
* FIX: add display stat for summon wisps
* FIX: less damage mod not applying
* FIX: use mirage archer style calcs
Sacred wisps causes the Summon Sacred Wisps skill to be triggered when a
projectile spell is fired from a wand. This triggers 2 wisps which then
have an x percent to use the skill that was used to trigger them when
you use it. They likely do not care about whether you actually hit
something with the projectile or not. They're also likely not a trigger
which means they're not under the same tick rounding contrstains like
other triggers.
* TEST: add a test for Sacred Wisps
* TEST: fix test for sacred wisps
Sacred wisps support is two part so the SkillTriggerRate check will fail
* FIX: add stat maps to .txt skill files
* Separate stat display in sidebar
* Change flag to mirageArcher
---------
Co-authored-by: LocalIdentity <localidentity2@gmail.com>
* Split Minion Info line if it's too long
* Added Player infoMassage as well
* Remove forgotten comment
---------
Co-authored-by: Hiney <pHiney@users.noreply.github.com>
* show accuracy in sidebar when using precise technique
* cleaner implementation
* more clean
* move position in sidebar
* add warning and change colour to negative if less than life
* better Precise Technique check
* FIX: cap expiration mode by cast rate
* FIX: use charge based calcs if ignoring tick rate
* FEAT: add a warning if vixen's gloves not equipped
* FEAT: implement hexblast replacement mode
* Add support for importing new ascendancies
* Update to use official name
* Fix error when missing alternate ascendancy
* Update to proper format and fix bug
* Future-proof tree format
* Stop using hex codes accidentally
* Different method to set imported secondary class ids
* Don't loop through secondary ascendancies unless we need to
ab069e8f introduced support for enemies with Cannot be Suppressed, but
inadvertently broke the displayed suppress chance in the build sidebar.
Use EffectiveSpellSuppressionChance to fix that.
Fixes#6929.
* FIX: move mirage calcs to a new file
* FIX: exerts applying to skills used by mirages
* FIX:ignore source if SkillType.OtherThingUsesSkill
* TEST: test mirage archer + manaforged
Converts all output breakdowns of units to instead use metres
Adds support for the new mod parsings so they work correctly
I decided on creating variables that just convert the final value for the output to the calcs / sidebar so all the internal calculations still use units. I made sure that everything still used units so if we want to switch everything to metres it should be quite clear
Added support for the stat on Fireball that gains radius over range
Co-authored-by: LocalIdentity <localidentity2@gmail.com>
--- Implemented Enhancements ---
* Support for triggered skills has been reworked.
* Calculations of effective triggered skills trigger rate should now be more accurate.
* Improve cooldown breakpoint interactions with skills that add cast time.
* Implemented all currently existing trigger skills that POB is capable of supporting. Including:
* CWDT
* Spell Slinger
* Counter attack skills
* Arcanist brand
* Tawhoa's Chosen
* Battlemage's Cry
* Implemented Trigger Bots.
--- User Interface ---
* Trigger related breakdowns should now be more descriptive.
* Improve breakdowns for skills that add cast time.
* Display Cast When damage taken threshold in the trigger rate section
--- Fixed Bugs ---
* Triggers should now correctly account for source rate modifiers such as crit chance and accuracy.
* Fixed inaccuracies caused by incorrect handling of skill cooldown during skill rotation simulation.
* Fixed a crash caused by an interaction between unleash and nested triggers.
* Fixed many self triggers counting as self cast.
* Fixed incorrect handling of gems supported by more than one trigger.
* FEAT: impl Corrupting Cry support
* FIX: crash caused by incorrect capitalization
* FIX: add statMap and baseFlags to txt template
* FIX: spelling
* Revert "FEAT: impl Corrupting Cry support"
* FIX: reimplement using generic physDot
* FIX: copy paste issue
* FIX: cap corrupting blood staged.
Note that this config option also is affected by the one off bug in
config tab code.
* FIX: off by one in the config
* FIX: don't override skillData.durationSecondary
Overriding skillData.durationSecondary of exterted attacks may mess with
secondary effect of skills such as Dominating Blow
* FIX: CorruptingCry cfg stages not affecting exerts
* FIX: crash when hovering over more mult
* change dot type to corrupting blood to prevent dot from stacking
* Remove Attack dot addition + move config
* Fix removal of line
* Empty
---------
Co-authored-by: Paliak <91493239+Paliak@users.noreply.github.com>
Co-authored-by: LocalIdentity <localidentity2@gmail.com>
* Fix lower channel time stat using red text
* Fix Channel time showing on calcs page for more skills than necessary
---------
Co-authored-by: LocalIdentity <localidentity2@gmail.com>
* Add proper support for DPS with Channeled skills that use stages
Channeling skills that used stages did not have their hit rate modified by the time it took to channel those stages
This PR adds `hitTimeMultiplier` values for Scourge Arrow, Divine Ire, Flameblast and Incinerate
Snipe is handled in it's own PR
This shows the channel time in the sidebar along with the correct hit rate for these skills
Adds boxes to the config page to set the number of nearby enemies for Divine Ire to calculate the correct charge rate
* Fix breakdowns
---------
Co-authored-by: LocalIdentity <localidentity2@gmail.com>