Attack Speed Calculator
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.
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 needed | EIAS | Frames | Attacks/sec |
|---|---|---|---|
| 0% | 0 | 13 | 1.92 |
| 9% | 8 | 12 | 2.08 |
| 20% | 17 | 11 | 2.27 |
| 37% | 28 | 10 | 2.50 |
| 63% | 41 | 9 | 2.78 |
| 105% | 56 | 8 | 3.13 |
| 200% | 75 | 7 | 3.57 |
| 600%(beyond cap) | 100 | 6 | 4.17 |
| —(beyond cap) | 134 | 5 | 5.00 |
| —(beyond cap) | 181 | 4 | 6.25 |
| —(beyond cap) | 250 | 3 | 8.33 |
| —(beyond cap) | 367 | 2 | 12.50 |
| —(beyond cap) | 600 | 1 | 25.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.