Conversation
Leech was still modelled on PoE1: every instance recovered 2% of the
pool per second, instances stacked without limit, each instance was
capped at 10% of the pool, and the total rate was capped at 20% of
life/mana (10% of energy shield) per second. "Increased amount of Life
Leeched" and "increased amount of Mana Leeched" only raised that total
rate cap, so they did nothing unless a build hit the cap.
PoE2 leech works differently (poe2wiki Leech, 0.5.0):
- a hit leeches a percentage of its damage, recovered over 1 second
- only one leech instance per resource recovers at a time
- hits above 40,000 damage leech as though they dealt 40,000, with
every damage type scaled down evenly
- there is no cap on a single instance or on the total leech rate
Now:
- "amount of Life/Mana Leeched" multiplies the amount leeched per hit
- an instance lasts 1s divided by leech speed ("Leech X% faster"), and
the instant part of the leech shortens it by the same proportion
- the sustained rate is one instance's rate times the time an instance
is active, so hitting more than once per instance duration no longer
raises leech
- the PoE1 caps, their base mods, parser entries and calcs rows are
removed
- "Leech X% faster/slower" without a resource applies to life, mana and
energy shield leech
Monster leech resistance is not included yet.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Sep 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #328.
Description of the problem being solved:
Leech was still calculated the PoE1 way:
The PoE2 rules (poe2wiki: Leech, revision covering 0.5.0) are different. A hit leeches a percentage of its damage, recovered over one second. Only one leech instance per resource recovers at a time. Hits above 40,000 damage leech as though they dealt 40,000. There is no cap on a single instance or on the total rate.
What this PR changes
base_life_leech_amount_+%) now multiplies the leech per hit (LifeLeechAmount/ManaLeechAmount).amount / duration × min(1, hit rate × duration). Hitting more often than once per instance duration no longer raises leech.EffectiveMaxDamageForLeechgame constant.IncreasedLifeLeechRateUniqueAmulet20).When dual wielding, per-weapon leech is combined the same way as average damage. Skills that alternate weapons, or hit once with each weapon, use the average leech per hit at the combined hit rate.
Not in this PR
Steps taken to verify a working solution:
spec/System/TestLeech_spec.luawith 12 tests. They cover amount modifiers for life and mana, the missing pool-based cap, one active instance above one hit per second and hit-rate scaling below it, faster leech, instant leech, the 40,000 cap with one and two damage types, "Leech X% faster", dual wield, and the breakdown. All 12 fail ondevand pass on this branch.dev)With 65 life and a 57 average hit, "Leech Life 50% faster" raised the leech per hit from 5.3 to 8.0 on
dev. It now keeps the leech per hit at 5.7 and raises the rate from 5.7/s to 6.8/s, limited by 1.2 hits per second.Link to a build that showcases this PR:
N/A
Before screenshot:
After screenshot:
🤖 Generated with Claude Code