For a long time now, but especially in times where Windwalker is performing poorly in Mythic+ or AoE situations, the subject of target caps has been brought up as the main reason why we might be lacking in performance. This idea has become a staple complaint in recent times, with Season 1 of The War Within being an example of a season where Windwalkers’ performance was falling behind. “Why don’t they just uncap all our spells, easy fix.” “How can I compete with Enhancement Shaman or Retribution Paladin in pulls with 15 mobs.”
If you have a solid grasp on how target caps work, you probably already know why these complaints aren’t very constructive. For those who don’t, I decided to take the time to properly explain how target scaling works in World of Warcraft, and by extension, why these arguments and proposed solutions don’t really work.
Definitions
Before we get started, let’s define some terms. This will make it easier to explain the more mathematical examples that I’ll be using.
- baseDamage: the damage on the tooltip on the spell in question, usually the amount of damage the spell will deal to a single target.
- totalDamage: the amount of damage your spell will do to all targets it strikes, combined.
- targetCount: the total amount of targets that the ability is hitting in the given example.
- offTargetCount: the amount of targets other than your selected target.
- sqrtThreshold: the targetCount at which square root scaling kicks in, if applicable.
- targetCap: the targetCount at which the totalDamage stops increasing.
- offTargetCap: the maximum amount of secondary targets that increase totalDamage.
- damageBonus: the percentage of increased baseDamage per additional target.
Target scaling types
Let’s go through every type of target scaling the game employs. I’ll try to put them in order of power, that is, from highest scaling factor by targets to lowest. I will be giving examples, and please note that if an example ability is high in the list, it doesn’t necessarily mean it is very strong, or vice versa. It just means that they scale better with targets.
“Uncapped”
These are the abilities with the simplest target scaling formula:
totalDamage = baseDamage * min(targetCount, 20)
If you have 1 target, deal 100% of base damage. On 2 targets, deal 200%. 5 targets, 500%, 20 targets, 2000%. Easy.
The min() part just means “whichever of the 2 values is lower”. To clarify, the game is kind of lying to you. When a tooltip on a multi-target ability says “Deal x amount of damage to all enemies”, it actually means “up to 20”. This is a hard cap for which there are very few exceptions, and to my knowledge none in terms of direct damage (see below). If you have a pack with, for example, 21 enemies, an uncapped spell will deal 2000% (or 20x) of base damage, split across 21 targets. That means each target takes 95.24% of base damage each. On 40 targets, each target takes 50% of base damage each.
It should be noted that very few uncapped abilities make up a significant portion of their specialization’s overall aoe damage breakdown. It does happen, but only in a handful of specs. That is to say, being an “uncapped” damage spec does not have a strong correlation with being a “meta” spec.
Examples:
- The Shadow effect of Wisdom of the Wall
- High Impact
- Rain of Fire
- Cataclysm
- Implosion
- Earthquake
- Wake of Ashes
- Secret Technique (secondary target damage)
- Touch of the Magi (secondary target damage)
- Demonsurge
- Pyre
- Upheaval
One more additional note: I do acknowledge that some abilities are able to get around the hard cap of 20 by triggering an effect on targets struck by it, rather than directly dealing damage. Think of Cataclysm‘s Immolate/Wither application, or the additional fire damage events from Exploding Keg and Flametongue Weapon.
Square root capped
Whenever a tooltip says “Deals x damage to all enemies, reduced damage beyond y targets”, it usually means this. The full formula looks like this:
totalDamage = baseDamage * targetCount * sqrt(sqrtThreshold/max(sqrtThreshold, targetCount))
This is actually slightly simplified, the “real” full formula is this:
totalDamage = baseDamage * min(targetCount, 20) * sqrt(sqrtThreshold/max(sqrtThreshold, min(targetCount, 20)))
Unfortunately, the same hard cap of 20 applies, but let’s just ignore that and look at the first formula. BaseDamage is multiplied by targetCount, then the total is multiplied by the square root of the threshold amount divided by targetCount. The max() part is why the square root is only applied when targetCount exceeds the threshold amount (since otherwise, you’d have sqrt(5/5) which equals 1). Since the targetCount will be higher than the threshold, the square root will be a particular fraction of 1 and grow smaller as targetCount goes up, thereby dampening the increase to totalDamage.
Let’s fill in some numbers, and let’s take a sqrt cap of 5 as the example since it is the most common threshold.
At 3 targets, the formula is baseDamage * 3 * sqrt(5 / max(5, 3)).
Max(5, 3) returns 5. Sqrt(5/5) equals 1. The final calculation is therefore baseDamage * 3 * 1, because at 3 targets, square root scaling isn’t active yet.
At 6 targets, you get baseDamage * 6 * sqrt(5 / max(5, 6)).
Max(5, 6) returns 6. Sqrt(5/6) equals approx 0.91. The final calculation is now baseDamage * 6 * 0.91, which is a totalDamage value of 548%. This is where the dampening on the totalDamage starts.
At 20 targets (remember, our hard cap), we get baseDamage * 20 * sqrt(5 / max(5, 20)).
5 / 20 equals 0.25, and the sqrt of 0.25 equals 0.5. So, the totalDamage equals baseDamage * 20 * 0.5, or 1000%, or half of what an “Uncapped” ability would do.
At this time, most aoe abilities are sqrt capped with varying thresholds.
Examples:
- Spinning Crane Kick
- Slicing Winds
- Tempest
- Divine Storm
- Odyn’s Fury
- Thunderous Roar
- Bladestorm
- Multi-Shot
- Explosive Shot
- Beast Cleave
- Arcane Surge
- Caustic Spatter
- Eye Beam
- Blade Dance
Let’s add it to the graph:
Hard capped
After the spaghetti of square root scaling, this one is nice and simple. Tooltips with these abilities are usually phrased as “Deals x damage to up to y enemies”, and the formula looks like this:
totalDamage = baseDamage * min(targetCount, targetCap)
You’ll notice that it’s the same formula as the “Uncapped” spells, just with a variable for the targetCap. With a targetCap of 5, the damage will simply not increase beyond 5 times the baseDamage. Of course, there is no ability with a hard cap greater than 20.
With a targetCap of 5:
At 3 targets, totalDamage is equal to 3 * baseDamage, or 300%.
At 5 targets, totalDamage is equal to 5 * baseDamage, or 500%.
At 15 targets, totalDamage is equal to 5 * baseDamage, or 500%.
Nice and straightforward.
Examples:
- Blackout Kick with Shadowboxing Treads talented
- Crackling Jade Lightning with Power of the Thunder King talented, or Jade Empowerment active
- Jadefire Stomp
- Arcane Barrage with Arcing Cleave talented
- Vile Taint
- Chain Lightning
- Outlaw abilities during Blade Flurry
- Azure Strike
- Disintegrate while buffed by Mass Disintegrate
- Eternity Surge (empowered)
- Judgment with Blessed Champion talented
“SotWL” Capped
Although the tooltip for Strike of the Windlord simply says “strike all enemies”, it actually uses a unique (and terrible) scaling formula:
totalDamage = baseDamage + offTargetCount * (baseDamage / targetCount)
The + in this formula indicates that Strike of the Windlord always deals its full baseDamage against your main target, while each secondary target (if present) takes (baseDamage / total targetCount) each.
At 1 target, offTargetCount equals 0. So, totalDamage is just baseDamage + 0.
At 2 targets, offTargetCount equals 1, so the calculation is baseDamage + 1 * (baseDamage / 2), or 100% + 50%, for a total amount of 150%. 100% on the main target, 50% on “each” secondary target.
At 5 targets, offTargetCount equals 4, so baseDamage + 4 * (baseDamage / 5), or 100% + 4 * 20%, for a total amount of 180%. The main target takes 100%, each of the 4 secondary targets takes 20%.
At 20 targets, offTargetCount equals 19, so baseDamage + 19 * (baseDamage / 20), or 100% + 19 * 5%, for a total of 195%.
It should be immediately obvious that this is very bad target scaling, since even at 20 targets, the totalDamage doesn’t even pass 2x baseDamage.
Examples:
Split with damage bonus
At the bottom of the “additional damage per target” scale, this one is basically a hard cap, but instead of adding 100% per target until the cap, it adds a variable amount (below 100%, naturally).
totalDamage = baseDamage * (1 + (damageBonus * min(offTargetCount, offTargetCap)))
This is the standard method for trinkets that describe their effect as “Damage increased per target struck, up to x” (usually x is 5). This is slightly incorrect, it should actually say “per additional target”. Let’s use the standard values for trinket scaling, namely 15% per additional target, in the examples:
On 1 target, you get baseDamage * (1 + (0.15 * 0)), or just baseDamage.
On 3 targets, you get baseDamage * (1 + (0.15 * 2), or 130%
On 5 targets and beyond, baseDamage * (1 + (0.15 * 4), you get 160%, which is the hard cap for this example.
As a special mention, Celestial Conduit follows a very similar scaling method. It deals 6% per additional target, up to 30%. The exact formula appears to be something like this:
totalDamage = baseDamage * (1 + min(offTargetCount * damageBonus, 0.3))
You’ll notice that this is between two and three times worse target scaling than “split damage” trinkets.
Conclusion
As we can see in the final graph, while uncapped abilities have a clear advantage in huge pulls, square root capped abilities still scale significantly better with targets than hardcapped abilities. Like I said in the uncapped section, the amount of specs that deal a significant amount of their overall damage with uncapped spells is really low. I’m genuinely not sure if there are any more than Destruction Warlock and Elemental Shaman, and Earthquake has a very small area, making the “significant” qualifier a bit questionable. Balance Druid might be a contender, not sure how much Starfall contributes to overall.
While these specs are quite strong in aoe situations fairly regularly, it can’t be said that having a lot of uncapped damage correlates strongly with m+ viability. Therefore we can conclude that having a majority of spells square root capped is also not the reason for any lack of performance. To further support this conclusion, we can look at Shadowlands Seasons 1 and 2, where Windwalker was exceptionally strong while having exactly the same target caps as now. Additionally, the big meta monster of TWW Season 1, Enhancement Shaman, gets more than 70% of its overall damage from hardcapped and sqrt capped abilities as well.
A very large majority of aoe abilities is square root capped, with the lion’s share having its threshold at 5 or 8. While it would naturally be an overall increase to increase the scaling threshold, it’s likely not as huge a difference as you might think. Putting some numbers with that example: at 15 targets, the difference between sqrt(5) and sqrt(8) is about 26%, while increasing an ability hardcapped at 5 to hardcapped at 8 would be a 60% difference.
The major outliers in our kit in terms of target scaling are Strike of the Windlord and Celestial Conduit. Changing those to have more respectable target scaling would actually be worthwhile.
But with all said and done, the biggest contributors to aoe performance are tuning and cooldown design, not just target scaling.
Nice article however I feel like you are underselling how many classes have access to uncapped dmg sources and how big portion of their dmg comes from those. Almost every caster does uncapped dmg and it will be their top dmg contribution.
Well, but that’s a balance and toolkit issue.
If a class has only one “powerful” ability to deal AoE-DMG a high portion of their overall DMG naturally originates from said ability.
It might be correct, that uncapped/sqrt 8 abilities deal more DMG compared to the past, which I’m not even sure about, but you don’t need those to deal high AoE-DMG.
Enhancer is one of the best example for a class which is sqrt-scaling + hard capped while still dealing loads of DMG just because of tuning.
You could easily buff WW’s AoE by simply sqrt-scale SotWL and Conduit at 5 targets, let PotTK cleave all targets for 80% DMG reduced above 5 targets and always enable Flurry Strikes to deal it’s AoE-Shadow-DMG, without uncapping WW’S AoE or giving WW a soft cap at all.