“ | 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 Stroker and Hookmaster Specialists. Enemies that are blocked behind the friendly unit 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 Stimpack skills, as well as Manhattan distance.
Special Priority[]
Special targeting logic either as talent, traits, or as part of a skill's effect.
- Marksman Snipers, Arene, and Glaucus attacks aerial enemies over the others.
- Besieger Snipers attack enemies with the highest weight over the others.
- Absinthe with Enforcement Mode attacks enemies with the lowest HP percentage over the others.
- Adnachiel with his talent Shortcoming Breakthrough attacks enemies with a ranged attack (including those whose attacks appear to be melee but are actually ranged, such as Bladehelm Knightclub Trainees) over the others.
- Ceobe with her skills:
- "Really Cold Axe", where she attacks enemies that aren't blocked over those who are.
- "Really Hot Knives", where she attacks enemies with the highest DEF over the others. Steward can also do this with his talent Armor Breaker.
- "Really Heavy Spear", where she attacks enemies with the lowest DEF over the others. Deadeye Snipers and Icefield Hunters innately do this (due to their trait for the former).
- Blemishine attacks Sleeping enemies over those who aren't due to her talent Mercy. Blacknight's Slumberfoots innately do this.
- Gnosis with Hypothermia attacks enemies that aren't Frozen over those who are.
- Marksmen and Fanatics attack Command Terminals over friendly units.
- Mudrock Matterllurgists attack friendlies deployed in an L-44 Gramophone's Protocol Entry over the others.
- Sniper Prisoners and freed Caster Prisoners attack Imprisonment Devices (if present) over friendly units.
- Stabbies attack friendlies with the opposing attribute over the others.
Aggression level[]
Normally units have an "aggression level" of 0, but certain units can influence this in two ways.
Taunt[]
Units with an aggression level of 1 or higher are "more likely to be targeted by attacks". Abilities that "increase the likelihood of being targeted by attacks" also has the same effect.
- Operators: Bison with Intensified Defense, Bubble with "Beaten Up", Lee with Honored Guest, Młynar at Elite 2, Penance with Trial of Thorns
- Devices: Energy Aggregate, Jammer, Shieldguard
- Summons: Mirage
- Enemies: Guerrilla Shieldguard, Hymnoi Warrior, Introspection, Lazy, Patriot in the Marching stance (Level 2 instead of 1), Scantwords
- Friendly units deployed in the Protocol Entries of a Pulse Defense Module, Drone Factory, and Teargas Control Valve
Negative Taunt[]
Units with an aggression level of -1 or lower are "less likely to be targeted," which effectively displaces enemy aggression towards the next other valid target in range, unless there are none.
- Operators: Ambusher Specialists, Mint with the Geologist talent (at Elite 2), Therapist Medics with the WAH-X Operator Module, W with the Ambush talent
- Devices: Host's Assistant, Static Roadblock, Treasure Chest, Spiked Treasure Chest, Chest Seaborn
- Enemies: Anvil, Redmark Infiltrator (while their Holographic Mirage is present), Scrap, Tiacauh Brave (when blocked)
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 and description/algorithm | Example(s) |
---|---|---|
0 | ALL The default value of all targets.
|
Splash Casters |
1 | DIST_TO_EXIT_ASC Pick the target(s) with the shortest distance to their destination (the distance towards the end of the route).
|
– |
2 | HP_RATIO_ASC Pick the target(s) with the lowest HP percentage (HP percentage overrides aggro).
|
Absinthe's Enforcement Mode |
3 | HP_RATIO_NOT_FULL_ASC Pick the target(s) with the lowest HP percentage, but never those with full HP (HP percentage overrides aggro).
|
Medics |
4 | HATRED_DES Pick the target(s) with the highest value (the reversed number of aggro).
|
Normal |
5 | HP_RATIO_NOT_FULL Only pick target(s) whose HP are not full.
|
– |
6 | HATRED_DES_FLY_FIRST Pick aerial target(s) with the highest value (non-aerial targets' aggro +1000000).
|
Adnachiel with the improved Shortcoming Breakthrough |
7 | HATRED_DES_RANGED_FIRST Pick target(s) with a ranged attack and the highest value (non-ranged targets' aggro +1000000).
|
Adnachiel with the improved Shortcoming Breakthrough |
8 | DEF_DESC Pick target(s) with the highest DEF (increases aggro by DEF * 1000)
|
Steward with Armor Break, Ceobe's "Really Hot Knives" |
9 | DEF_ASC Pick target(s) with the lowest DEF (decreases aggro by DEF * 1000)
|
Deadeye Snipers |
10 | DIST_TO_SOURCE_DES Pick the furthest target(s) from the source (changes aggro to the square of the target' distance).
|
Hookmaster Specialists' skills |
11 | DIST_TO_SOURCE_ASC Pick the closest target(s) to the source (changes aggro to the square of the target' distance).
|
Push Stroker Specialists' skills |
12 | NOT_STUNNED_HATRED_DES Pick the target(s) that are not Stunned with the highest value.
|
Sarkaz Casters |
13 | DIRECTIONAL_DIST_TO_SOURCE_ASC Pick the target(s) whose facing is closer to the source.
|
FEater's Destructive Fist |
14 | RANDOM Pick random target(s).
|
Cutter's Redshift, Irene's Judgment |
15 | HP_DES Pick the target(s) with the highest HP.
|
W's D12, Passenger's Glorious Shards |
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.
|
Rat King's 'Singing Sands' |
20 | MAX_HP_ASC Pick the target(s) with the lowest maximum HP.
|
Rat King's 'Sand Tomb' |
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.
|
Aak's Type-γ Stimpack and Durian-Flavored Stimpack |
22 | HATRED_DES_UNBLOCKED_FIRST Pick the target(s) that are not blocked with the highest value.
|
Ceobe's "Really Cold Axe" |
23 | HP_NOT_FULL_RANDOM Pick random target(s), but never those with full HP.
|
Purestream's Healing Waves |
24 | HATRED_DES_INVISIBLE_FIRST Pick the target(s) that are invisible/camouflaged with the highest value.
|
Elysium's Monitor |
25 | HATRED_DES_DIST_FARTHER_FIRST Pick the furthest target(s) from the source with the highest value.
|
Patriot's spear throw in Ruination stance |
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.
|
Besieger Snipers |
28 | MASS_ASC Pick the target(s) with the lowest weight.
|
– |
29 | HATRED_DES_SLEEPING_FIRST Pick Sleeping target(s) first.
|
Blemishine with her talent, Blacknight's Slumberfoot |
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[]
- If a Yeti Operative and a Guerrilla Shieldguard is within Platinum's range and the former is closer to the Protection Objective, she will attack the Shieldguard instead of the Operative due to the Shieldguard's aggression level of 2 which overrides her priority to attack the closest enemy to the Objective. Conversely, if an Oneiros is present instead of the Yeti Operative, Platinum will attack the Oneiros instead of the Shieldguard since her Marksman Sniper's trait which makes Platinum prioritize attacking aerial units override the Shieldguard's taunt.
- If the Rat King is within the reach of Bison with 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 increases Bison's aggression level 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.
- 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 has an aggression level of 1, overriding their usual targeting priorities.
- 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.
- 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.
- 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[]
- Ch'en's Chi Xiao - Shadowless and Guard Amiya's Ying Xiao - Shadowless prioritizes the enemy closest to the user over the others, but are still overrode by Taunt.
- Pull Specialists prioritize the furthest enemy from them with their skills.
- 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.
- 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.
- 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.
- 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.
- 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.
- Invisible Operators can only be attacked by the unit they are blocking/that blocks them, while Camouflaged Operators can be targeted by any enemies as long as they're blocking enemies.
- 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[]
- ↑ Starting with the closest to the friendly unit's hitbox.
- ↑ The end of the enemy's path, which also includes Protection Objectives and Incursion Points for despawning enemies.
External links[]
- (NGA Translation) Explaining the Priority System in Arknights (Reddit, by wewechoo)