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)
[ ] = Floor, written like this in excel: floor((FormulaToRound);1)
{ } = Ceiling, written like this in excel: Ceiling((FormulaToRound);1)
Laying traps:FPA = {16/(1+(EIAS/100))}-1
Which gives EIAS breakpoints:
EIAS -- FPA
0 -- 15
7 -- 14
15 -- 13
24 -- 12
34 -- 11
46 -- 10
60 -- 9 (used to stop here, but on 61)
78 -- 8
100 -- 7
129 -- 6
167 -- 5
220 -- 4
Dragon talon:Initial kick:={13/(1+(EIAS/100))-1}
Which gives EIAS table:
EIAS -- FPA
0 -- 12
9 -- 11
19 -- 10
30 -- 9
45 -- 8
63 -- 7 (used to stop here)
86 -- 6
117 -- 5
160 -- 4
225 -- 3
Follow up/serial kick:={4*256/[256*(1+(EIAS/100))]}
EIAS -- FPA
0 -- 4
35 -- 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.htmlhttps://www.mannm.org/d2library/faqtoids/ias_eng.htmlFormula:
Vincrease =floor(70-(WSMleft+WSMright)/2+SIAS+(120*ias/(120+ias));1)
To simple this shit a little for u... ^^
Vincrease =floor(70-realWSM+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.htmlSo 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:
EIAS = {120*ias/(120+ias)}+SIAS-WSM
Bow(not strafe) :
AnimationLenght = How many frames between each shot.
AnimationLenght = {14/(1+(Eias/100))-1}
ActionFrame = {6/(1+(Eias/100))-1}
Ama using bow.
EIAS breaks:
EIAS - - FPA
0 - - 13
8 - - 12
17 - - 11
28 - - 10
40 - - 9
56 - - 8
75 - - 7
100 - - 6
134 - - 5
Ama using throw jav:
{16 / (1+(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 / (1+(eias/100))}-1
EIAS - - fpa
0 - - 12
9 - - 11
19 - - 10
30 - - 9
45 - - 8
63 - - 7
86 - - 6
117 - - 5
Jab:
EIAS = [120*ias/(120+ias)+SIAS-(WSM+30)
1 handed:
Frames = {18/(1+(EIAS/100))}
AverageFrames = Frames/3
Attacks pr sec = 25/AverageFrames
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/(1+(64/100))} = 11
11 / 3 = 3,66 fpa
25/3,66 = 6,83 attacks pr sec
2 handed spear jab:
Fpa = {21/(1+(Eias/100))}
AverageFrames = fpa / 3
EIAS tables:
Buffering... Haha i cba now...
Barbarian:
EIAS = [120*ias/(120+ias)+SIAS-realWSM
Berserk:
Ceiling(FramesPrDirection/(1+(Eias/100))-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/(1+(Eias/100))-1;1)
SingleThrow:
Ceiling(16/(1+(Eias/100))-1;1)
Double throw / frenzy / double swing:Vincrease doublethrow/frenzy =ceiling(70-(WsmLeft+WsmRight)/2+SIAS+(120*ias/(120+ias));1)
Vincrease doubleswing =ceiling(120-(WsmLeft+WsmRight)/2+SIAS+(120*ias/(120+ias));1)
(WsmLeft+WsmRight)/2 = true wsm when no wsm bug. So u can shorten it if u want. And if wsm bug use that instead.
U can also keep formula exactly as is, and if wsm bug just write ur real wsm in both fields.
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))))
Updated, info added. Etc..
Fixes.
Wirl, dragon claw, zerk, double swing and double throw, barb bow, single throw, frenzy, amazon attacks etc.
Paladin/sorc will come later when i bother, smite is {12/(1+(eias/100))-1} if i remember correct.
I dont think any1 else uses ias. Well necro bear.. But if u read werebear section the info is there... For all all bear classes...