d2jsp
Log InRegister
d2jsp Forums > Diablo II > Diablo 2: Resurrected > D2:R Discussion > D2r Speed (fcr/attackspeed/maby Fhr And Frw Later)
1238Next
Add Reply New Topic New Poll
Member
Posts: 21,932
Joined: Sep 3 2006
Gold: 455.00
Nov 11 2021 10:37am
Yo..
Decided to make a new topic, now that everythings is matching fine. The most important part is that in D2R effective increase attack speed "EIAS" and effective increased fcr "EFCR" is no longer capped at 75.
No attack breakpoints from d2lod etc should be changed as Long as below 75 eias.

General:
EIAS = [(120*IAS)/(120+IAS)] + SIAS - WSM

IAS needed to reach EIAS breakpoint = [120*(EIAS- SIAS + WSM))/(120-(EIAS - SIAS +WSM)] <-- does not work on highest breakpoints

SIAS = Skill IAS (FANA/BOS/FRENZY/Werewolf)

WSM = Wepon's internal speed. (ref arreat summit)

Fpa={FramesPerDirection * 256 / [animationSpeed*(100+EIAS)/100]}-1
Ref here for FramesPerDirection and AnimationSpeed
https://www.mannm.org/d2library/faqtoids/animspeed.html

Fpa serial and sequence: uses same formula, but no -1 in the end. It usually use an modified FramesPrDirection. I will come back to this.
ActionFrame/ActionFlag does not use - 1 either.
Amazon and sorc skip some pictures sometimes which will be dealth with below.

[ ] = Floor, written like this in excel: floor((FormulaToRound);1)
{ } = Ceiling, written like this in excel: Ceiling((FormulaToRound);1)

General fcr:
Class - - FramesPrDirection - - ActionFrame - - AnimSpeed:
AmaBow - - 20 - - 10 - - 256
AmaFist - - 20 - - 11 - - 256
AmaXbw/2hs - - 20 - - 13 - - 256
AmaStf/1ht/2ht - - 20 - - 12 - - 256
Assa - - 17 - - 9 - - 256
Barb - - 14 - - 9 - - 256
DruidHuman - - 15 - - 8 - - 208
DruidWolf - - 11 - - 5 - - 168
DruidBear - - 10 - - 5 - - 152
NecroHuman - - 16 - - 8 - - 256
NecroVampir - - 20 - - 4 - - 214 (10fcr break instead of 11 missmatch)
Paladin - - 16 - - 9 - - 256
Sorc L/CL/Inf - - 19 - - 7 - - 256 (does not use -1 in framesPrCast)
Sorc other - - 14 - - 7 - - 256

FCR formula:
EFCR = [120*Fcr/(120+fcr)]

Fpc={FramesPerDirection * 256 / [animationSpeed*(100+EFCR)/100]}-1 (the exception is light sorc who dont use - 1)

ActionFrame/ActionFlag ={FramesPerDirection * 256 / [animationSpeed*(100+EIAS)/100]}
https://imgur.com/o1jlO8R


Attack speeds:

Assassin
Laying traps:
FPA = {16*256/[256*(100+EIAS)/100]}-1
Which gives EIAS breakpoints:
EIAS -- FPA
0 -- 15
7 -- 14
15 -- 13
24 -- 12
34 -- 11
46 -- 10
61 -- 9
79 -- 8
100 -- 7
129 -- 6
167 -- 5
221 -- 4

Dragon talon:
Initial kick:
={13*256/[256*(100+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
161 -- 4
225 -- 3

Follow up/serial kick:
={4*256/[256*(100+EIAS) /100]}

EIAS -- FPA
0 -- 4
34 -- 3 (used to stop here)
100 -- 2

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

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

Formula:
Vincrease =floor(70-WSM+SIAS+(120*ias/(120+ias));1)

Frames =ceiling(256*13/floor(208*Vincr/100;1);1)/2

EIAS breaks dragon claw:
I dont bother doing eias breakpoints here. Fill in the formula and u get the correct frames.

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.

Amazon:
Bow(not strafe) :
AnimationLenght = How many frames between each shot.
AnimationLenght = {14*256/[256*(100+Eias)/100]}-1
ActionFrame = {6*256/[256*(100+Eias)/100]}

Ama using bow.
EIAS breaks:
EIAS - - FPA
0 - - 13
8 - - 12
17 - - 11
28 - - 10
41 - - 9
56 - - 8
75 - - 7
100 - - 6
134 - - 5

Ama using throw jav:
{16*256/[256*(100+Eias)/100]} - 1
EIAS - - fpa
0 - - 15
7 - - 24
15 - - 13
24 - - 12
34 - - 11
46 - - 10
60 - - 9 (this used to be 61... And last in d2lod)
78 - - 8
100 -- 7
129 - - 6
167 - - 5

Ama stabbing with jav/charged strike etc:
{13*256 / [256*(100+eias)/100]}-1

EIAS - - fpa
0 - - 12
9 - - 11
19 - - 10
31 - - 9
45 - - 8
63 - - 7
86 - - 6
117 - - 5
161 - - 4

Jab:
EIAS = [120*ias/(120+ias)+SIAS-(WSM+30)
1 handed:
Frames = {18*256/[256*(100+EIAS)/100]}/3
Attacks pr sec = 25/Frames

So the +30 to wsm made this EIAS for jab low, which is why breakpoint ended at 280ias.

[120*280/(120+280)+0-(-10+30)]
= 64 EIAS

{18*256/[256*(100+64)/100]} = 11
11 / 3 = 3,66 fpa

25/3,66 = 6,83 attacks pr sec

2 handed spear jab:
Fpa = {21*256/[256*(100+Eias)/100]}/3

EIAS tables:
Buffering... Haha i cba now...

Barbarian:
EIAS = [120*ias/(120+ias)+SIAS-WSM

Berserk:
Ceiling(FramesPrDirection*256/floor(256*(100+Eias)/100)1;1)-1
FramesPrDirecrion:
Most weps: 16
2 hand swords: 18
2 handed trusting: 19
Staff/polearms etc: 19
Hands/knife: 12
Bow: 15
Xbow: 20
So most likely u use 16, 18 or 19 here.

Shoting bow(widowmaker) :
Ceiling(15*256/floor(256*(100+Eias)/100);1);1)-1

SingleThrow:
Ceiling(16*256/floor(256*(100+Eias)/100)1;1)-1

Double throw / frenzy / double swing:
Vincrease doublethrow/frenzy =ceiling(70-wsm+SIAS+(120*ias/(120+ias));1)

Vincrease doubleswing =ceiling(120-wsm+SIAS+(120*ias/(120+ias));1)

Frames:
Double throw:
=ceiling(256*12/floor(256*Vincr/100;1);1)/2
Frenzy/double swing:
=ceiling(256*17/floor(256*Vincr/100;1);1)/2

Wirlwind 2 handed:
Formulas is probarly not like this, i cheat on this but it will work.

EIAS = (wsmPrWepIndividual + ias) *(-1)

Frames 1 handed wepons(ofc each wep) :
=If(Eias>33;4;If(Eias>9;6;If(Eias>-11;8;If(Eias>-35;10;12))))

Frames 2 handed wep:
=If(Eias>59;4;If(Eias>29;6;If(Eias>9;8;If(Eias>-1;10;12))))

Paladin:
Smite:
Frames = {12*256/[256(100+EIAS)/100]}-1
EIAS table for smite:
EIAS -- fpa:
0 - - 11
10 - - 10
21 - - 9
34 - - 8
50 - - 7
72 - - 6
100 - - 5
141 - - 4

Zeal:
Frames serial = {[FramesPerDirection/2]*256/[256*(100+Eias)/100]}
Frames normal attack = {FramesPerDirection*256 / [256*(100+Eias)/100]}

Zeal exists of 4 serial and 1 normal.

I cba write eias table. Refer to table linked in first post for FramesPerDirection.
15 for 1 handed swing like pb and Z
17 for 1 handed trust like stygian javs and knives
18 for STF (staffs, 2 handed mauls/axes/polearm).
18 for 2 handed swords
20 for 2 handed thrust like spears/pikes
Bow etc is the same. Just use framesPerDirection according to table if u shot arrows or whatever.

QUOTE=gel87,Nov 9 2021 09:36pm]Sorc
SOA11HS 20 256
SOA11HT 19 256
SOA12HS 24 256
SOA12HT 23 256
SOA1BOW 17 256
SOA1HTH 16 256
SOA1STF 18 256
SOA1XBW 20 256
SOA21HS 20 256

Sorc zealing, use same formula as pala.
She use same formula for normal attack as well, but:

Startframes
https://imgur.com/gallery/zHDNeeA

What i found by this was that:
Normal attacks:
Hands = HTH-1 aka 15
Knife/jav/spear = 1HT-2 which is 17.
Swinging weps = 1HS-2 aka 18

Zeal:
Frames serial = {[FramesPerDirection/2]*256/[256*(100+Eias)/100]}
Excel:
Zeal first:
=ceiling(Rounddown(20/2;0)*256/floor(256*(100+Eias)/100;1);1)
Zeal middle strikes:
=ceiling(floor(20*0,6;0)*256/floor(256*(100+eias)/100;1);1)
Zeal last:
=ceiling(20*256/floor(256*(100+EIAS)/100;1);1)-1

Frames normal attack = {(FramesPerDirection-bonus) * 256 / [256* (100+Eias)/100]}-1


Werebear use regular formula, but u need to include:
Sorc's framesPrDirection.
Here animspeed is 256 anyway, so no change there like we needed to do with claw assa.[/QUOTE]

Nec is normal. Use his frames if bear as u shaped. Like we did with assa.

This post was edited by gel87 on Nov 11 2021 11:18am
Member
Posts: 39,382
Joined: Feb 14 2007
Gold: 2,009.99
Nov 11 2021 10:49am


Live look at Gel doing D2R calculations :thumbsup:
Member
Posts: 3,281
Joined: Nov 3 2005
Gold: 2,209.00
Nov 11 2021 11:14am
Quote (IgoSoHard @ 11 Nov 2021 08:49)


Lmao
Member
Posts: 8,698
Joined: Apr 27 2009
Gold: 22,278.00
Nov 11 2021 12:07pm
Great compilation Gel!

we need keep making those mega threads until a good soul want make the new calc or titanseal update his calc <3

i'll keep making builds / calc'ing too with those new breakpoints, what a time to play d2 friends!

This post was edited by ThoroBR on Nov 11 2021 12:13pm
Member
Posts: 7,081
Joined: Oct 7 2015
Gold: 5.00
Nov 11 2021 12:08pm
Quote (ThoroBR @ Nov 11 2021 01:07pm)
Great compilation Gel!

we need keep making this mega thread until a good soul want make the new calc or titanseal update his calc <3

i'll keep making builds with this new breakpoints, what a time to play d2 friends!



I might make a calc when I get time but if I doo it won’t be until the new year
Member
Posts: 15,801
Joined: Jul 9 2021
Gold: 291.00
Nov 11 2021 12:11pm
take a load of this. Enjoy!

This post was edited by ChocolateCoveredGummyBears on Nov 11 2021 12:11pm
Member
Posts: 45,410
Joined: Jun 11 2008
Gold: 1,973.00
Warn: 20%
Nov 11 2021 12:38pm
Quote (ChocolateCoveredGummyBears @ Nov 11 2021 07:11pm)
^TommyVV take a load of this. Enjoy!


yes!


its a 60fps 4K game, with a 24fps per sec breakpoint system

there is 6.66 frames missing for vulcan logics
Member
Posts: 15,801
Joined: Jul 9 2021
Gold: 291.00
Nov 11 2021 12:39pm
Quote (Tommyvv @ Nov 11 2021 10:38am)
there is 6.66 frames missing for vulcanlogics


ROFLLL as a dev, I about spit out my drink love you Tommy

This post was edited by ChocolateCoveredGummyBears on Nov 11 2021 12:39pm
Member
Posts: 45,410
Joined: Jun 11 2008
Gold: 1,973.00
Warn: 20%
Nov 11 2021 12:56pm
Would be alot more fun if the new system would make breakpoint appear around your fps GPU/monitor power.
Then you find a 12%fhr bone skiller, and adjust your 60fps to 67fps to get that 1 extra less frame when hit!


e/ there are also action frame breakpoints, missing on this page
thats a stap between a breakpoint to realse a action 1 frame sooner in the build up of animation
total animation stays the same, but the projectile or swing happens 1 frame sooner
used to be a thing with animation cancelling/str bugged fcr/ias/fhr invisible projectiles (fixed now)

they fixed the cool nerd stuff, but mana burn still there! funny boys

This post was edited by Tommyvv on Nov 11 2021 01:01pm
Member
Posts: 21,932
Joined: Sep 3 2006
Gold: 455.00
Nov 11 2021 01:55pm
Here i am trying to play vanguard on my pc and within 10 minuts(i played 1 game) i have had to restart the game literally 5 times now...
"update require you to restart the game"

Well wtf xD
Go Back To D2:R Discussion Topic List
1238Next
Add Reply New Topic New Poll