Behind The Numbers: Attack Speed Explained
In this article we’ll tackle one of the more confusing and less understood mechanics in Arknights: Attack Speed. The formulas presented here are not of my creation. They were shared with me by Kawa and come from the RIHQ Discord. My goal is to share them in a concise format, explain what they mean, and list Operators that have relevant abilities. I am not a mathematical genius, in fact numbers frighten me, so if you find any errors in my calculations or conclusions, please contact me via Discord.
- Note: For a broader view of the entire DPS calculation, see our reference guide:
There are two different terms used in the game in regards to attack speed: ASPD and Attack Interval. Both of these affect the final attack speed of an Operator, though in different fundamental ways. We will present the details of how each contributes to the calculation.
We’ll start by defining a few terms that will be used in our calculation later.
Attack_Interval
Attack_Interval is the base amount of time it takes for the Operator to attack. All attack speed calculations stem from the Attack Interval. In-game it is listed in Operator attributes in general terms such as “Slightly Slow”. An example can be seen here:
This, however, is not very useful if we are trying to do a more detailed analysis. So where can we find the exact time of an Operator’s Attack_Interval? On each Operator’s page on the GamePress wiki, the Attack Interval for each Operator is listed in seconds. For example, Amiya’s Attack Interval can be seen here:
From this we can see that Amiya’s Attack_Interval is 1.6 seconds. This varies from Operator to Operator; some example attack intervals from units you might have used are as follows:
Attack_Interval_Modifier
The Attack_Interval_Modifer is the first modifier applied to the Attack_Interval. These only come from certain Operator Skills and are flat increases or decreases to the Attack_Interval. If a Skill has an Attack_Interval_Modifier the in-game description will usually say that the Attack Interval is increased or decreased by some amount. Here is an example of Istina’s Skill 1:
Note that, for it to be an Attack_Interval_Modifier it must specifically say Attack Interval in the description. If it says ASPD, that is a different modifier we will discuss in a bit.
Again, we see the game describes this in general terms, such as “Moderate” in the example above. So where can we find the exact time of an Operator’s Attack_Interval_Modifier? Again, we turn to the wiki. On each Operator’s page, the exact value will be listed for the Attack_Interval_Modifier if the Skill has one. Here is an example of Istina’s Skill 1:
This means that, for the duration while Concentration is active, Istina’s base Attack_Interval will be reduced (ie made faster) by .8 seconds.
-
Note: Attack_Interval_Modifiers only come from Operator Skills, and are only applied to themselves. Therefore, there cannot be more than one. Attack_Interval_Modifier active at a time on a given Operator.
-
Note: It is rare, but some skills have “hidden” Attack_Interval_Modifiers that are not mentioned in the in-game descriptions. For example, Gummy’s Skill 2 has an Attack Interval increase that is not mentioned in the Skill description, likely because she switches to healing instead of attacking.
-
Note: It is not the best idea to rely on the descriptive word alone (ei “small” in the image above) to determine the overall magnitude of the increase/reduction, as the same word may be used for different underlying values.
-
Note: There are currently some known exceptions to the application of the Attack Interval. They are applied as multipliers instead of being offsets. Exact application details can be found on their respective Skill pages.
-
Skyfire - S2 Fire of Heaven
-
Beehunter - S2 Soaring Fists
-
May - S2 Binding Shock
-
Nearl - S2 First Aid Mode
-
Liskarm - S2 Counter Ark
-
Attack_Speed_Modifiers
Attack_Speed_Modifiers is the summation of all ASPD (Attack Speed) modifiers affecting an Operator. These can come from Talents, Skills, or buffs from other Operator’s Talents. Here is an example of Amiya’s Skill 1:
From this we can see that, in the case above, if Amiya’s Skill 1 is active, and no other ASPD effects are present, then Amiya’s Attack_Speed_Modifiers is 45. The ASPD value represents the percentage increase in attack speed, so an ASPD of 45 represents a 45% increase in attack speed.
-
Angelina - Talent - Accelerator Field increases the ASPD of all allies.
-
Silence - Talent - Booster Injection increases the ASPD of all Medics when she is deployed.
Attacks_Per_Second
We now have all the information we need to determine the total attack speed of an Operator after all modifiers are applied. The following is the formula to determine an Operator’s Attacks_Per_Second.
Here is an another way to write the formula, in case it makes more sense to some:
So what does this mean in English?
-
First, Increase/decrease the normal Attack Interval by any Attack Interval change from an active Skill.
-
Second, increase the attacking rate resulting from step 1 by a percentage equal to the summation of all the ASPD buffs. (e.g. 50 total ASPD = 50% faster)
Final_Attack_Interval
To then see the Final_Attack_Interval after all modifiers have been applied, we can do the following:
Final_Attack_Interval = 1 / Attacks_Per_Second
Examples of finding and calculating exact values for this calculation can be found in Sections below.
Major Takeaways
-
TL;DR: To get final attack speed, first apply active Skill attack interval modifications, then increase attack rate by a percentage equal to total ASPD buffs.
-
The Attack Interval modifier is a flat increase/decrease to the attack interval. Thus, any given value change will have a larger effect on faster attackers than slower ones.
Short Theoretical Example
Liskarm Attack Interval = 1.2
Skill 2 Attack interval increase = .7
Total ASPD buffs = 50 ASPD
New Attacks Per second = [(100 + 50)/(1.2 + .7)] / 100 = .79
New Attack Interval = 1.27 seconds
Realistic Example
Ok, that is a lot of math. Let’s run through an example to see how this works in practice. Let’s look at Liskarm at E1 base Potential while using her Skill 2, Counter Arc, and assuming she has the ASPD buff from Angelina’s Accelerator Field Talent, and no other ASPD modifiers present.
First we’ll find Liskarm’s Attack_Interval. Looking here we can see that it equals 1.2.
Next we’ll see if the Skill applies any Attack_Interval_Modifier, and indeed it does. The value is .7, as we can see here (Note: this example was made before we knew that Liskarm's S2 is one of the exceptions mentioned above, and is applied multiplicatively, but for the sake of this specific example we are going to pretend it is a normal case):
Next we need to find any Attack_Speed_Modifiers. Angelina’s Talent gives all Operators +3 ASPD, as can be seen here:
Since we are assuming this is the only ASPD modifier present, this gives us an Attack_Speed_Modifiers value of 3, so a 3% faster Attack Interval.
We now have the information to calculate Attacks_Per_Second as follows:
Which, after doing the math, = .54 Attacks_Per_Second.
If we wish to convert back to Final_Attack_Interval, we can apply the math of 1/ .541 to get a new Attack Interval of 1.85 seconds. So in this case, using her skill reduces her Attack Interval from once every 1.2 seconds to once every 1.85 seconds, even with Angelina’s 3% ASPD buff.