Arknights Wiki
Advertisement
When in range, enemies will prioritze attacking the most recently deployed Operators.
—Loading screen tip

This article explains about the aggression mechanic, also known as aggro, in Arknights.

Overview

As explained in TR-10, enemies will, by default, attack the last deployed friendly unit within their range first. However, the mechanics behind the aggression system are more complicated.

Basics

A friendly unit will search for valid targets within their attack range every 3 frames, or 10 times per second, which is termed as a "search cycle." Once the search cycle is concluded, the unit checks if it is allowed to use its attack, defined by the attack timer. Each unit has their own, separate search cycles and attack timers; it is thus possible for at least two friendlies to not attack an enemy at the same time when one enters their range.

Most Operators use a "lock-on" targeting system wherein they will lock onto the target the moment their attack timer allows them to, and will complete the attack animation and hit their target, even if the target leaves the effective range of the operator within the timespan of the animation. It is easily observed under Platinum's Pegasian Sight, as her attack animation is lengthened. There are exceptions to this rule, notably Ambusher Specialists that do not hit targets that were not in range upon starting the skill and are no longer in range when the animation concludes, and Ifrit's Pyroclasm, which only hits targets in range when the animation concludes.

In general, how units would prioritize targeting certain units over the others is determined in the following order:

Friendly Blocked enemy[note 1] > Special Priority > Taunt > Closest to destination[note 2]
Enemy Blocking friendly > Special Priority > Taunt > Last deployed > Negative Taunt
  • The only exception to friendly targeting is ranged units who never prioritize enemies they are blocking, which can be observed in operations that allow deployment of ranged operators on ground tiles (e.g. CE-5). They otherwise follow all the other priorities in the same order.
  • If the enemy's pathing is convoluted, friendly units' targeting will be based on the length of the enemy's path remaining. For example, an enemy may be near a Protection Objective, but if they make several laps or take longer to get there, they will not be prioritized. This is best observed with the Defense Crushers in Lungmen Downtown.
  • Special Priorities are often very inconsistent, and are difficult to document effectively. Most of the time Taunt will override them, but certain Special Priorities override Taunts (like those given by talents or traits).
  • Targeting an enemy doesn't mean that the enemy is in range. This is best observed with the auto trigger skills from Push Strokers and Hookmasters. Enemies that are blocked behind the operator will still trigger the skill due to aggression from blocking, but the enemy is not in range, so the skill is repeatedly triggered without dealing damage.
  • Aak follows the Enemy aggression logic when choosing the target of his 2nd or 3rd skill.

Rules

Advanced

On a more specific note, the game uses the two mechanics to decide how friendly units prioritize targeting enemies: postFilter and secondaryFilter which is used on the following formulae to calculate the aggression:

  • Friendly:
  • Enemy:

Where:

  • a is the final aggression value.
  • t is the target's taunt level.
  • s is how long the target had been deployed (in seconds).
  • d is how far the target is to the end of their path.

The time of deployment cannot be higher than 10000. It also has the accuracy of 0.1 sec. Since Arknights run on 30 frames, it means that the Operators deployed within 3 frames of a single term is considered as deployed simutanously. However, since the sorting algorithm used will not change the order of object with the same value, their order will remain as their reversed order of entity creation. For most of the time it is the order of deployment.

The initial aggro is then put into postFilters to generate the final aggro. If there is any secondaryFilters, it will sort the enemies into a list of groups. Within the groups each enemy is sorted decreasingly according their aggro. The enemy on top of the list will be selected as the target.

postFilter

postFilter are a set of formulas used to determine the "value" of enemies.

Value Name Description Example Algorithm
0 ALL The default value of all targets. Splash Casters No
1 DIST_TO_EXIT_ASC Pick the target(s) with the shortest distance to their destination. No The distance towards the end of the route
2 HP_RATIO_ASC Pick the target(s) with the lowest HP percentage. Absinthe's first skill HP percentage overrides aggro
3 HP_RATIO_NOT_FULL_ASC Pick the target(s) with the lowest HP percentage, but never those with full HP. Medic HP percentage overrides aggro
4 HATRED_DES Pick the target(s) with the highest value. Usually it is this one the reversed number of aggro
5 HP_RATIO_NOT_FULL Only pick target(s) whose HP are not full. No No
6 HATRED_DES_FLY_FIRST Pick aerial target(s) with the highest value. Andachiel, other Marksman don't use this Non-aerial targets' aggro +1000000
7 HATRED_DES_RANGED_FIRST Pick target(s) with a ranged attack and the highest value. No Non-ranged targets' aggro +1000000
8 DEF_DESC Pick target(s) with the highest DEF. Steward, Ceobe's 2nd skill Increases aggro by DEF * 1000
9 DEF_ASC Pick target(s) with the lowest DEF. Deadeye Decreases aggro by DEF * 1000
10 DIST_TO_SOURCE_DES Pick the furthest target(s) from the source. Commonly used by Hookmasters' skills Changes aggro to the square of the target' distance
11 DIST_TO_SOURCE_ASC Pick the closest target(s) to the source. Commonly used by Push Strokers's skills Changes aggro to the square of the target' distance
12 NOT_STUNNED_HATRED_DES Pick the target(s) that are not stunned with the highest value.
13 DIRECTIONAL_DIST_TO_SOURCE_ASC Pick the target(s) whose facing is closer to the source.
14 RANDOM Pick random target(s).
15 HP_DES Pick the target(s) with the highest HP.
16 HP_ASC Pick the target(s) with the lowest HP.
17 ATK_DES Pick the target(s) with the highest ATK.
18 ATK_ASC Pick the target(s) with the lowest ATK.
19 MAX_HP_DES Pick the target(s) with the highest maximum HP.
20 MAX_HP_ASC Pick the target(s) with the lowest maximum HP.
21 FORWARD_FIRST_MANHATTAN_ASC Pick the target(s) that are right in front of the source. If there is no targets in front of the source, choose the nearest instead.
22 HATRED_DES_UNBLOCKED_FIRST Pick the target(s) that are not blocked with the highest value.
23 HP_NOT_FULL_RANDOM Pick random target(s), but never those with full HP.
24 HATRED_DES_INVISIBLE_FIRST Pick the target(s) that are invisible/camouflaged with the highest value.
25 HATRED_DES_DIST_FARTHER_FIRST Pick the furthest target(s) from the source with the highest value.
26 HATRED_DES_DIST_NEARER_FIRST Pick the closest target(s) to the source with the highest value.
27 MASS_DES Pick the target(s) with the highest weight.
28 MASS_ASC Pick the target(s) with the lowest weight.
29 HATRED_DES_SLEEPING_FIRST Pick sleeping target(s) first.
30 HP_RATIO_ASC_CONTAINS_STATUS
_RESISTABLE_BUFF_FIRST
Pick the target(s) with the lowest HP percentage and without Status Resistance.

secondaryFilter

secondaryFilter are three rules used to sort the values given by postFilter:

FLY_FIRST = 0 Prioritizes flying/aerial targets (e.g. Monsters and Bombtails).
RANGED_APPLYWAY_FIRST = 1 Prioritizes enemies with a ranged attack.
SPECIFIED_FILTER_TAG = 2 Prioritizes enemies of a certain type (e.g. Drones and Infected Creatures)
SPECIFIED_BUFF = 3 Prioritizes enemies with a certain buff.

Examples

  1. If an Oneiros and a Guerrilla Shieldguard is within Platinum's range, she will attack the Shieldguard instead of the Oneiros due to the Shieldguard's taunt which overrides her usual priority to attack aerial units including the Oneiros. Conversely, if a Yeti Icecleaver is present instead of the Shieldguard, Platinum will attack the Oneiros as usual.
  2. If the Rat King is within the reach of Bison with Skill-Bison1.png Intensified Defense who were deployed before Mostima, the Rat King will attack Mostima since she is the most recently deployed friendly unit. However, if Bison uses Intensified Defense, the Rat King will attack him instead of Mostima since the skill acts as a Taunt which overrides the deployment order priority.
    • The same also works by deploying Waai Fu right on the Rat King; Waai Fu will block the Rat King, who attacks her instead of Mostima since the blocking unit overrides Taunt and deployment order.
  3. If Nightingale deploys a Mirage (through her second talent Fleeting Phantom) before a Marksman who is attacking a Command Terminal, the Marksman will attack the Mirage instead of the Command Terminal since it acts as a Taunt, overriding their usual targeting priorities.
  4. If Manticore is deployed after Cuora and an Enraged Possessed Thrower is within their reach, the Thrower will attack Cuora instead of Manticore due to the latter's Negative Taunt which overrides the Thrower's targeting priority. However, due to the specific mechanics of this enemy and of Negative Taunt, if there are no other operators in range, or, if Cuora and Manticore are already deployed, and Manticore enters the enemy's range first, she will still be targeted. This is due to the fact that Throwers effectively cease moving as soon as they have an enemy within their maximum range, and therefore, generally only have one target in range.
  5. In 7-13, the main challenge of the stage is to effectively deal with Guerrilla Heralds, who are escorted by Guerrilla Shieldguards. While the Shieldguards will move towards a deployable ground tile, the Herald does not, and thus cannot be blocked. Usually, the easiest way to deal with the situation would be to either dispose of either enemy in advance, or to use splash damage to hit both, as the Shieldguard will taunt away single-target damage and protect the Herald. However, it is possible to utilize the special priority of Deadeye Snipers who prioritize low DEF enemies to ignore the taunt, since Heralds have lower DEF than Shieldguards.
  6. It is possible to use DEF debuffs in conjunction with operators who have targeting priority affected by DEF, as lowering the DEF of an enemy below another's will change their priority, and this priority rule is dynamically adjusted based on the current DEF of enemies. In this video, for instance, Meteor is used to force Ambriel to switch targets.

Special cases

  1. Ch'en's Skill-Ch'en3.png Chi Xiao - Shadowless and Guardmiya's Skill-Guardmiya2.png Ying Xiao - Shadowless prioritizes the enemy closest to the user over the others, but are still overrode by Taunt.
  2. Pull Specialists prioritize the furthest enemy from them with their skills.
  3. Aak's Stimpack skills prioritize the following units in the specified order:
    • The friendly unit right in front of him.
    • The friendly unit within the frontal column inside his range, prioritizing the closest unit to him.
    • If no units are present in the frontal column, then Aak will target the closest unit in the side columns.
      • If there are only two units within the same distance on the rightmost and leftmost column, Aak will prioritize units using the standard rule, that is to say, the latest deployed first.
    • Friendly units with Taunt or Negative Taunt will override all the usual priorities.
    • For the more mathematically-minded, Aak uses a Manhattan distance rule.
  4. Patriot's halberd throw attack in his Ruination stance prioritizes the ranged friendly unit who are the furthest from him over the others. This attack will always follow this rule.
  5. The friendly unit blocking a Tiacauh Brave/Champion will prioritize attacking the Brave/Champion over other enemies in case they block them along with at least one other enemy.
  6. If multiple targets with Taunt are within the range of a unit, the attacker will follow the distance/deployment priority when targeting them, but the targets' Taunt will override the attacker's normal priority regardless.
  7. Ranged friendly units will never prioritize the enemies they are blocking (such as in Cargo Escort operations), even if the enemy is blocked when they are right behind the friendly.
  8. Invisible/camouflaged units can only be attacked by the unit they are blocking/that blocks them.
  9. Friendly units who are unable to block enemies (whether due to skill effects or from having a block count of 0) will never be attacked by melee enemies; the enemy will simply move past the friendly. They can still be attacked by ranged enemies, however.

Notes

  1. Starting with the closest to the friendly unit's hitbox.
  2. The end of the enemy's path, which also includes Protection Objectives and Incursion Points for despawning enemies.

External links

Advertisement