Conversation
The "Is the enemy Heavy Stunned?" checkbox is now a list: No, Always, Custom % and Calculated. With Custom % and Calculated the offence calculations run against a Heavy Stunned and a normal enemy, and the numeric outputs are averaged by the uptime. The run state is snapshotted and restored between the two runs so no mod is applied twice. Calculated uptime = D / (D + t), where D is the Heavy Stun duration (2s monster base, scaled by stun duration, chance to double stun duration and enemy stun recovery) and t is the hits needed divided by landed hits per second. Hits needed is ceil(100 / buildup per hit). With Crushing Blows it is the fewer of that and the hits to reach the Primed for Stun threshold (40/60/70% for normal/rare/unique) plus one Crushing Blow. Only the first Heavy Stun is modelled. "Your Hits are Crushing Blows" (Titan's Crushing Impacts) and Syzygy's Crushing Blows against Ignited and Fully Armour Broken enemies are now parsed. Old builds with the checkbox ticked load as Always. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Replace the No/Always/Custom %/Calculated list and its separate uptime field with one "Enemy Heavy Stun uptime" dropdown: None, 25%, 50%, 75%, 100% and Calculated. 100% behaves like the old Always, 25-75% average damage like the old Custom %, and the old Heavy Stunned checkbox loads as 100%. This drops the ifOptionValue ConfigTab key the uptime field needed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
515k4
force-pushed
the
feature/heavy-stun-uptime
branch
from
October 2, 2026 07:23
06b80f2 to
05f863e
Compare
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.
Fixes #834.
Description of the problem being solved:
"Is the enemy Heavy Stunned?" was a checkbox, so a modifier that only applies against Heavy Stunned enemies counted either on every hit or never. PoB already calculated the Heavy Stun buildup per hit, but only displayed it. "Your Hits are Crushing Blows" (Titan's Crushing Impacts) was unparsed. It adds no damage by itself: it makes the Heavy Stun come sooner, which the checkbox could not show.
What this PR changes
base_heavy_stun_duration_ms) × increased and more Stun Duration × (1 + chance to double Stun Duration) / (1 + enemy Stun Recovery)crushing_blow_vs_ignited_and_fully_armour_broken(only against Ignited and Fully Armour Broken enemies) are now parsed. A Crushing Blow Heavy Stuns an enemy that is Primed for Stun, at 40% buildup for normal, 60% for rare and 70% for unique enemies (poe2wiki: Primed for Stun). The hit after the one that Primes the enemy causes the Heavy Stun, so hits needed = min(⌈100% / buildup⌉, ⌈Primed threshold / buildup⌉ + 1).Not in this PR
HeavyStunThresholdModifierandHeavyStunModifierDurationin the game constants) is ignored, and so is buildup decay.Steps taken to verify a working solution:
spec/System/TestHeavyStun_spec.luawith 21 tests. They cover:Without Crushing Impacts nothing in this build depends on the Heavy Stun, so every option gives the same DPS.
Link to a build that showcases this PR:
N/A
Before screenshot:
After screenshot:
🤖 Generated with Claude Code