A Guide to Aggro, June 2021 edition

antimawkish
antimawkish
✭✭✭
It's all about who hit the mob last.

TL;DR
Excluding special mechanics, mob aggro table is based entirely on a combination of "who hit me first" and an astonishingly short attention span. The person who first taps the mob will get somewhere in the range of 5 seconds (+/-2) of aggro on that mob. At that point, if that person is still attacking without interruption, they will maintain that aggro until they are interrupted. If, however, that person does nothing after that first tap, the mob will swap to whoever has attacked them most recently at that point in time.

Update from 2018 -> 2021
The timer on aggro checks seems like it shortened from ~7sec in 2018 to ~5sec in 2021, but that's within our error margin and might not be different. Heals and damage over time do not seem to generate as much (or perhaps not at all) aggro in 2021 as they did in 2018.

Background
First up, a quick definition: In this context, "Aggro" is basically who a hostile NPC or monster (a.k.a. mob or boss) wants to attack. If you have aggro, you're about to get smacked.

I like tanking, but I taunt's problems drive me insane (puncture has a massive cast time hidden in the animation, inner fire doesn't apply breach, and I don't want to give up gear slots), so I like to control aggro as much as I can outside of taunt. To find out just how hostiles decide who to attack in ESO, I took a few willing sacrifices pals out to test just how aggro mechanics work with your average dungeon boss. Our first round of tests was done in 2018 and the second in 2021. Although there were some changes we noticed between the two rounds of testing, the basic rules are similar.

We tested facepulling, dps, healing+dps+shielding, burst vs consistent dps, proximity, and a few other variables you can preview in the "Method Variables" spoiler below. For information on where and how we did this, see "Testing Variables." The only thing we didn't do was taunt.

Aggro in Practice
It's about frequency, not quality. Mobs attack the person who attacked them first. Five seconds later, they attack the person who hit them most recently. An uninterrupted stream of direct damage will hold aggro off anything but a taunt. Damage over time only aggro's off each tick, which can leave long gaps between ticks where other people's actions can steal aggro. Heals, blocking, and pets do not generate any meaningful aggro.

Let's look at three examples. In all examples, we are using the first miniboss in veteran Fungal Grotto 1, who is about as basic as a dungeon boss gets -- he's basically a standard melee monster with a slightly larger health pool. None of the players are wearing gear that has any procs (in fact, most players are wearing only a weapon... except for Fish, who really commits to the naked lifestyle and went full bare fisted, bare bottomed boxing).

Example 1: Burt the healer runs his face straight into the boss and starts heavy attacking. Because Burt is the worst healer ever, he just uses his restoration staff to constantly heavy attack. Moo the damage dealer tries to do his job proper by absolutely laying into the boss with every ability on his bars and weaving light attacks between casts. Moo is now doing ten-fold Burt's damage, plus more buffing and healing. The boss ignores Moo and continues to attack Burt.

Example 2: Fish starts the pull by casting his targeted DoT under the boss. Anti follows and casts a similar spell. The boss stays on Fish. Moo enters the room and casts orb, which is also a dot but has a shorter gap between ticks of damage (i.e., 0.5seconds instead of 1seconds between damage applied). After ~5 seconds, the boss attacks Moo. Burt is in the room the whole time, enjoying the scenery, and the boss does not care.

Example 3: Fish, Moo, and Anti run into the boss room where there are 3 mobs up. Fish casts a targeted ground-based damage over time spell under the boss, Moo spams light attacks on the boss' pet dog, and Anti casts one light attack on their goblin archer buddy. Each mob is now attacking the person who touched them. Burt runs into the room and starts spamming regeneration. Moo is still light attacking, Fish is keeping his dot up, and Anti is doing her best statue imitation or maybe has gone afk because she's doing nothing, but the mobs are still attacking them. Burt escalates by casting every heal on his bar. The mobs do not care and continue attacking Fish, Moo, and Anti. Burt gives up on healing these idiots and begins attacking, which gets immediate aggro from the mob on Anti (who is doing nothing), aggro shortly after from Fish's mob (he was only dropping an aoe dot), and never pulls Moo's mob (Moo is still spamming LA).


Testing Variables
Location: We did all of our testing in vFG1 in 2021 and both vFG1 and vCoA1 in 2018. FG1 and CoA1 because there were plenty of bosses with minimal confounding mechanics and vet because it gave us enough hit points to achieve reasonable time and dps numbers. Special thanks go out to the first mini-boss in vFG1, who provided an especially convenient target since it is very easy to reset, thus allowing us to test dozens of strategies and duplicate curious findings. We only used vCoA1 in the 2018 testing to replicate our findings on additional bosses and to test out additional factors on a ranged boss (the final boss).

Characters: We used sorcs for all testing in 2018, then a necro, DK, templar, and NB in 2021. The availability of heals, shields, dots, dd, and hots that could be used independently of each other as well as the flexibility to be at range or next to a boss allowed us to test a comfortable variety of effects.

Addons: We used addons in 2018 and took screenshots when aggro swapped to capture values, but eventually we swapped to self-reporting as thresholds became clear and our goals shifted toward testing extremes.

Limitations: We did not get enough of a sample size to capture an exact value on what the timer is on aggro reset, just a reasonable estimate of about 5 seconds.

Methods Variables
Facepulling: No efffect. Mobs scatter around to whoever they want.

Initial Hit: Worth approximately 5 seconds of aggro and seems to determine who gets priority when aggro check happens after the 5 seconds. I would tap the mob, then do nothing. Others would right in right behind me and begin actively attacking. Mob switched to the person actively attacking after about 5 seconds. Amount of damage did not matter, only the frequency. If I tap the mob, then keep actively attacking while my buddy runs in and begins also actively attacking, I will keep aggro.

Blocking: Added no visible difference in duration of aggro held.

Bubble: Did not have a visible effect in 2021, but we only tested with bone shield. If anyone wants to test with sorc bubble or other bubbles and report, that'd be helpful.

Healing: Did not pull or hold aggro over damage.

All-In: Unlimited aggro duration as long as no gap in activity. Actively attacking will pull aggro of someone with big gaps in their rotation (e.g., heavy resto attack or full dps rotation will pull of a tank who has only dropped an aoe that has 1-second dot tick).

Weapon Attack Spam: Unlimited aggro duration as long as no gap in activity. Light attack spam can pull off of another player if they have a gap in their rotation (e.g., pulled with a dot). If someone pulls with LA or lightning/resto HA and never stops spamming it, they get aggro forever.

Proximity: No observed effect on aggro. We did not retest this heavily in 2021. In 2018, we tried with single DPS standing close vs as distance and the only difference was how long it took the boss to actually reach them, not how long until it actually turned. We then tried on the ranged final boss in vCoA1, with alternating patterns of who was standing in the boss' immediate reach vs who was at range. Regardless of where we positioned our characters, the boss always went for the weapon spammer.

Pets: Necromancer pets could not pull aggro. Necromancer ran in, made one attack, then did nothing except resummon pet if they expired. Even though pets were healing and attacking, mobs never switched to them. In 2018, the Twilight Matriarch had an independent aggro table, but we did not test it in 2021.

So, folks, this is why I will let you die if you sprint ahead of my fast-pulling tank just to get the first light attack hit on a group of mobs (especially if you proceed to spread them out rather than group them up like my tank, but that's a separate topic). Aggro has nothing to do with output/input and everything to do with activity.

This is all helpful, perhaps even vindicating info, and highly entertaining to certain nerds among us just for testing's sake. That said, I thought I'd throw in some suggested ways to apply what we know of aggro into your gameplay:
  • Taunts are still super great since they allow you to pause attacks long enough to, say, block/bash/move/switch targets.
  • Let the person who is supposed to have aggro make initial contact.
  • If you want to hold aggro without taunting, open with direct damage and never stop. This applies for both single-target and aoe.
  • If you are pulling, lay down the biggest aoe you got, and lay it down a couple times if you have to spread over the mobs you want. Then keep casting an aoe DD to keep the mobs on you or tell dps they have 5 seconds before aggro is on them.
  • If you need to swap aggro without taunt, swap who is actively attacking it (keeping in mind that procs and damage-over time effects will keep ticking for their duration).

Edit Log
1/25/2018: Fixed formatting, added pet, healing, and proximity test descriptions to Methods.
6/19/2021: Invited a 4th buddy to get naked in dungeons and see what's changed for aggro since 2018.

  • antimawkish
    antimawkish
    ✭✭✭
    Also, if anyone wants to make a video of puncture (1hand + shield taunt) being cast on mobs and your character slowly watching the mob move by only to finally finish the puncture animation as the mob has walked completely past you, I will pay you 300k in gold game. Needs to be set to a "this is so dumb it's almost comical" soundtrack.
Sign In or Register to comment.