Okay so i will update a litte:
AttackSpeed:EIAS General:EIAS = FLOOR(120*ias/(120+ias)+SkillIas-WSM-SLOW)
Assassin:FPA trayplaying = CEILING(16*256/FLOOR(256*(100+EIAS)/100))-1
FPA Kick = CEILING(13*256/FLOOR(256*(100+EIAS)/100))-1
FPA KickSerial = CEILING(4*256/FLOOR(256*(100+EIAS)/100))
FPA Wirlwind = RoundUp(6*256/floor(208*(100+EIAS)/100))-1
Notes: Wirlwind has do be done individual each wep.
Dragon Claw:
VelocityIncrease/EIAS = FLOOR(70-WSM+SKILLIAS-SLOW+(120*IAS/(120+IAS)))
FPA = CEILING(256*11/FLOOR(208*(100+EIAS)/100))/2
Notes: WSM is average between the 2 claws.
Amazon:FPA GA and general bow shot = CEILING(14*256/FLOOR(256*(100+EIAS)/100))-1
Action frame bow = CEILING(6*256/FLOOR(256*(100+EIAS)/100)) <--- Used for strafe, together with rollback.
FPA Java stabbing = CEILING(13*256/FLOOR(256*(100+EIAS)/100))-1
FPA JAB 1 handed = CEILING(18*256/FLOOR(256*(100+EIAS-30)/100))/3
FPA JAB 2 handed = CEILING(21*256/FLOOR(256*(100+EIAS-30)/100))/3
Amazon strafe:
Baseframe bow: 14
Actionframe bow: 6
Strafe Rollback: 50%
InitalHit:
=CEILING((ActionFrame-0)*256/FLOOR(256*(100+EIAS)/100;1);1)
StartFrameMiddleHits:
=FLOOR(FLOOR(0+((InitialHit*FLOOR(((100+EIAS)*256)/100;1))/256);1)*((100-Rollback)/100);1)
MiddleHits:
=CEILING((ActionFrame-StartFrameMiddleHits)*256/FLOOR(256*(100+EIAS)/100;1);1)
StartFrameLastHit:
=FLOOR(FLOOR(StartFrameMiddleHits+((MiddleHits*FLOOR(((100+EIAS)*256)/100;1))/256);1)*((100-Rollback)/100);1)
LastHit:
=CEILING((BaseFrame-StartFrameLastHit)*256/FLOOR(256*(100+EIAS)/100;1);1)-1
Which gives me 4/2/6 at 75 EIAS(actually 58 EIAS break).
But thanks to limitation, its only visual. So real speed would be 4/3/6:
Code
50 and 58 EIAS bow attack rates only apply to the displayed animation for following attacks: they actually continue to be 3 frames apart, and this interval is never reduced to 2 frames. When Strafe is fired continuously, the next volley begins when the animation of the previous one finishes, which reduces the number of actual attacks per volley but may sometimes increase the number of actual attacks over time, resulting in a faster attack rate. [1]
>49 EIAS crossbow attack rates only apply to the displayed animation for following attacks: they actually continue to be 4 frames apart, and this interval is never reduced to 3 frames. There are other breakpoints which only apply to the displayed animation rather than actual attacks as well. [2]
Barbarian:Single throw FPA =CEILING(16*256/FLOOR(256*(100+EIAS)/100))-1
Bow FPA = CEILING(15*256/FLOOR(256*(100+EIAS)/100))-1
Berserk FPA =CEILING(16*256/FLOOR(256*(100+EIAS)/100))-1
Wirlwind 1 handed wepons FPA = RoundUp(7*256/floor(256*(100+EIAS)/100))-1
Wirlwind 2 handed wepons FPA = RoundUp (9*256/floor(256*(100+EIAS)/100))-1
Note: I average all WSM when it comes to theese double wep attacks(not wirl, wirl is each wepon by itself)
To average WSM you need to (WSM1 + WSM2)/2
VelocityIncrease/EIAS for Doublethrow and Frenzy:
=FLOOR(70-WSM+SKILLIAS-SLOW+(120*IAS/(120+IAS)))
VelocityIncrease/EIAS for Double Swing:
=FLOOR(120-WSM+SKILLIAS-SLOW+(120*IAS/(120+IAS)))
Double Throw FPA = CEILING(256*12/FLOOR(256*EIAS/100))/2
Frenzy FPA = CEILING(256*17/FLOOR(256*EIAS/100))/2
Double Swing FPA = =CEILING(256*17/FLOOR(256*EIAS/100))/2
PaladinSmite FPA = CEILING(12*256/FLOOR(256*(100+EIAS)/100))-1
Zeal:
Zeal frames uses different wepons type baseframes and actionframes:
And Amazon and sorc skips to pictures, you can also see that its listed as startingframe.
So in beginning of formula i guess u put ((actionframe-2) for them.
Examples here:
https://www.theamazonbasin.com/wiki/index.php/Zeal_attack_speedZeal Rollback: 100%
Paladin Baseframe = 15
And i guess paladin action frame is then 7. (not sure, must be googled)
InitalHit:
=CEILING((ActionFrame-0)*256/FLOOR(256*(100+EIAS)/100;1);1)
StartFrameMiddleHits:
=FLOOR(FLOOR(0+((InitialHit*FLOOR(((100+EIAS)*256)/100;1))/256);1)*((100-Rollback)/100);1)
MiddleHits:
=CEILING((ActionFrame-StartFrameMiddleHits)*256/FLOOR(256*(100+EIAS)/100;1);1)
StartFrameLastHit:
=FLOOR(FLOOR(StartFrameMiddleHits+((MiddleHits*FLOOR(((100+EIAS)*256)/100;1))/256);1)*((100-Rollback)/100);1)
LastHit:
=CEILING((BaseFrame-StartFrameLastHit)*256/FLOOR(256*(100+EIAS)/100;1);1)-1
So zeal will have different actionframes and baseframes when used on other characters. Which is why u want to use libary og file browser to get it right.
If zeal is beeing used on Trang oul necro or Undead fetish they will have different action frames etc as well, and trang oul different animation speed may be relevant, not 100% sure with that on zeal. If zeal is overwritten with 256 or use wepontype/animation type animation speed.
I do think sorc has action frame of 20 when using zeal, but its -2 as animation skips 2 pictures on first attack.
Sorc:
Baseframes:
1handed sword: 18
Fists: 15
Daggers: 17
Normal attack = CEILING(Baseframe*256/FLOOR(256*(100+EIAS)/100))-1
Druid shapers: - Take theese with a grain of salt, except for fury. Because they may be altered via D2R recent patches...
I actually think wolves and werebear now uses the druids human form baseframes & hitframe and the animationspeed of 256. Not 100% sure, my memory is not 100% on all this as i barely play d2 anymore
Animation Speed wolf:
Wolf Paw FPA: = CEILING(256*13/FLOOR((100+EIAS)/100*AnimationSpeed))-1
Wolf Biting FPA = CEILING(256*10/FLOOR((100+EIAS)/100*AnimationSpeed))-1
Bear Paw FPA = CEILING(256*12/FLOOR((100+EIAS)/100*AnimationSpeed))-1
Bear Biting FPA =CEILING(256*10/FLOOR((100+EIAS)/100*AnimationSpeed))-1
Wolf animationspeed = 329
Bear animationspeed = 365
FURY:
Well, just read this... Its better explained here:
https://forums.d2jsp.org/topic.php?t=92642105&f=148&o=0DPS:25/fpa = attacks per second
Damage * attacks per second = DPS
(Your total damage * 017 * (1-(EnergyShield%/100)) - BoneArmor - PDR - MDROverflow) * (1-(EnemyDR%/100)) = End result. Its ofc Floor'ed.
Everything in D2 is rounded the worst way. So FPA is the only thing rounded up. Its only ROUNDUP for wirl, for other its CEILING function. This is what sets breakpoints.
Edit: ALSO LOOK THIS, its a little outdated due to D2R 2.4 patch changes. But it has a lot of info concerning Baseframes etc...
https://forums.d2jsp.org/topic.php?t=89662420&f=148This post was edited by gel87 on May 15 2025 02:57am