* FEAT(items): Add showcased uniques to New.lua
* FEAT(mods): add handling for new mods on Scornflux
* FEAT(mods): add handling for "Take X Fire Damage when you use a Skill"
* FEAT(mods): add handling for Damage penetrates "Fire Resistance equal to
your overcapped Fire Resistance"
* FEAT(mods): add handling for "Warcries have an additional Life Cost equal to 15% of your Maximum Life"
* FEAT(mods): add handling for "Warcry Skills have X increased Area of
Effect"
* FEAT(mods): add handling for `Gain no armour from equipped body armour`
* FEAT(mods): port generalized "doubled" mod handling from POB2
https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/pull/1095
* Update spelling and ModCache
* FIX(mods): globalLimit style mods did not work sometimes
When a mod gots pice wise parsed the tags can be added to the mod table
in unpredictable order. The inital implementation was simply checking
the first tag which caused the global limit functionality to not work
sometimes. This commit moves the logic into EvalMod.
* FEAT(mods): add support for "you have no Str/Dex" mods
* FIX(spelling): un-rake-able
---------
Co-authored-by: Wires77 <Wires77@users.noreply.github.com>
* increase flexibility in parsing for ESIncBySpellBlock on 3.26 Vile Bastion
* Update wording to not need the optional bit
* Update tests
---------
Co-authored-by: Wires77 <Wires77@users.noreply.github.com>
* Refresh mod cache at current HEAD
* Add mod parsing and defence calc support for 3.26 Vile Bastion es inc by spell block
* Used mod source in defence calc to fix breakdown sourcing logic on hover
* Fix some whitespace errors
* align es inc by spellblock mod placement and wording to similar mods
* Improve EHP accuracy
* Hunting more corner cases
MoM with ES when there is ES bypass was not capping effective ES.
MoM with life loss prevention was not accounting for the multiplied life effectiveness when reducing pools.
Max hit smoothing (for conversion + armour) now uses pool reduction to effectively home in on a precise max hit.
* Hunting more corner cases
MoM with ES when there is ES bypass was not capping effective ES.
MoM with life loss prevention was not accounting for the multiplied life effectiveness when reducing pools.
Max hit smoothing (for conversion + armour) now uses pool reduction to effectively home in on a precise max hit.
Due to #8271 changing the default boss preset many tests that relied on
enemy stats broke. This pr fixes that by changing the boss configuration
back to "None" for affected tests.
Additionally this commit adds an extra test for scorching ray exposure
when using the automatic maximum sustainable stages mode.
* Fix numerous issues in bleed calculations
- Chance to bleed was applied in the incorrect location
- Chance to hit was applied incorrectly
- Bleed stacks and stack potential was overwritten with incorrect values at times
- Crimson Dance calculations were broken
- Bleed stack potential was incorrectly applied to per-stack bleed damage
- Multiple damage formulas were used simultaneously
- Output from multiple formulas did not align with numbers displayed to user
* Add test for bleed fix
* Fix ailment test
* fix bleed not reflecting different chances on crits
* Apply ailment chance and stack fixes to ignite and poison
* Fix Bleed/Ignite chance breakdown
* Apply instant ability ailment fix
-fixes nan / divide by 0 for hit like corpse explosion
* Move poison stacks affect into calcs tab
* Integrate new formula for average roll
---------
Co-authored-by: Wires77 <Wires77@users.noreply.github.com>
Co-authored-by: LocalIdentity <localidentity2@gmail.com>
* FIX: maximum sustainable stacks calculations ignoring certain buffs/mods
Essentially an improved version of
https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/5164 that
utilizes skill cache functionality.
* FIX: spelling
* TEST: add tests for schorching ray and blight interactions
* FIX: formatting
* DOCS: add fancy annotation for new function
* FIX: calculate the correct skill
* FIX: annotation
* FIX: use activation frequency for penance brand
* FEAT: impl Automation support/skill
* TEST: add test for automation gem
* FIX: check if triggeredBy exists before dereferencing it
* FIX: handling of icdr for Automation support
* FIX:in breakdown use cast rate for Automation rate
* FIX: formatting
* 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>
* FIX: ItemCondition issues. Kalandra's touch influence issues.
* TEST: add test for Kalandra's touch influence copy.
* FIX: crash caused by items tbl being nil
* FIX: dmg not increasing in test due to missing main skill.
* fix es bypass
* Revert to using the correct mods, but make them override mods
* Satisfy spellchecker
* Add tests
* Fix spelling
---------
Co-authored-by: Wires77 <Wires77@users.noreply.github.com>
* WIP skills export
* Export skills, fix dat file loading bug
* Add back IncrementalEffectiveness
* Don't export gems that don't have a manual GrantedEffect
* Manual fix for Frostbomb
* WIP skills export
* Export skills, fix dat file loading bug
* Add back IncrementalEffectiveness
* Don't export gems that don't have a manual GrantedEffect
* Manual fix for Frostbomb
* Fix Interpolation for DoTs
* Update all dex gems and remove old mods
Adds support for all the new stats on the base dex gems
Remove mods from gems that no longer exist on the base or Transfigured version of the gem
* 1/3rd of Int gems up to Frost Bomb
* Updating Strength skill gems for 3.23
Also removed a condition on Rage Vortex as now the quality can be pumped
up to arbitrarily high values
* Fix remaining intelligence gems
Fix remaining gems
Add support for tertiary durations for Wintertide Brand debuff
Re-organise gems into alphabetical order
* Fix up strength gems
* Update skills from items
* Fix spectres
* Dex Support gems
* Int Support gems
* Export str supports
* Remove redundant line
* Comment out Petrified Blood tests
Petrified Blood losing alt quality makes this test hard to understand.
Plan on revisiting this later to at least simply use the numbers in PoB
* Fix SRS
* New Ascendancy skills
* Adding support for Ravenous and Pacify
* Fix SRS
* Add support for Barkskin
* Move skills
---------
Co-authored-by: LocalIdentity <localidentity2@gmail.com>
* FEAT: add rudimentary trigger tests
* FIX: spelling
* FIX: self ref is build
* FIX: odd test issue
* FIX: triggered being added to gemData
Fixes order mattering in tests. gemData is never refreshed after program
start.
* Revert "FIX: odd test issue"
This reverts commit ac203b7d091e9b866d9f3e4cf7cc2e4d2d498561.
---------
Co-authored-by: LocalIdentity <localidentity2@gmail.com>
* 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
* Add item parse tests and fix nil BasePercentile
* Optimize loading items, improve startup time
* Fix magic item mods and add test case
* Fix nil namePrefix and nameSuffix for tooltips
* Fix/improve some EHP / max hit stuff:
* Fix petrified blood / progenesis calculations final v2.maybe
* Improve max hit calculations with damage conversion into different size pools
* Expand max hit breakdowns by including pools that were harmed in the making of a max hit
* Add some tests
and small changes to max hit tooltip
* Add flat taken damage to max hit calculations
and refactor some functions to a more sensible place
* Don't use LowPoolThreshold for petrified blood
* FEAT: add support for socket color specific mods found on Dialla's Malefaction
* FIX: Code cleanup
* FEAT: Add support for Malachai's artifice. NOTE: only active skill gems can grant buffs.
* FEAT: Make support gems work with socket mods. Add more features to SocketedIn condition to allow for more precise handling of mods.
* FIX: fix crash caused by using the wrong variable
* FIX/FEAT: Add support for Doomsower per socketed mod. Minor cleanup and bugfixes.
* FEAT: add support for socketed gem color count mods like the vaal pact one found on Doomsower
* FIX: missing then in an if statement
* FIX: apply suggestions.
* FIX: apply formatting suggestions.
* FIX: remove unnsecessary check in an if statement after pulling it out. Refactor the rest of the code to use dots instead of full keys.
* Apply suggestions from code review
Co-authored-by: QuickStick <31533893+QuickStick123@users.noreply.github.com>
* FIX: add ability to negate more socket based conditions.
* FIX: fix problems with negation of SocketedIn conditions.
* FIX: loosen up resictions on the SocketedIn condition type to simplyfy code and allow easier negation.
* FIX: rework SocketedIn matching. Should hopefully work correctly now with negation.
* FIX: move socketColor check to fix it not being ran in some cases.
* FIX: remove socket color check when sockets='all' as that inherently checks for coloor.
* FIX: stop count = 0 counting as all
* TEST: add tests for implemeted mechanics
* FIX: missing function end.
* FIX: missing function end
Co-authored-by: QuickStick <31533893+QuickStick123@users.noreply.github.com>
Co-authored-by: Wires77 <Wires77@users.noreply.github.com>
* adds support for hysteria burning ground boots
* remove conprints that were forgotten
* update to force fire
* Fix broken test
Co-authored-by: Wires77 <Wires77@users.noreply.github.com>
* Remove usage of magic numbers for damage in max hit calculations
Max hit taken should not depend on enemy damage. This mostly affects how armour is involved in max hit calculations.
* Max hit adjustment with taken-as conversions
Apply some better approximation to taken-as max hit calculations
* Add some tests
* Bigger breakdown and more sprinkles of magic
Moved damage conversion into math part, which allows it to handle elemental taken as elemental better. Improved approximation a bit. If approximation was used, report some more details about it in the breakdown.
* One part of the max hit breakdown was using old value
So refurbished half of the breakdown to have a bit more relevant information.
* minor improvements to defences
* update helper function
* add option to disable gain on block
* fix spelling mistake
* apply chill to enemy
* fix disable gain on block
* basic support for enemy crit
basic support for enemy crit
* correctly apply speedup maxhit limit
* Fix issue with enemy crit incorrectly being added to 1 twice
* Fix "defend with X% armour" calcs
* esbypass on block
* Cap portionArmour at 100%
For fairly obvious reasons, armour cannot mitigate more than 100% of incoming damage. Also removed an unnecessary NaN check as I cannot get the error it was intended to prevent to trigger under any conditions.
* enemy pen applying when it shouldnt
* apply energyshield recoverable correctly
* fix spelling mistake and max depth value of ehp helper function
* fix armour reduction displays and breakdowns
* Update CalcDefence.lua
* Factor in resistances and flat reduction
.. and explain what's happening briefly in the related tooltip.
* Update CalcDefence.lua
* Update CalcDefence.lua
* Remove obsolete variable reference
* fix armour reduction breakdowns to make more sense
* Fix incorrect PDR calc
* Restore PDR cap
* Add some sanity checks
This prevents nonsensical (negative) damage values and properly handles negative penetration.
* fix merge issue
fix merge issue
* fix gain when hit when speedup happens
* fix wrong damage category for projectile spells
Co-authored-by: Lothrik <maximius@gmail.com>