d2jsp
Log InRegister
d2jsp Forums > Diablo II > Diablo 2: Resurrected > D2:R Discussion > Need Help Verifying Attack Speed Formulas D2r
1239Next
Add Reply New Topic New Poll
Member
Posts: 21,409
Joined: Sep 3 2006
Gold: 1,110.00
Oct 29 2021 10:39am
Hi, I need some help to test if the attack frame formulas are correct. And that the EIAS/Speedincrease cap removal is only change.

General:
EIAS = [(120*IAS)/(120+IAS)] + SIAS - WSM
IAS needed to reach EIAS breakpoint = [120*(EIAS- SIAS + WSM))/(120-(EIAS - SIAS +WSM)]
SIAS = Skill IAS (FANA/BOS/FRENZY)
WSM = Wepon's internal speed. (ref arreat summit)
[ ] = RoundDown, written like this in excel: ROUNDDOWN((FormulaToRoundDown);Number of decimals)
{ } = RoundUp, written like this in excel: ROUNDUP((FormulaToRoundUp);Number of decimals)

Laying traps:
FPA = {16/(1+(EIAS/100))}-1
Which gives EIAS breakpoints:
EIAS -- FPA
0 -- 15
8 -- 14
15 -- 13
24 -- 12
34 -- 11
46 -- 10
61 -- 9 (used to stop here)
78 -- 8
101 -- 7
129 -- 6
167 -- 5
221 -- 4

Dragon talon:
Initial kick:
={13/(1+(EIAS/100))-1}
Which gives EIAS table:
EIAS -- FPA
0 -- 12
9 -- 11
19 -- 10
31 -- 9
45 -- 8
63 -- 7 (used to stop here)
86 -- 6
117 -- 5
160 -- 4
225 -- 3

Follow up/serial kick:
Here we deal with 50% rollback animation.
So [13/2]*0,5 = 3
={3*256/[208*(1+(EIAS/100))]}

EIAS -- FPA
0 -- 4
24 -- 3 (used to stop here)
85 -- 2
270 -- 1

(i was told autoWSMbug works in D2R. Which means u can WSM bug a Runic(-30WSM) with a WarFist(+10WSM) who adds dex to wear runic. Which would result in a hefty WSM) :
95 ias, 57bos SIAS = 160 EIAS then.
120ias, 57bos SIAS = 167 EIAS then.

Dragon claw is maby different, i havent checked yet. But A1 Claws and A2 Claws animspeed etc = 208. Which means we cannot shorten formula. I i must have a look later.
https://www.mannm.org/d2library/faqtoids/animspeed.html
https://www.mannm.org/d2library/faqtoids/ias_eng.html

Shapers:
Shapers has 1 human animation speed and 1 shaped animation speed, both are handeled when it comes to calculating attack speed.
So here we need to use full formula. The human shape makes a change in AnimSpeed.

Frames pr Direction and AnimRate:
AnimRate & WeponBase: Ref. https://www.mannm.org/d2library/faqtoids/animspeed.html
So AnimRate here does vary by wep and class. Usually animrate is 256, but it may differ, like forexample assa with claw/claws its 208.
WSM IS INVERTED IN THIS FORMULA!!!! (WSM * -1) prior to using it.

NeutralFrame(NU):
NU WereWolf: 9
NU WereBear: 10

Werebases:
- For the wolf and bear forms the A1 (right paw swing)and A2 left paw swing) sequence are their normal attack length WereBear=12, WereWolf=13.
- For the S3 sequence (biting attack animation) the lengths are WereBear=10, WereWolf=10. (sound of bear is 13 ^^)
- (MadeUpWord-->)AnimRate1 = 100, unless chilled where it becomes 50. Im unsure about how the rest of the slow acts, if it's directly subtract to AnimRate1, or if it is a subtract to WSM or SIAS.
Anyway, it should work the same. But if max slow ammount is 100(chilled + 50% from either skills(golem/hf) or items(Gleglaws etc). If the total ammount of slow can be more than 100, then i would assume
that: Chilled subtracts to AnimRate1, SkillSlow Subtracts to SIAS, ItemSlow subtracts to WSM. And that each is max 50%. But this is just guesses, hope some1 can explain me the max values of slow.

Shape Formulas:
Delay = [256*(WeaponBase) / [(weapon ias+wsm+100)*AnimRate/100]]
Anim speed = [NU * 256 / delay]
Speed increase/EIAS = [120 * ias / (120 + ias)] + skill ias + wsm *(IAS is both wep and gear as usual formula)
FramesSerial = {256*7/[(AnimRate1 + Speed increase)/100*Anim speed]}
Frames WolfPaw = {256*13/[(AnimRate1 + Speed increase)/100*Anim speed]}- 1
Frames Biting = {256*10/[(AnimRate1 + Speed increase)/100*Anim speed]}- 1
Frames BearPaw = {256*12/[(AnimRate1 + Speed increase)/100*Anim speed]}- 1

* Fury use FramesSerial for his 4 first attacks, then WolfPaw for the last attack.
* AnimRate for Werewolf/Werebear is not listed as 256, but we use 256. AnimRate for human shape we use the listed for AnimRate and WeponBase.
Example: Assa Wielding a claw: AIA1HT1 -- WeponBase(Frames pr direction) 11 -- AnimRate 208.

* Formula with example(fury druid, using eth tomb reaver 100ias(10 WSM which becomes -10 in formula), lvl 33 werewolf(75 SIAS), 10 gear ias(not needed for breakpoint) :
Delay = [256*(17) / [(100+-10+100)*256/100]] = 8
Anim speed = [9 * 256 / 8] = 288
Speed increase/EIAS = [120 * 110 / (120 + 110)] + 75 + -10 = 122 (this would be 75 in d2lod)
FramesSerial = {256*7/[(100 + 122)/100*288]} = 3
FramesPaw = {256*13/[(100 + 122)/100*288]}- 1 = 5
Resulting in a 3/3/3/3/5 frame attack.
25/3 = 8,33 attacks pr sec
25/5 = 5 attacks pr sec
(8,33*4+5)/5 = 7,66 attacks pr sec.

* Formula with example(Bear Assassin, using Runic Claw 100ias(-30 WSM which becomes 30 in formula), lvl 36 Bos(57 SIAS) + lvl 15fana merc (33 SIAS) + 140 GearIas:
Delay = [256*(11) / [100+30+100)*208/100]] = 5
Anim speed = [10 * 256 / 5] = 512
Speed increase/EIAS = [120 * 240 / (120 + 240)] + 90 + 30 = 200 (this would be 75 in d2lod)
Frames BearPaw = {256*12/[(208 + Speed increase)/100*Anim speed]}- 1 = 1 FRAME! 25 attacks pr second. On regular D2LOD this would be 3 frames.

Somebody want to test a little for me? :)
I dont have gear or hero editor xD

What i would love to test first is:
Stormlash 45ias(socet with 15ias jool) + 35 gear ias + level 20 werewolf (68 EIAS):
This should give 5/5/5/5/7 frames fury.
Stormlash 45ias(socet with 15ias jool) + 40 gear ias + level 20 werewolf (68 EIAS):
This should give 4/4/4/4/7 frames fury.
Stormlash 50ias(socet with shael) + 15 gear ias + level 20 werewolf (68 EIAS):
This should give 4/4/4/4/7 frames fury.
Stormlash 50ias(socet with shael) + 20 gear ias + level 20 werewolf (68 EIAS):
This should give 4/4/4/4/6 frames fury.

I can add more stuff later. Claw/frenzy/double throw/ama/smiter/zerk etc..

Theese are interesting times.
Firewall deals massive dmg. Maby spells with next delay has been buffed to less/none next delay? This would make volcano epic! Any1 did some tests? :)
Member
Posts: 21,409
Joined: Sep 3 2006
Gold: 1,110.00
Oct 29 2021 11:12am


Can you test? :)

This post was edited by gel87 on Oct 29 2021 11:12am
Member
Posts: 21,409
Joined: Sep 3 2006
Gold: 1,110.00
Oct 29 2021 12:19pm
Quote (gel87 @ Oct 29 2021 07:12pm)


Stormlash 45ias(socet with 15ias jool) + 35 gear ias + level 20 werewolf (68 EIAS):
This should give 5/5/5/5/7 frames fury.
Stormlash 45ias(socet with 15ias jool) + 40 gear ias + level 20 werewolf (68 EIAS):
This should give 4/4/4/4/7 frames fury.
Stormlash 50ias(socet with shael) + 15 gear ias + level 20 werewolf (68 EIAS):
This should give 4/4/4/4/7 frames fury.
Stormlash 50ias(socet with shael) + 20 gear ias + level 20 werewolf (68 EIAS):
This should give 4/4/4/4/6 frames fury.


DAMN, I mean to write SIAS, not EIAS
Member
Posts: 3,637
Joined: Sep 27 2021
Gold: 0.00
Oct 29 2021 05:24pm
On Assassin, trying to reach 8fpa traps (EIAS 78) using a flail (WSM -10) and lvl 16 BoS (SIAS 51).

Theoretically I'd need 20 additional IAS to reach the next bp: [120 * (78 - 51 -10)) / (120 - (78 - 51 - 10))] = 19.806

If I add 20 IAS on that exact setup, I do not feel any increase, however if I add 40 IAS I doo see the increase.
So I assume there's more going on...
Member
Posts: 21,409
Joined: Sep 3 2006
Gold: 1,110.00
Oct 29 2021 05:58pm
Quote (B1shibosh @ Oct 30 2021 01:24am)
On Assassin, trying to reach 8fpa traps (EIAS 78) using a flail (WSM -10) and lvl 16 BoS (SIAS 51).

Theoretically I'd need 20 additional IAS to reach the next bp: [120 * (78 - 51 -10)) / (120 - (78 - 51 - 10))] = 19.806

If I add 20 IAS on that exact setup, I do not feel any increase, however if I add 40 IAS I doo see the increase.
So I assume there's more going on...


51 - -10 = 61
120*20/(120+20) + 51 - -10 = 78,14 aka 78.
16 / (1+(61/100)) - 1 = 8,93, aka 9 frames.
16 / (1+(78,1428/100)) - 1 = 7,98 aka 8 frames.

Yes, you should see difference.. Tried to see if it does not round down eias, and such. But that dont help either.
So yes, i guess something else going on.

AnimDuration = {(AnimLength * 256) / [AnimSpeed * (AnimRate + SIAS + EIAS - WSM) / 100]} - 1 *

with

[EIAS = 120 * IASItem / (120 + IASItem)]

If animspeed is 208.
{16 * 256) / [208 * (1+(78/100)] - 1} = 10

120*40/(120+40) + 51 + 10 = 91
{16 * 256) / [208 * (1+(91/100)] - 1} = 9,31 aka 10

I dno, its hard to know without any1 looking into the new tables inside d2r ^^

We have the old frames pr direction tables, and animspeed tables.
But im a little bit unsure how that will work now.
It used to fit with 16/(1+(EIAS/100))-1. But looking at the table, i dont get where we get theese 16 from. But i also dont know if trap laying speed is: A1, A2, S1, S2, S3, S4 and if NU has anything here to do. There are many things involved, some May not matter before, but changing something in programs usually has other effects as well xD



Member
Posts: 45,908
Joined: Jan 20 2010
Gold: 22,189.49
Oct 29 2021 06:03pm
I am very lazy on stuff like this. Its a lot of effort to test and then they change it with silent serverside patches as soon as you figure it out
Member
Posts: 3,637
Joined: Sep 27 2021
Gold: 0.00
Oct 29 2021 06:05pm
Quote (gel87 @ Oct 30 2021 01:58am)
51 - -10 = 61
120*20/(120+20) + 51 - -10 = 78,14 aka 78.
16 / (1+(61/100)) - 1 = 8,93, aka 9 frames.
16 / (1+(78,1428/100)) - 1 = 7,98 aka 8 frames.

Yes, you should see difference.. Tried to see if it does not round down eias, and such. But that dont help either.
So yes, i guess something else going on.

AnimDuration = {(AnimLength * 256) / [AnimSpeed * (AnimRate + SIAS + EIAS - WSM) / 100]} - 1 *

with

[EIAS = 120 * IASItem / (120 + IASItem)]

If animspeed is 208.
{16 * 256) / [208 * (1+(78/100)] - 1} = 10

120*40/(120+40) + 51 + 10 = 91
{16 * 256) / [208 * (1+(91/100)] - 1} = 9,31 aka 10

I dno, its hard to know without any1 looking into the new tables inside d2r ^^

We have the old frames pr direction tables, and animspeed tables.
But im a little bit unsure how that will work now.
It used to fit with 16/(1+(EIAS/100))-1. But looking at the table, i dont get where we get theese 16 from. But i also dont know if trap laying speed is: A1, A2, S1, S2, S3, S4 and if NU has anything here to do. There are many things involved, some May not matter before, but changing something in programs usually has other effects as well xD


Even if it possibly could be figured out... What if it get's patched anyways :rofl:
Member
Posts: 21,409
Joined: Sep 3 2006
Gold: 1,110.00
Oct 29 2021 11:26pm
Quote (Goomshill @ Oct 30 2021 02:03am)
I am very lazy on stuff like this. Its a lot of effort to test and then they change it with silent serverside patches as soon as you figure it out


Quote (B1shibosh @ Oct 30 2021 02:05am)
Even if it possibly could be figured out... What if it get's patched anyways :rofl:


Ye, most likely, but wsm bug lasted 20 years in d2, FarCast lasted like 17-18 years.
This is not very OP when it comes to balance i think. (maby a little on assa)
Member
Posts: 3,637
Joined: Sep 27 2021
Gold: 0.00
Oct 30 2021 08:16am
Quote (gel87 @ Oct 30 2021 07:26am)
Ye, most likely, but wsm bug lasted 20 years in d2, FarCast lasted like 17-18 years.
This is not very OP when it comes to balance i think. (maby a little on assa)


Laying down a trap at 6fpa while forcing somebody into hit recovery over mb and some of the specs have a >=6fpa fhr animation, is more than a "little" op. Especially as they removed counter play in form of wsg...
I'm all in for interesting changes, but this breaks PvP even more...

/e let's not even start with smite, which basically becomes even more of an iWin button...

This post was edited by B1shibosh on Oct 30 2021 08:23am
Member
Posts: 21,409
Joined: Sep 3 2006
Gold: 1,110.00
Oct 30 2021 09:57am
Quote (B1shibosh @ Oct 30 2021 04:16pm)
Laying down a trap at 6fpa while forcing somebody into hit recovery over mb and some of the specs have a >=6fpa fhr animation, is more than a "little" op. Especially as they removed counter play in form of wsg...
I'm all in for interesting changes, but this breaks PvP even more...

/e let's not even start with smite, which basically becomes even more of an iWin button...


Barb, (inzane fhr and fcr breaks).
WC + Leap.
EZ pk.
Dont even need ias.

Doom + Hoto vs assa as an example. U can even ignore mb dmg with integer DR.
(doom might be bm vs assa though, but still. WC barb was stronger than people gave it credit for in d2lod, i slayed barbs, necs, ele druids and assas with it on asgard)
Now immagine smiter, barb leap him for KB, charge/smite/zeal is no longer uninteruptible.
Smiter gets KB'ed by leap. Now with ur 105fcr u teleport just outside his weprange, and wc him. Charge away should not work, walk/run/wsg should not work, smite/zeal back should not work.

On the other hand, trapsin 102fcr mb barb with 10 frames MB.
Barb got 4 frames FHR (86) due to Doom beeing BM, so he easy get 86 with spirit + shadows boots.
Barb got 8 frame cast rate (105fcr).

Barb should be able to perma stun assa.

So no IAS cap is hardly OP, you sacrifice damage and other usefull stuff, and ias related attack usually lack behind and require heavier gear.
Its the none WSG effect and the Uninteruptible skills which fails to be uninteruptible which fails.

Some of those effects are cool, like fury can suddenly work decent as a melee attack, as you now get 3 frames rather easy as well as he is not alone anymore of the melee chars with interuptible attack xD
Go Back To D2:R Discussion Topic List
1239Next
Add Reply New Topic New Poll