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 shield's "Chance to Block" is not your chance to block. The game scales it by your Dexterity and divides by your level, so the same shield blocks less every level you gain unless Dexterity keeps up. Blocking is a second roll on an attack that has already hit you (Chance to Hit); a blocked attack does no damage.
chance to block = (shield block + bonus) × (Dexterity − 15) ÷ (character level × 2), at most 75%
shield block is the shield's own number (armor.txt block; the class-specific shields carry higher ones), bonus every Increased Chance of Blocking from the shield's own properties and your gear. The ceiling of 75% applies when standing, walking, attacking, casting or using Whirlwind.
While running, chance to block is reduced to one third (so at most 25%). This is the single biggest reason melee characters walk into a fight rather than run into it, and why "max block" builds carry Faster Run/Walk only for the trip there.
The Basin's list: melee attacks, arrows, bolts, javelins, throwing axes and knives, missiles that carry physical damage, and a few death explosions (Bone Fetish, Suicide Minion, Fire Enchanted). Not blocked: spells and elemental missiles such as high-level Fire or Cold Arrow (level 50 and up), Lightning Bolt, Molten Boulder's explosion, Tornado, Armageddon's impact, Corpse Explosion, a Paladin's Smite and Nihlathak's corpse explosion.
A block takes a block animation, and during it you cannot act. Faster Block Rate shortens it; without enough of it a high block chance can lock a character in place under a crowd of fast hitters.
Monsters that carry a shield block with their own table values, and the same rule applies to your attacks on them: a blocked hit does nothing.
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