Unless stated otherwise, everything here is Diablo II: Resurrected build 3.3.93847, Reign of the Warlock.
Unless stated otherwise, everything here is Diablo II: Resurrected build 3.3.93847, Reign of the Warlock.

A hit that is big enough stops what you are doing and plays the hit-recovery animation; while it plays you cannot attack, cast or move. Enough big hits in a row and you never get a turn: that is a stun-lock, and the only stats that touch it are your maximum life and Faster Hit Recovery.
The game compares the damage of each hit with a trigger number cut from your maximum life:
trigger number = maximum life ÷ divisor
The divisor is 16 for most attacks; 8 for hit classes 2, 6, 10 and 11 (one-hand swing against small, one-hand thrust, bow and crossbow in hitclass.txt's order); 32 for classes 4 and 8 (two-hand swing against small, club); 64 for class 5 (two-hand swing against large). Below the trigger number a hit never interrupts. From there the chance rises with the hit: 50% for a hit between one and two trigger numbers, 75% between two and four, and always above four.
So life is a hit-recovery stat: doubling your life doubles the hit it takes to make you flinch at all. Mercenaries cannot be stunned longer than MercenaryMaxStunLength (13) from the difficulty table.
Faster Hit Recovery does not change the threshold; it shortens the animation. The same diminishing curve as attack speed applies, and the animation's frame count comes from your class's animation data:
effective FHR = ⌊FHR × 120 ÷ (FHR + 120)⌋ ; frames = ⌈256 × animation frames ÷ ⌊speed × (50 + effective FHR) ÷ 100⌋⌉ − 1
The Breakpoints tool lists every class's frames and the FHR each one needs. Each breakpoint is one frame fewer of helplessness; the last ones are what let a character act between the hits of a crowd.
A shorter animation is the cure, not an immunity. Against many fast, large hits the answer is more life (a higher trigger number), a block (Blocking), or not standing there.
A stun from a skill (Stun, Bash, War Cry, a Fire Enchanted explosion …) is a timed state that holds you whatever the damage. Knockback moves you and plays a short animation of its own. Slows Target lengthens your animations rather than interrupting them. None of them use the trigger number; only ordinary hit damage does.
Written from the game's tables (build 3.3.93847) and the cited pages; a per-level table is computed from skills.txt and skilldesc.txt by the same evaluator the skill pages use. A “legacy rule” is a published engine rule no table proves; a “game table” is read from the table named. · Report incorrect data