Attack Speed Calculator

Project Diablo 2 IAS breakpoints for every class, weapon and attack skill.

Corrected in the new site

Breakpoints now come from re-derived animation data. Normal attacks, Zeal, Assassin kicks, claws and traps, Whirlwind and multi-hit skills differ from the old calculator. See what changed.

Inputs

Character

Weapon

Attack

Increased attack speed

%
%

Fanaticism, Frenzy, etc.

Burst of Speed

Any class can use BoS via charges, oskills or chance-to-cast. On with level 0 counts as slvl 1 (21 SIAS). Werewolf skill IAS is added automatically in Werewolf form.

Results

Frames per attack
13
Attacks per second
1.92
EIAS
0
Form / skill IAS applied
0
WSM
0
Effective WSM
0

Next breakpoint: +9% IAS (need 9% total) -> 12 fpa

IAS breakpoints

"IAS needed" is the total item IAS (weapon + gear) required at your current skill IAS. Greyed rows are beyond the EIAS cap (75) and unreachable in-game.

IAS neededEIASFramesAttacks/sec
0%0131.92
9%8122.08
20%17112.27
37%28102.50
63%4192.78
105%5683.13
200%7573.57
600%(beyond cap)10064.17
(beyond cap)13455.00
(beyond cap)18146.25
(beyond cap)25038.33
(beyond cap)367212.50
(beyond cap)600125.00

How it works

Total attack speed: TAS = floor(120 × IAS / (120 + IAS)) + Skill IAS − WSM, clamped to [−85, 75]. The EIAS column shows TAS.

Attacks: Frames = ceil(256 × (FPD − StartFrame) / floor(AnimSpeed × (100 + TAS) / 100)) − 1, using the AnimData.d2 row for your class, weapon class and animation. Amazon and Sorceress attacks start 2 frames in.

Sequence hits: Zeal and Dragon Talon intermediate hits end at the action frame: ceil(256 × ActionFrame / rate), with no − 1. The last hit is the full animation. Jab, Fend, Strafe, Frenzy, Double Swing, Double Throw, Dragon Tail and Dragon Claw use the PD2 wiki tables.

Wereforms: stage 1 rate = floor(256 × neutral / floor(256 × WeaponFPD / floor((100 + Weapon IAS − WSM) × 256 / 100))), with neutral 10 (bear) or 9 (wolf) and WeaponFPD the Druid's own animation length for the weapon. Stage 2 frames = ceil(256 × outer / floor(rate × (100 + TAS) / 100)) − 1, with outer 12 (bear attack), 13 (wolf attack), 10 (Hunger, Rabies) or 7 (Fury hits 1–2, no − 1). Gear IAS counts only in stage 2.

Paladin Charge uses AnimDuration = (AnimLength × 256) / (256 + SIAS + EIAS − WSM) with a +30 WSM penalty. Burst of Speed gives 21 SIAS at level 1, scaling towards 60.

Animation data re-derived from AnimData.d2 (Amazon Basin dump) and checked against the PD2 wiki Breakpoints tables.

Corrected in the new site

The old calculator used hand-typed frame tables. This version reads the re-derived AnimData values, which reproduce the PD2 wiki breakpoint tables. What changed:

  • Normal attacks: most class and weapon combinations were off by one or more frames (for example Paladin axes, polearms and staves, every Druid and Sorceress weapon, Amazon two-handed swords). Only about one in six matched the game.
  • Zeal: every table was wrong. Middle hits end at the action frame (Paladin one-handed swords: 7 frames at 0 speed, 4 at the cap, not 10).
  • Assassin: claws now run at speed 208 and alternate two animations; Dragon Talon uses 4-frame kicks plus a full final kick; traps use their own 8-frame, speed-128 animation; Dragon Tail and Dragon Claw use the PD2 tables (Dragon Kick, which is not a PD2 skill, was replaced by Dragon Claw).
  • Whirlwind ignores attack speed in PD2: a fixed 5 frames per hit.
  • Multi-hit skills (Jab, Fend, Strafe, Frenzy, Double Swing, Double Throw) show every hit from the PD2 wiki tables instead of one averaged value.
  • Wereforms: Fury hits 1–2 no longer subtract a frame.
  • No verified data: Phoenix Strike and off-class Jab and Fend now show normal attack breakpoints instead of guessed tables.
  • Unsettled values: crossbows, Amazon staves, polearms, two-handed axes and mauls, and wereforms with a two-handed sword use the raw AnimData values, which disagree with the PD2 wiki. They are flagged on the page until someone tests them in game.