Skip to content

Add support for "Fleshrender" unique (and general poison stacking mechanics)#9533

Open
majochem wants to merge 10 commits intoPathOfBuildingCommunity:devfrom
majochem:unique/fleshrender
Open

Add support for "Fleshrender" unique (and general poison stacking mechanics)#9533
majochem wants to merge 10 commits intoPathOfBuildingCommunity:devfrom
majochem:unique/fleshrender

Conversation

@majochem
Copy link
Contributor

@majochem majochem commented Mar 5, 2026

Description of the problem being solved:

Adds support for mods from the new 3.28 unique "Fleshrender"

  • Cannot Poison Enemies with at least 12 Poisons on them
  • Inflict 3 additional Poisons on the same Target when you inflict Poisons with this weapon
  • Wither on Hit with this weapon against Enemies with at least 12 Poisons on them

Additional changes

  • DoublePoisonChance was renamed to AdditionalPoisonChance because it's not technically "double"
  • Breakdown for Poison Stacks was improved
    • now shows mods that modify additional poison stacks or poison stack limit
    • also shows active poison stack limit and theoretical uncapped poison stacks
  • Added new "MIN" modType and corresponding ModStoreClass:Min() function as counterpart to "MAX" and ModStoreClass:Max()
  • Also added explanation for "MAX" and "MIN" to modSyntax.md documenation
  • Added PoisonStackLimit of 1 to Viper Strike of the Mamba via SkillStatMap

Steps taken to verify a working solution:

  • Item mods get parsed correctly
    • Multiple poison stacks only work for weapon
    • Poison stack limit from weapon is global
    • Equipping weapon enables Withered via config
  • Poison stack limit applies correctly in calcs
    • Only has effect if stack limit can be reached
    • AdditionalPoisonStacks correctly interacts with AdditionalPoisonChance (can get e.g. 4.33 poison stacks)
    • Only lowest poison stack limit applies
    • "exceeding" cap is possible if limit % poison stack per hit != 0 (e.g. if limit is 2 and you apply 4 poisons with each hit, the effective limit is 4
  • CannotMultiplePoison prevents additional poison stacks

Limitations:

  • This only contains only the parsing/calculation for the mods. It does not add the actual unique item to the database (as I believe that's handled by a different PR)
  • The "Condition:SinglePoison" flag logic still needs to be reworked (it technically already didn't work correctly with additional poison stacks from "Betrayal's Sting"), but I'll do that in a separate PR
  • Viper Strike of the Mamba will need to be assigned "CannotMultiplePoison" via SkillStatMap.lua once 3.28 gem data is available
  • There are currently still edge cases they don't show correct DPS when taking maximum poison stacks into account
    • Using Count and Full DPS (e.g. for Totem Builds), will not limit total poison stacks correctly and therefore inflate DPS (this has also already been the case for Viper Strike of the Mamba)
    • Multi-hit damage skills with varying damage ranges (e.g. Lancing Steel of Spraying, Blade Flurry) will lead to wrong or at least statistically unlikely average base damage for poisons, because they take the average of all hits, rather than the first x hits

Link to a build that showcases this PR:

Fleshrender Test Build

After screenshot:

Item with parsed mods
image

Poison Stack Breakdown
image

majochem added 10 commits March 4, 2026 11:11
Renamed for clarity as it is not actually a "doubling" effect
- parsing and logic for application of more than 1 additional poison per
  hit via "inflict X additional poisons on the same target ..."
- parsing and logic for poison stack limit via "cannot poison enemies
  with at least X poisons on them"
- adds parsing and logic for additional `CannotMultiplie` flag that will
  apply to Viper Strike of the Mamba as of 3.28
…at least 12 Poisons on them"

Just setting `Condition:CanWither` flag for now, as actually checking
for number of poisons seems overkill and eliminates too many edge cases
This is the counterpart to `ModStoreClass:Max()` and gives back the
lowest modifier value. This makes sense for things like the poison stack
limit, where neither "BASE" nor "OVERRIDE" would work for multiple mods
"MAX" already existed and was used, but was missing from `modSyntax.md`,
so I added the explanation for both now
- Now shows active poison stack limit
- Now shows what uncapped poison stacks would be (to gauge if you're
  close to being under cap)
- Changed wording of "Capped to 1" for `Condition:SinglePoison` hint to
  "Assume non-Poisoned Enemy" because that is what it is actually used
  for
@majochem majochem marked this pull request as ready for review March 5, 2026 16:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant