2

Reading up on attack speed calculations for World of Warcraft I noticed that the formula for attack speed is:

Attack_speed = "current attack speed" / (("Percent increase or decrease" / 100) + 1 )

So with a weapon of speed 1.8 and activating a 40% attack speed buff for example we would have:

Attack_speed = 1.8 / ( (40 / 100) + 1 ) = 1.2857

So I am just wondering why is there a +1 in the formula. Logically I would assume that one would calculate the attack speed like this:

Attack_speed = 1.8 - (1.8 * (40 / 100)) = 1.08

Which is just subtracting the 40% of 1.8 from 1.8. Is this just by design or is there some logic to this?

  • 2
    Sorry, we don't allow questions asking why something in a game is the way it is. Only the developers can answer that. – Wrigglenite Oct 14 '19 at 16:57
  • 1
    @dly But this question is asking for the reasons why this specific formula was used. That is not theorycrafting, and nobody can answer that other than the developers. – Wrigglenite Oct 15 '19 at 7:35
  • 1
    @Wrigglenite It's asking for the logic behind it, which can be a theorized version of in-game logic as well. It's similar to questions like this and this. – Joachim Oct 15 '19 at 8:42
  • 1
    @Joachim I don't see the resemblance. This question is asking "Here's the formula. Why this formula?" while the other two are asking "What is the formula?". Regardless, we can't possibly answer this question other than guessing. – Wrigglenite Oct 15 '19 at 9:37
  • 1
    @Joachim But as I've said, this question is not about the formula itself, is about the reasoning behind a certain decision made by the developers, which we cannot answer in any way other than guessing. Formulae can be figured out by playing the game, the developers' thinking cannot. That is the difference between this question and the other two. – Wrigglenite Oct 15 '19 at 9:54
4

Why was that formula used?

It ensures the result is sensible in all situations, no matter how large your attack speed bonus becomes, and without requiring a cap on possible attack speed bonus.

Consider your proposed formula - "current attack speed" - ("current attack speed" * ("attack speed bonus" / 100)) - with an attack speed bonus of 100% (credit to Studoku in the comments):

1.8 - (1.8 * (100 / 100)) = 1.8 - (1.8 * 1) = 1.8 - 1.8 = 0

What would an attack speed of 0 mean in practical terms? How many times per second would you expect to be attacking with that attack speed?

You get a similar issue with any bonus exceeding 100%, where your attack speed is now negative. What would that mean?

Why is the + 1 included?

It avoids incorrect - or even unknown - results in certain situations (i.e. with specific attack speed increases). Consider the following two examples without the + 1 in the formula used.

Attack speed bonus of 0%:

1.8 / (0 / 100) = 1.8 / 0 = ???

Attack speed bonus of 100%:

1.8 / (100 / 100) = 1.8 / 1 = 1.8
|improve this answer|||||
  • So it is 'by design'. One can't think of it like just a mathematical percentage increase/reduction. – Michael Munta Oct 14 '19 at 17:43

Not the answer you're looking for? Browse other questions tagged or ask your own question.