New Wereform Attack Speed Development
#1
This morning I was sitting around between classes today, thinking about possibly going and testing the attack speeds for two-handed swords as compared to one-handed swords for the Werebear, to get final confirmation as to whether all swords were treated the same for Wereform speeds. As I got on the test character, it occurred to me, why don't I check to see if, for a given base animation length value, Werewolf and Werebear breakpoints are the same. So, I went and got out my trusty attack speed charts. These are the animation length values as have been derived in the past:

Base Weapon Werewolf Werebear Druid
1-H weapons 28 23 20
1-H thrusting 28 23 20
2-H sword 28 22 or 23 21
2-H thrusting 32 to 34 26 or 27 23
2-H other 24 20 17

However, it occurred to me that perhaps whoever initially tested these values did NOT take the additional SIAS from slvl 1 Werewolf into account when deriving these. Thus, the actual base animation length for a Werewolf would be slightly longer than listed. In this case, I decided to compare the Werewolf breakpoints for Two-Handed Axes/Polearms/Maces/Staves against the breakpoints for a Werebear's Two-Handed Swords.

Now, since there is a SIAS different between these two forms, I had to somehow grant my Werebear a SIAS bonus equivalent to that of a Werewolf. Thus, what I did was go into the skills.txt file and set it up so that the Werewolf skill would give me 0% SIAS with an additional 0% SIAS every skill level. Thus, I would have Werewolf attack speeds that DID NOT TAKE SIAS INTO ACCOUNT!

I have tested that the chart for Werebear animation lengths with 0 Weapon Speed Two-Handed Swords are as follows (WIAS down the left, OIAS across the top):

-- 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70
0 22 22 21 20 19 19 18 18 17 17 17 16 16 16 15
5 20 19 19 18 18 17 17 16 16 16 15 15 15 15 14
10 18 18 17 17 16 16 15 15 15 14 14 14 14 14 13
15 17 16 15 15 15 14 14 14 14 13 13 13 13 13 12
20 15 15 14 14 13 13 13 13 12 12 12 12 12 12 11
25 15 14 14 13 13 13 13 12 12 12 12 12 12 11 11
30 13 13 13 12 12 12 12 11 11 11 11 11 11 11 10
35 13 13 12 12 12 12 11 11 11 11 11 11 11 10 10
40 12 11 11 11 11 11 11 10 10 10 10 10 10 10 10
45 11 11 11 11 11 10 10 10 10 10 10 10 10 10 9
50 10 10 10 10 10 9 9 9 9 9 9 9 9 9 9
55 10 10 10 10 9 9 9 9 9 9 9 9 9 9 8
60 9 9 9 9 8 8 8 8 8 8 8 8 8 8 8
65 9 9 9 8 8 8 8 8 8 8 8 8 8 8 8
70 9 9 8 8 8 8 8 8 8 8 8 8 8 8 8
75 8 8 8 7 7 7 7 7 7 7 7 7 7 7 7
80 8 8 7 7 7 7 7 7 7 7 7 7 7 7 7
85 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7
90 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
95 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6
100 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6

Thus, it was my goal to check to see if the Werewolf attack speeds would match this table. I first tested it with 0% WIAS, 0% OIAS: 22 frames. Next I check 20% WIAS, 5% OIAS: 15 frames. Then 20% WIAS, 10% OIAS: 14 frames. Finally 95% WIAS, 5% OIAS: 7 frames and 100% WIAS, 5% OIAS: 6 frames.

EVERYTHING MATCHED UP!

Thus, I knew that the whole idea of there being differing "BASE" values for Werewolf and Werebear forms was completely wrong! Those values were merely "fudge-factors" to make up for the fact that the actual base animation lengths for the Werewolf form were wrong (due to the SIAS at level 1)!

To make the effects of this more obvious to everyone, here is the approximation for Wereform attack speed that I initially started testing with:

WIAS = Increased Attack Speed Found on a Weapon
OIAS = Increased Attack Speed Found on non-weapon Equipment
IAS = Total Increased Attack Speed of all Equipment

EIAS = The effective IAS after calculating diminishing returns according to the formula:
= 120 (IAS) / (120 + IAS)

SIAS = All of the Increased Attack Speed you are gaining from skills (skill IAS is not subject to diminishing returns and, so, is added in after using the diminishing formula). These include Werewolf, Fanaticism, Frenzy (though you don’t get this with a druid!), Burst of Speed (same deal!), etc.

WS = Weapon Speed; This is the negative value of those numbers appearing in the Chaos Sanctuary for the base item type you are using (IE -10 for a Maul, +10 for a Great Axe)
SI = Speed Increase = WS + SIAS + EIAS

Now for the two main equations on how all of this works: [] Means Round Down, {} Means Round Up

WF = Wereform Speed Modifier = WF = [256 * (BASE + 1) / [256 * WB / [256 * (1 + (WS + WIAS) / 100)] ] ]
F = Frames per attack = F = {256*(BASE+1) / [ [256*(1 + SI / 100)] * WF / 256 ] } - 1

In this case, the BASE value must, indeed, be the same for both the Werewolf and the Werebear as per the tests this morning. Thus, the (BASE+1) that keeps cropping up can just be simplified to a single number: 12.

Now, 12 is a VERY arbitrary number, so I wondered why, exactly, would it be used. I thought about this for a while and then wondered if perhaps the (BASE+1) value for the Werebear was ALSO wrong! Perhaps instead of 12, as it was thought to be, it had something to do with the number of frames that the game runs at: 25. Thinking about this, I noticed that twice of 12 was, in fact, 24, which is close to 25. All that would be needed to tweak this value to 25 would result in the following correction to the equations:

WF = Wereform Speed Modifier = WF = [128 * (25) / [128 * WB / [128 * (1 + (WS + WIAS) / 100)] ] ]
F = Frames per attack = F = {128*(25) / [ [128*(1 + SI / 100)] * WF / 128 ] } - 1

This tweak provides the following insights:

1. Removing the arbitrary (BASE+1) term left the equation entirely dependant upon the Weapon Speed(WS), Weapon IAS (WIAS), the Wereform Base Animation Length (WF) and the Speed Increase term (SI). This is a much more elegant expression of this equation since all of the variables therein are based upon one's equipment (with the exception of WF, which is hard-coded into the game engine just as any other class). There no longer is a SECOND hard-coded variable in the equation.

2. Instead of multiplying by 256, you multiply by 128. Now, initially, this is troubling. Why should this change take place. I honestly do not have any real evidence to answer this question, but I do have a theory. The answer likely lies in the mechanics of how this is calculated. In binary (the base 2 number system used in computers), multiplying by 256 merely shifts whatever number you have to the left 8 digits. Thus, 000000001 multiplied by 256 would yield 100000000. Multiplying by 128, instead, causes the value to shift 7 digits. Thus, to figure out how this all rounds, you would multiply by the number of frames of animation (25) and shift the result 7 places to the left and then round. I have not gone through and tested this extensively, but in all likelyhood, this rounding is likely the only thing left to decipher about the equations.

Now, upon making these changes, I decided to check a couple breakpoints to see if these equations were at all better. I decided to check out the Hellslayer Breakpoints for the Werebear. This is what I derived using the equation:

Unshaeled (0% WIAS):
0% OIAS = 24 Frame Attack
4% OIAS = 23 Frame Attack
12% OIAS = 21 Frame Attack <----Likely due to Rounding Error.. off by 2%
19% OIAS = 20 Frame Attack
26% OIAS = 19 Frame Attack <----Rounding Error.. Off by 1%
36% OIAS = 18 Frame Attack <----More Rounding Error.. off by 1%
62% OIAS = 16 Frame Attack <----Also likely due to Rounding Error.. off by 2%

Shaeled (20% WIAS):
0% OIAS = 16 Frame Attack
9% OIAS = 15 Frame Attack
22% OIAS = 14 Frame Attack
40% OIAS = 13 Frame Attack
66% OIAS = 12 Frame Attack
107% OIAS = 11 Frame Attack <---New breakpoint found by these equations! Someone try out a shaeled -10 base Two-Handed Axes/Polearms/Maces/Staves with 110% OIAS!

EDIT: I forgot the actual breakpoints:

Attack Speed Breakpoints (0% WIAS):
0% OIAS = 24 frame attack
5% OIAS = 23 frame attack
10% OIAS = 21 frame attack
20% OIAS = 20 frame attack
25% OIAS = 19 frame attack
35% OIAS = 18 frame attack
45% OIAS = 17 frame attack
60% OIAS = 16 frame attack

With a Shael Rune (20% WIAS):
0% OIAS = 16 frame attack
10% OIAS = 15 frame attack
25% OIAS = 14 frame attack
40% OIAS = 13 frame attack
70% OIAS = 12 frame attack

I've noted where the derived breakpoint is slightly different from the actual breakpoints listed below. Note that in every case where it is off, it is only off by TWO PERCENT AT MOST! This SCREAMS rounding error to me!

Finally, just to be sure that the equation doesn't break down at higher speeds like so many before it, I input the numbers for a Werewolf using a Phase Blade. As we know from my tests, and Concillian's Werewolf charts, there should be the following breakpoints:

85% WIAS = 6 Frame Attack
110% WIAS = 5 Frame Attack

Inputting the numbers, I got the following:

83% WIAS = 6 Frame Attack
107% WIAS = 5 Frame Attack

Basically, I was very "@_@" upon seeing all of this. I can't believe that something this simple, the unification of both Wereforms into one equation, could have been overlooked for so long. Now if we can find that rounding error, we'll have the grand Wereform attack speed equation we've always wanted! The light at the end of the tunnel is fast approaching! Hopefully we can figure this out soon and be done with it! I'll keep everyone up to date in my attempts to find the rounding error.
-TheDragoon
Reply
#2
For rounding, a good guess is to always round down on each division. (truncating) When in doubt, D2 seems to take the fastest way out.

Sometimes the order that stuff is done in is funky though. Look at your associativity and commutativity properties, switching them around will make a difference in how things get truncated.
Reply
#3
Ok, I just tested that 110% OIAS breakpoint and I guess you have to chalk up one more missed breakpoint to the rounding error. The breakpoint is 105% OIAS for a 10 Frame Attack with a Shaeled Hellslayer, not 110% as predicted. However, the fact that it DID predict that breakpoint means that it's almost there!
-TheDragoon
Reply
#4
I've got it! By rearranging a few terms, I've figured out the final Wereform equation! It should provide the breakpoints for both Werewolf and Werebear standard attacks for all weapon types with any amount of WIAS.

Base Weapon Werewolf Werebear Druid
1-H weapons 29 23 20
1-H thrusting 29 23 20
2-H sword 29 22 or 23 21
2-H thrusting 34 to 34 26 or 27 23
2-H other 26 20 17

WF = Wereform Speed Modifier = WF = [128 * (25) / [128 * WB / [128 * (1 + (WS + WIAS) / 100)] ] ]
F = Frames per attack = F = [128*(25) / [ [256*(1 + WB / 42 + SI / 100)] * WF / 256 ] ] - 1

There you have it. Go forth and make your calculators, I say! =)
-TheDragoon
Reply
#5
Well, I guess this forum is just too smart for my April Fools prank.. only Foxbat appears to have fallen for it. :) I guess the following doesn't really apply as much to this board, but the other boards haven't faired quite as well...

I write this as I'm sure that half of you are sitting around, confused, wondering what you've done wrong in typing in the equations to Excel so that you can go figure out all of the breakpoints you've always wanted. Well, in fact, you likely have made no mistake. This whole thing is a hoax, a fraud, a sham, an intentionally misleading facsimile of a legitimate derivation of an equation. Call it what you will, but the following sums it up:

[Image: aprilfools.jpg]

Special mention shall go to the following people who have taken the whole thing hook, line, and sinker and either offered suggestions on how to fix the rounding problems or even defended it against others who were more skeptical:

Foxbat, Sporkman, FenrisWulf, TooMuchGuinness, and Lone_Conspirator (Who claimed "I actually understood a lot of that")

Special credit goes to Flick of the Amazon Basin who saw through the whole thing in a matter of minutes.

For a transcript of the madness, check out the following:
My Posts
Responses to the Joke

To summarize, there IS no absolute equation to determine Wereform Attack Rates. Empirical data is the only way to go at this point. =)
-TheDragoon
Reply
#6
*cough*

I hate you. :D

gg Dragoon. I was confused at the end, actually, if you'll note my last post in the Druid Forum...so please, at least grant me some credit for seeing something wrong. :)

Oh, fine, just mock my gullibility. :P The AB Banned tags got me, too.
USEAST: Werewolf (94), Werebear (87), Hunter (85), Artimentalist (78), Meleementalist (76, ret.)
USEAST HCL: Huntermentalist (72), Werewolf (27)
Single Player HC: Werewolf (61, deceased), Werewolf (24)
Reply
#7
Hail Dragoon,

For me at least, it was pretty darn obvious: you - who has spent HOW long looking? - just happened to find the solution on April 1st? ;) I considered perhaps posting something, but I could not think of anything that wouldn't have given it away, so I left it. I was sort of surprised you didn't have a few more replies by now though - odd really.
May the wind pick up your heels and your sword strike true.
Reply
#8
Elric of Grans,Apr 2 2003, 01:17 AM Wrote:I was sort of surprised you didn't have a few more replies by now though - odd really.
I am sure I wasn't the only one who fell for it, but had absolutely nothing to add.

I sat there, in those moments between paid work and Mom's Taxi Service work, reading the post with my eyes glazing over at the sheer volume of numbers and formulae........

hoping there was a tidy little summary at the end. :lol:

But I wasn't going to even think about working through the calculations, let alone remember the date by that time of day.
And you may call it righteousness
When civility survives,
But I've had dinner with the Devil and
I know nice from right.

From Dinner with the Devil, by Big Rude Jake


Reply
#9
TheDragoon,Apr 2 2003, 12:29 AM Wrote:To summarize, there IS no absolute equation to determine Wereform Attack Rates.&nbsp; Empirical data is the only way to go at this point.&nbsp; =)
Yes there is, the game would have a hard time figuring it out otherwise. :)

Believe it or not, I am rather clueless on all the speed equations. I still have a hard time translating "8/2" abbreviations you see around the Basin. But since you were concerned with rounding, I just wanted to point out what I did understand from the way D2 usually operates. Always rounding up, as you have in the real equations, would seem extremely unlikely to me.

Furthermore, as you suggest on the sites, it very likely is the same equation, but applied to different base frames. Probably the same function. Not being very careful, I thought that was more what you were saying, seems verly likely Blizz would use the same function, and that the base frames may or may not be different. But no, looking more carefully, the main point of the post was that the base frames were the same, which I could've easily disconfirmed by looking at the animations. :P
Reply
#10
Quote:Originally posted by FoxBat
Yes there is, the game would have a hard time figuring it out otherwise. :)
Ha, that's exactly what I said over at the dii.net forums! Except Dragoon complained that I was just being picky. :P
USEAST: Werewolf (94), Werebear (87), Hunter (85), Artimentalist (78), Meleementalist (76, ret.)
USEAST HCL: Huntermentalist (72), Werewolf (27)
Single Player HC: Werewolf (61, deceased), Werewolf (24)
Reply
#11
Quote:Yes there is, the game would have a hard time figuring it out otherwise.
Sorry, it was poorly phrased. A more accurate sentence would have been, "To summarize, we players have no absolute equation to determine Wereform Attack Rates. Empirical data is the only way to go at this point."
-TheDragoon
Reply
#12
TheDragoon,Apr 2 2003, 03:37 PM Wrote:Sorry, it was poorly phrased.&nbsp; A more accurate sentence would have been, "To summarize, we players have no absolute equation to determine Wereform Attack Rates.&nbsp; Empirical data is the only way to go at this point."
And that is the crux of the problem. There seems to be this driving need to have everything pushed into only one equation. See my post in this thread for what kind of inconsistencies this can cause.
http://www.lurkerlounge.com/forums/index.p...ct=ST&f=8&t=423

And like Foxbat, I think that you are trying to apply some of the modifiers in an improper order for the way the game is actually handling the situation.
Reply
#13
I think one equation might work fine, as long as it's "+ 3 5" instead of "3 + 5". :)
Reply
#14
You and your reversed Poles... :D
USEAST: Werewolf (94), Werebear (87), Hunter (85), Artimentalist (78), Meleementalist (76, ret.)
USEAST HCL: Huntermentalist (72), Werewolf (27)
Single Player HC: Werewolf (61, deceased), Werewolf (24)
Reply
#15
FoxBat,Apr 2 2003, 04:37 PM Wrote:I still have a hard time translating "8/2" abbreviations you see around the Basin.
I don't believe this for a moment, Foxbat, but for the benefit of anyone else who really is unsure:

8/2 means that the speed of the normal attack animation is 8/25 of a second (roughly 3 attacks per second) and that the zon uses Strafe at 8/25 of a second for her first attack and 2/25 of a second for each shot during the rest of the sequence. She would complete a 10 shot Strafe in 8 + 2*9/25 of a second (ie roughly a second for the whole sequence)
Reply
#16
Dragoon,

If I start up a Werewolf or Werebear in 1.10, can I hire you as my personal tutor? :)

You do realize that you may discover the magical formulae JUST before it gets changed in 1.10?

-Bolty
Quote:Considering the mods here are generally liberals who seem to have a soft spot for fascism and white supremacy (despite them saying otherwise), me being perma-banned at some point is probably not out of the question.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)