Skip to content

Add support for various Parry modifiers (Debuff Magnitude, Range, Duration)#2080

Merged
LocalIdentity merged 12 commits into
PathOfBuildingCommunity:devfrom
majochem:feat/parryDebuff
Jun 5, 2026
Merged

Add support for various Parry modifiers (Debuff Magnitude, Range, Duration)#2080
LocalIdentity merged 12 commits into
PathOfBuildingCommunity:devfrom
majochem:feat/parryDebuff

Conversation

@majochem

@majochem majochem commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

Description of the problem being solved:

Previous implementation of the Parry Debuff was not fully supported and could not be scaled.
This PR adds support for

  • Parry Debuff Magnitude modifiers
  • Parry Debuff Duration
  • Parry Range
  • Refutation (or other future skills) enabling Parry

Steps taken to verify a working solution:

  • Config Option "Enemy has Parry Debuff" can be activated with just Refutation
  • Config Option can be activated with different active skill
  • Mods get parsed
    • Magnitude
    • Range
    • Duration
  • Breakdowns show correct values and mods
    • Magnitude
    • Range
    • Duration
  • Debuff only applies if config is active
  • Debuff does not affect to spells
  • Debuff applies to attacks other than Parry itself (including minion skills)
  • If multiple skills can apply parry with different magnitudes, only the highest applies
  • Added automated tests to TestSkills_spec.lua (only for basic tests)

Link to a build that showcases this PR:

https://pobb.in/VmoLNcYh04kO

After screenshot:

Mod Parsing

Magnitude
image

Duration
image

Range
image

Breakdowns

Parry Debuff from Refutation
image

Magnitude breakdown
image

Duration breakdown
image

Range (Non-proj) breakdown
image

Range (Proj) breakdown
image

majochem added 11 commits June 3, 2026 14:51
Adds processing of "<DebuffName>Magnitude" modifiers, in addition
to existing checks for generif "DebuffEffect" and skill-specific
"Magnitude" modifiers
- Moved the process of Debuff to `skillStatMap` as "Refutation"
  introduced new ways to gain access to parry debuff
- Changed the mod details slightly to enable better debuff processing
Parry duration hasn't been processed at all yet, and mods affecting
Parry range currently false apply to the weapon range used for the Parry
attack, rather than blocking distance
Makes it easier to reuse in other contexts. No functional change
otherwise
Includes:
- Parsing of mods
- Calculation and adding to `output`
- Breakdowns for each stat in CalcsSections
Also slight changes to calculation approach in `CalcPerform` as it
previously didn't account for debuff effect being multiplicative
Automatically tests:
- parry debuff increases damage when active
- parry magnitude further increases damage
- parry debuff does not affect spell damage

NOTE: that last one will have to be adjusted once we support the mod
that changes parry to apply to spell damage instead, but I guess that's
what the test is for...
@majochem majochem marked this pull request as ready for review June 4, 2026 12:37
The base stat divides by 10 so you have a base range of 1m
@LocalIdentity LocalIdentity added the enhancement New feature, calculation, or mod label Jun 5, 2026
@LocalIdentity LocalIdentity merged commit ee0e4b7 into PathOfBuildingCommunity:dev Jun 5, 2026
4 of 5 checks passed
bct8925 pushed a commit to bct8925/PathOfBuilding-PoE2 that referenced this pull request Jun 19, 2026
…ation) (PathOfBuildingCommunity#2080)

* Add mod parsing for Parried Debuff Magnitude

* Add specific debuff magnitude processing

Adds processing of "<DebuffName>Magnitude" modifiers, in addition
to existing checks for generif "DebuffEffect" and skill-specific
"Magnitude" modifiers

* Change processing of Parry debuff stats

- Moved the process of Debuff to `skillStatMap` as "Refutation"
  introduced new ways to gain access to parry debuff
- Changed the mod details slightly to enable better debuff processing

* Add stats for Parry duration and range

Parry duration hasn't been processed at all yet, and mods affecting
Parry range currently false apply to the weapon range used for the Parry
attack, rather than blocking distance

* Separate buff expiry function from skill duration

Makes it easier to reuse in other contexts. No functional change
otherwise

* Enable parry debuff recognition for "Refutation"

* Add support for Parry Debuff Duration & Range mods

Includes:
- Parsing of mods
- Calculation and adding to `output`
- Breakdowns for each stat in CalcsSections

* Add breakdown for parry debuff magnitude

Also slight changes to calculation approach in `CalcPerform` as it
previously didn't account for debuff effect being multiplicative

* Make parry config option available for other skills

* Fix config option not appearing for other skills

* Add parry test to `TestSkills_spec.lua`

Automatically tests:
- parry debuff increases damage when active
- parry magnitude further increases damage
- parry debuff does not affect spell damage

NOTE: that last one will have to be adjusted once we support the mod
that changes parry to apply to spell damage instead, but I guess that's
what the test is for...

* Fix parry range not dividing by 10

The base stat divides by 10 so you have a base range of 1m

---------

Co-authored-by: LocalIdentity <localidentity2@gmail.com>
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.

2 participants