Aggro
Aggro, short for aggression or aggravation, is an invisible statistic that determines the distance at which enemies will begin to attack the player. Terraria features various items that can alter this statistic when equipped.
All enemies target the player based on criteria set in their AI. Most will constantly try to find a target, while others may only target if the player is in water, for example.
Armor and other items that "increase/decrease enemy targeting" cause enemies to consider a player to be closer or farther away than they actually are.
If the Eternia Crystal(Desktop, Console and Mobile versions) is present, the Old One's Army will target it by default, only targeting the player if they get "in the way".
Gear
Decrease
The following items reduce the player's aggro statistic, meaning that enemies will have to get closer to target the player.
Item | Aggro change |
---|---|
![]() |
−750 (while not using an item) −250 (while using an item) |
![]() |
-400 |
![]() |
-400 |
![]() |
-400 |
![]() |
-400 |
![]() |
In stealth mode, aggro is decreased based on visibility to a cap of −750 |
![]() |
In stealth mode, aggro is decreased based on visibility to a cap of −750 |
![]() |
In stealth mode, aggro is decreased based on visibility to a cap of −1200 |
- Aggro reductions of −750 (or more) nearly guarantee the player will not be targeted.
- Vortex armor provides the largest aggro reduction available in the game.
Increase
These items increase the player's aggro statistic, meaning that enemies can be farther from the player and still target them.
Item | Aggro change |
---|---|
![]() |
+250 |
![]() |
+250 |
![]() |
+250 |
![]() |
+250 |
![]() |
+400 |
![]() |
+250 |
![]() |
+300 |
![]() |
+300 |
![]() |
+300 |
![]() |
+400 |
![]() |
+400 |
![]() |
+400 |
Formula
Most enemies will only attack the target they are closest to. They will determine the player's distance first, then the distance to the Eternia Crystal(Desktop, Console and Mobile versions) (if applicable). The distance for the player formula is[1]
abs(targetPlayer.center.x − enemy.center.x) + abs(targetPlayer.center.y − enemy.center.y) − targetPlayer.aggro
Old One's Army formula
Enemies in the Old One's Army(Desktop, Console and Mobile versions) follow a separate formula due to having to attack the player, as well as the crystal. An enemy will first determine the distance between the Eternia Crystal and it with a simple distance formula. Then, barring the chance the enemy is currently "ghosted", the enemy determines the "distance" to the player with the following formula.
distance(enemy.position, targetPlayer.position) − targetPlayer.aggro
Even though this formula does account for aggro, a player will be ignored if they are not within 200 pixels of the specified enemy.[2]
Notes
- (Desktop, Console and Mobile versions) All slimes (except Spiked Slimes, King Slime, Queen Slime and its minions) will ignore the player entirely when the Royal Gel accessory is equipped.
- A Confused enemy will always face away from its target.
- The following is a list of combos for the lowest attainable aggro:
- (Desktop, Console and Mobile versions) The lowest attainable aggro is −4300, resulting from a combo of the Vortex armor in stealth mode, the Psycho Knife, the Putrid Scent, the Arcane Flower, the Recon Scope, the Stalker's Quiver, and the Invisibility Potion (while not using an item).
- (Old-gen console and 3DS versions) The lowest attainable aggro is −1500, resulting from a combo of Shroomite armor in stealth mode and the Invisibility Potion (while not using an item).
- The following is a list of combos for the highest attainable aggro:
- (Desktop, Console and Mobile versions) The highest attainable aggro is 2200, resulting from a combination of Solar Flare Helmet and Leggings, Beetle Shell, Flesh Knuckles, Berserker's Glove, and the Hero Shield.
- (Old-gen console and 3DS versions) The highest attainable aggro is 900, resulting from the Beetle Helmet, Beetle Shell, and the Beetle Leggings.
History
- Desktop 1.4.0.1: The Stardust Guardian now targets the closest enemy; it no longer diverts aggro, and its actions can no longer be influenced by the player.
- Desktop 1.3.4: NPCs can now be targeted.
- Desktop 1.3.0.1:
- Slimes no longer target the player if the player has Royal Gel equipped.
- Introduced the Stardust Guardian, which can divert aggro away from the player.
- Desktop-Release: Introduced.
- Console 1.0.933.1: Made changes from Console 1.0.750.0. (
)
- Console 1.0.750.0: (
)
- Slimes no longer target the player if the player has Royal Gel equipped.
- Introduced the Stardust Guardian, which can divert aggro away from the player.
- Console-Release: Introduced.
- Switch 1.0.711.6: Introduced.
- Mobile-Release: Introduced.
- 3DS-Release: Introduced.
Footnotes
- ↑ Information taken from the
Desktop 1.4.3.6 source code, method
TryTrackingTarget()
inTerraria.NPC.cs
. There may be inaccuracies, as the currentDesktop version is 1.4.4.9.
- ↑ Betsy, with a slightly different targeting system, will not target the player based on distance, and will instead target the player so long as the player is closer to it than the Eternia Crystal.