This article presents a survey of how avoidance has been handled by tanking analyses up until now. It further summarizes all of the basic mathematics behind understanding how avoidance works. Finally, it presents two new metrics for tanking—“Response Time” and “Burst Time”—and describes how they relate to events in the game, and their impact on gear choices for tanking.
Background and motivation
The intention of this article is to provide an alternative means to look at avoidance—one which makes it easier to think about the impact of avoidance on boss fights, and which allows some analysis of the effect of trading Effective Health for avoidance and vice-versa.
I started working on this analysis after reading and posting in a number of threads about avoidance (see my posts in the threads Socketing for Dodge, and Sunwell--EH or Avoidance? for details). I had been looking seriously at what avoidance does for a tank since noticing that the number of threads about avoidance had been increasing since the appearance of the Sunwell Radiance buff on mobs on Sunwell Terrace. And, I’d also been rather shocked by some of the number I was hearing from “younger” tanks who are approaching low-tier 25-man raids with what seemed to me to be outrageous levels of Effective Health and extremely low levels of avoidance.
The traditional understanding of avoidance was based on an environment where gear choices forced avoidance gearing, and left tanks to make up the difference through enchantment and socketing. The conventional wisdom was that it was better to add more Effective Health, because if you had enough EH, you would live through the inevitable bursts of damage that occur in boss fights. After all, no matter how much avoidance you have, you will never completely remove the chance of getting hit by burst damage.
But since more and more gear with high EH values began to be available, and since Sunwell Radiance reduced the overall avoidance level of tanks on the Sunwell Plateau, that conventional wisdom was beginning to fall short.
Based on everything I was seeing, it seemed to me that a better analysis of avoidance was in order. Even people with a firm grasp of statistical reasoning were having a hard time making assessments of the effects of avoidance, although they were definitely making reasonable judgment calls to increase avoidance levels. Having a more approachable way of looking at avoidance, it seemed to me, would improve both the gut-level choices of experienced tanks and the reasoning of people new to this role.
Notes on the figures
Probabilities (including avoidance percentages) are always given in decimal notation—that is, a 50% chance is written as 0.5, a 25.25% avoidance level is written as 0.2525, and so on.
Where possible, I give values to four significant digits in the text, and either two or four significant digits in figures. Sometimes I will leave out significant digits to preserve space when values are exact. For example, if I write “a=0.5”, I mean precisely one half, not 0.5 with only a single significant digit.
Values which when written would be longer than five digits are expressed in engineering notation: 1.234E10 means 1.234 times 10 to the power of 10, or 12,340,000,000. 1.234E-5 means 1.234 times 10 to the power of -5, or 0.00001234.
The mathematics of avoidance
Unlike mitigation, which we generally fold into calculation of Effective Health, avoidance is a binary process. Every time a melee attack is made, it either hits or misses. There are some differences between the kinds of hits and kinds of misses, and we’re all aware of those. But for the purposes of determining how much damage comes in, there’s not much difference at all, and we can ignore the variation.
Damage reduction from avoidance
If we’re looking at the raw damage reduction potential of avoidance, the following equation suffices:
That is: The total damage taken (d) is equal the the unmitigated incoming damage (D) reduced by the mitigation (damage reduction due to armor: m), and further reduced by the proportion of swings that are not avoided (raw avoidance: a). The terms here are (1-m) and (1-a) because we measure damage reduction in terms of how much damage is removed, and avoidance in terms of what proportion of swings are misses.
This equation does indeed reflect the total damage taken over time, but it has a critical flaw when evaluating the utility of avoidance in raids. Specifically, this is the amount of damage taken as averaged out over long fights, and doesn’t address the kinds of problems that will actually kill a tank. (This flaw was pointed out by proponents of EH theory as an argument for gemming and enchanting for Stamina early after the beginning of raiding in BC.) After all, even if there’s only a 50% chance that the tank will be hit, if that hit will kill the tank, he’s going to die no matter what. And even if it takes multiple hits at a much reduced chance, that chance is still possible, and the tank will still die. In fact, many melee bosses have abilities that will greatly increase their attack speeds over short periods of time.
These strings of multiple hits are referred to as “burst damage”.
The general trend, then, was to ignore the factor of avoidance in favor of looking at raw Health and mitigation due to armor. The combination of these factors, known as Effective Health, accurately describes how large a burst of damage a tank can survive.
However, even though it is flawed to reason about avoidance as if it is damage mitigation, it is also flawed to ignore it completely. After all, avoidance may not be able to reduce the size of burst events, but it can reduce their likelihood. And, it can do so at a rate that is difficult to realize without doing some math.
Super-linear growth in the effects of avoidance
The first way in which avoidance’s power grows faster than you might expect is that the relative mitigation of avoidance (that is, the amount of overall damage reduction as avoidance increases) increases non-linearly as you add more avoidance. In section VI(e) of Quigon’s post The Protection Warrior Guide on the Elitist Jerks class discussion forum, he discusses this point. (And notes that one should “not let this fool you into thinking avoidance is a substitute for armor. You must assume that boss will always get lucky and perform its worst-case-scenario.”)
The second way in which avoidance scales super-linearly is in terms of getting hit multiple times in a row. In the post Wanderlei - On Avoidance (reposted from the Evil Empire forums), Wanderlei makes this point quite well.
Repeated here, for your convinience, is the formula for the probability of being hit multiple times on a row, based on avoidance:
That is, the probability of being hit n times in a row is equal to the probability of being hit once (1-a) raised to the n-th power. Here’s a graph demonstrating this behavior:
As you can see from the graph, higher levels of avoidance greatly reduce the chance of a long string of hits landing. With an avoidance of 0.25 (25%), there’s still a 0.2373 chance of being hit five times in a row. But with an avoidance of 0.5 there’s a 0.03125 chance, and with an avoidance of 0.75 there’s a negligible 0.09766% chance. Of course, the levels of avoidance that tanks work with are generally in a more restriected range. The following table contains the chance of being hit multiple times over a wide range of values:
The analysis of avoidance in terms of its ability to avoid long strings of hits, unfortunately, still leaves us somewhat in the dark. When we see a probability such as 0.063 in the table above (the chance of five hits at a=0.5), we can easily interpret it as meaning that 63 times out of one thousand, we will see that event occur. However, that figure is difficult to relate to our tanking experience. We know that over the course of a single fight, we will be hit many hundreds of times—and that, as Quigon says: we “must assume that boss will always get lucky and perform its worst-case-scenario.”
So what we are left with is an understanding that these events are rare, but that even rare events may occur. And, we can easily compare how rare two events are in comparison to each other—or at least, we can say that one is better and the other one is worse.
Expected time between hits
Still, we do not as a species reason well about events with low probability, or really, about probabilities in general. Fortunately, there are methods of analyzing such events that allow us greater insight into the impact of our choices. The specific analysis I’m speaking of is called “expected value” or in the case of time “expected time”. A related term that we come across more frequently is “mean time between failures” (MTBF).
To calculate the expected time between events that have a given probability, we simply take the reciprocal:
Here, the expected time between hits (t subscript H) is one divided by the probability of being hit (1-a). If we have 0.5 avoidance, we expect to be hit on average every two swings. If we have 0.75 avoidance, we expect to be hit on average every four swings.
This reasoning can be extended to longer strings of hits. The average time between being hit n times in a row is:
As before, the probability of being hit n times in a row is the probability of being hit once raised to the nth power, and the same equation follows.
There is one slight fly in the ointment, however. The trouble is that this equation for time between being hit n times in a row says something just a little bit different from what we’d like it to mean. Specifically, it’s the length of time between two hits when we’ve just been hit for the nth time. For example, if we’re looking for n=2 (two hits in a row), then all of the hits marked in bold in the following sequence would qualify:
The first marked hit is clearly the kind of thing we’re looking for—we got hit twice in a row, and the bold “H” indicates where. However, the second string of hits is sort of fishy. The first marked hit is from being hit for the second time in a row, sure enough, but the third marked hit is a third hit. And the final string of hits shows that every hit in a long string except the first would qualify.
One wouldn’t be unreasonable to ask why this is a problem. After all, aren’t these cases even worse than the cases we’re worried about? Well, the trouble is that this will reduce the expected time between occurrences—when averaging things out, that “only a single hit needed” really has an impact. That doesn’t make this a horribly wrong number to use to judge avoidance, but there’s an even better way to measure. And that way becomes more important as I move into the real goal of this article, the idea of “Burst Time”.
Expected time until n hits
I’m going to give the equation here, and leave the derivation for another time, because it’s not quite as cut and dried as the above (which draw largely from first principles of statistics.) The formula is as follows:
The expected time until being hit by a burst of size n (t sub B(n) is expressed in terms of the avoidance rate (a) and the number of hits (n).
I emphasize the word “until” here because it’s the key difference between this number and the time between hits calculation given above. The average number of swings between being hit n times in a row has “history”. It counts the chance that you could have just now been hit n-1 times as well as the chance you’ve just been missed, as well as all of the possibilities in between.
This new equation doesn’t have history. It says “from a given point in time, ignoring everything that has happened in the past, what’s the average amount of time until I get hit for n swings in a row?” And this makes it a very valuable number. Why?
Well, the most common reason you’d want to ignore history is because you’ve just been healed to full Health. And that gets us to the final portion of this article.
“Reaction Time” and “Burst Time” as measures of survival
There are two numbers that I think make clear the impact of avoidance on how well a tank can survive in a given encounter. The first of these two numbers I refer to as “Reaction Time”, and it is very simple. The second is “Burst Time”, which provides a relationship between avoidance and Effective Health, and it is somewhat less simple but more informative.
Both of these measures express time in units of “swings”—and that means you should exercise a certain amount of caution in interpreting them as times. Most bosses have a standard melee attack at a rate of one swing every two seconds. Some bosses (particularly those that dual wield) have a faster base attack rate, such as one swing per second.
Parry haste also has an impact on how times measured in swings translate to real world time.
And, rather importantly most bosses that do dangerous melee damage have either instant attacks, which are swings off of the “normal” swing timer, or abilities like Thrash that give them extra attacks.
All of these factors have an impact on how you should interpret these measurements of time in terms of swings.
Assume a tank is within one hit of dying. How long, on average, do the tank and healers have to prevent tank death? The answer is in the equation given above for the expected time between hits. I restate it here, changing only the symbol used on the left hand side:
This is a very simple equation, and it expresses exactly what I described above: The average amount of time until the tank is next hit. This, then, is the average interval in which the tank may hit an emergency button, or a healer may land a heal upon the tank.
Make sure to see my note above about how this time (which is measured in a number of swings) is related to real time during a fight.
When thinking about Reaction Time, you must take great care to think about the relationship between swings and wall-clock time. This is because when we speak of time to respond, we’re very much concerned about how much real-world time is taken by the players in question. The actual time people have to respond when facing a boss that swings once every second is much smaller than when facing a boss that swings once every two seconds.
Instant attacks, parry haste, and extra melee attacks can generally be left out of thinking about Reaction Time. Instead, these mechanics encourage making sure that the tank is topped off as much of the time as possible. At that point, Reaction Time measures the amount of time you have to recover after a parry haste, Thrash, or giant Mortal Strike has knocked your Health down to dangerous levels.
The relationship between avoidance and reaction time is shown in the following graph and table:
I described above the equation for calculating the expected time until n hits (represented by t sub B(n)). Now I’m going to take that a step further and suggest what n ought to be.
Assume a tank is kept at full Health whenever possible. In particular, assume that whenever a tank is missed at least once by a boss, there’s always enough time for healing spells to arrive which will top him off. How long, on average, will it be until the tank is hit enough times in a row to at least kill him unless he is healed during the string of hits?
The assumption that there’s always enough time to top a tank off when he’s missed is a bit simplistic, I will admit. But the idea here is to have a metric for talking about how often the tank gets hit with a burst of melee damage that’s big enough to kill him. We don’t want to model exactly how effective the tank’s healers are, so instead we assume that they’re perfect in one particular way: Given a little bit of time (a miss and the time before the next hit), they will always land a heal.
This expectation isn’t completely insane. Even with no avoidance at all, this would mean that the healers have on two swings worth of time to react. In general, when there’s a hit followed by a miss, they have one swing more than the tank’s Response Time to land heals before any additional hits land. There are certainly cases where something will prevent effective healing from occurring, but I believe that the number I’m about to propose is still useful in describing one thing that we have had particular trouble nailing down.
Specifically, it provides a way to describe the relationship between avoidance and Effective Health.
The key insight in coming up with this number is to realize that while we’ve spoken up to this point in terms of the probability of actual discrete sequences of events, the mathematics continues to work when we put in non-integral values. What do I mean by that?
Well, we know what it means to be hit twice in a row, and we know what it means to be hit three times in a row. So, it makes sense to ask the question “How long until I get hit three times in a row?” However, the equation also allows us to ask strange questions like “How long until I get hit 2.5 times in a row?”
And that’s the key to the idea of “Burst Time”. Instead of plugging in a specific number of hits we think we can survive (like three or four), we plug in the actual number of hits we can take from the boss. We are already speaking of average boss hits and average amount of time here, so this does in fact make sense.
So, here’s the equation for Burst Time:
This formula is the same as that for the “time until a burst of length n” we used above, but instead of putting n in, I placed h over H. There are two different ways we can fill in these new terms here.
The first way, and the easiest to work with, is to put in the tank’s maximum actual Health for h and the average size of a melee hit from the boss for H. Based on this, h over H is the average number of hits from the boss it takes to kill the tank.
The second way may be useful in certain circumstances. Instead of putting in the actual Health and actual average hit values for the boss, we put in the Expected Health for h and the average unmitigated hit from the boss for H.
In both of these cases, the value we get out is exactly the same—it is the average number of hits it will take to kill us. In the case of the actual values adding more armor decreases the size of the boss’s actual hits. In the case of expected values, adding more armor increases our Effective Health while leaving the boss’s unmitigated hit amounts unchanged.
However, we usually know ballpark numbers for how hard a boss hits on plate and how many raw HP a tank has. We less often know what the boss hits for before mitigation from armor. In the discussion that follows, I’ll speak in terms of average boss hits and actual HP values because of this. However, if you are plugging numbers into the equation and want to look at the impact of specific gear choices, you may wish to calculate the boss’s unmitigated damage and use that instead, so that you’re only changing your avoidance and Effective Health values as you try different gear combinations.
The following graphs and table illustrate how Health and avoidance contribute to the value of Burst Time, and how the boss’s average melee hit impacts these numbers.
As you can see, both Health and avoidance increase the Burst Time for a tank given a boss that hits for a given amount of damage. In addition, the more a boss hits for, the lower the Burst Time drops.
We can learn a bit from looking at the shapes of these curves. First, let’s look at the curves for Health at various avoidance levels compared to the curves for avoidance at various Health levels. You’ll note that on both of these graphs, the curves increase at a greater than linear rate (doubling the value more than doubles the resulting Burst Time.) However, the rate of increase is markedly higher for avoidance than it is for Health. Why is this?
Well, mainly it has to do with the ranges of values for these attributes. As avoidance approaches 1.0, Burst Time approaches infinity. This is probably why Blizzard has chosen to hit us with the Sunwell Radiance effect—avoidance performs a bit too well as you start to get a lot of it. Health, on the other hand, does make Burst Time approach infinity, but only as Health itself approaches infinity. No matter how much Health we are able to stack, there’s no way we could stack that much.
More importantly, as our Health values get greater and greater, Blizzard makes bosses that hit for greater and greater amounts of damage. Because it is the ratio between Health and the average incoming hit that determines Burst Time, and because these two values can always be kept in balance, the curve here has a much much gentler slope. In general, boss hit amounts are always kept large enough that we’d have a really hard time increasing our health so much that it would take a huge number of hits to kill us.
Regardless, both Health and avoidance add to the value, and in the range of commonly useful values (say, between 15k and 25k Health and between 0.3 and 0.7 avoidance), the two attributes both increase at reasonable rates.
The other graph to look at, the one which relates Burst Time to boss hit size, shows that harder boss hits will decrease Burst Time quite rapidly. Hard hitting bosses have the potential to kill us very very suddenly.
Why is burst time a useful measurement?
I’ve already addressed one problem of the Burst Time number above: Namely, that it assumes a very simplistic model of how effective healers can be. Now I’d like to talk about the other side of the coin, which is in what situations having a higher Burst Time is desirable, and why. And, I think, this will go a little way towards explaining why I don’t think the simplistic model of healing is such a bad one.
A boss fight, if it is at all interesting, typically revolves around some set of emergencies. These emergencies typically happen periodically or semi-periodically. Effects that are constant can’t really be thought of as emergencies: if a boss just hits really hard all the time, you need a bigger healer rotation, or a bigger tank. It’s the expected emergency situations that can be planned for, but which keep everybody on their toes.
To take an example that’s been on my mind lately, let’s look at Archimonde. Archimonde hits quite hard, but one of the main sources of tank emergencies in most boss fights has been removed: his hits are never crushing blows. Instead, a number of problems arise in other places in the raid. Airbursts throw people into the air a great distance away. Grip of the Legion inflicts periodic damage on people. Doomfires spawn and chase people around (and inflict periodic damage on people who don’t get out of the way.) And a periodic Fear ability adds further spice to the mix. If somebody does die, then Archimonde gains a soul charge which allows him to cause even further unpleasantness.
From the point of view of keeping the tank alive, pretty much all of these things can create real problems. Airbursts and Doomfires can force the primary main tank healers away from the tank. Even worse, they could force backup healers away from the main tank at the same time. Fear will make everybody run around for a bit, make the tank take more damage if he fails to dance, and interrupt spells currently being cast. Finally, the periodic damage from Doomfire and Grip of the Legion can distract healers at a critical moment.
All in all, there are a lot of bad things that can happen.
So, what does increasing your Burst Time do in this situation? Well, primarily it works by decreasing the likelihood that the “bad string of melee hits” event will overlap with any of the bad stuff mentioned above. You’ll still get hit with bad strings of melee hits. Your healers will still get chased away. But it will be much less common for both to happen at once.
Or to put it another way: We all know that bursts are going to happen, but by making them happen less frequently, we increase the chances that somebody is going to be in a position to do something about it.
And that’s what I meant above when I was talking about how this makes up a bit for the simplistic healing model. The idea is to measure how often the raid is in a position such that some failure will spell disaster. Making those critical periods infrequent means that a minor error in healing priorities is unlikely to overlap with the tank having a big problem, just the same as it helps with healers being forced away from healing by the design of the boss fight.
(As an aside: If you want to evaluate the actual frequency of two events coinciding when you know their average period, it’s pretty easy. Remember that the expected time between events with probability p is 1/p? It works the same way in reverse. And, as a result, it’s terrifically simple to calculate the average time between coincidences. If you have an event that happens about every T amount of time and lasts for duration d, and another event that happens about every S amount of time, the frequency with which they overlap is TS/d. So, if your Burst Time is 30 swings, and a periodic event happens for 5 seconds out of every 30 seconds (2.5 swings out of every 15 swings, assuming two seconds between swings), the two events will coincide on average once every 180 swings (30 * 15 / 2.5.) Neat! Of course, this only works if the events are independent of each other.)
Evaluating the relative effectiveness of adding Health or avoidance
There’s one more topic that must be covered before our examination of avoidance is complete. If we assume that Response Time and Burst Time are useful metrics for measuring a tank’s ability to survive, we must next wonder whether when it is better to add Health or avoidance when we’re trying to increase Burst Time.
Effective Health can only be increased by adding more health or more armor. The reason calculating EH is so useful is that it allows us to compare the relative gains provided by Stamina and Armor for increasing overall Effective Health. Adding either one will increase EH, but not at the same rate. This is discussed in great detail in Satrina’s post AC and Stamina.
Clearly, Response Time can only be increased by adding avoidance. If we find that events are very often happening so quickly that no one can respond, then it pays to add more avoidance to increase the time available to respond. Because the various attributes that add avoidance (Dodge Rating, Defense Rating, Parry Rating, and Agility) don’t interact with each other, there’s no need for any sort of analysis of when one is better than another for increasing Response Time. For a Warrior or Paladin, stacking Dodge is always more efficient than stacking Defense, and stacking Parry is always more effective than stacking Agility. For a Druid, stacking Agility is always more effective than stacking Dodge Rating, which is always more effective than stacking Defense Rating.
Burst Time, however, is sensitive to both avoidance and to Effective Health. That means that we can see how trading off between avoidance and Effective Health impacts our Burst Time values. If we want to compare two different sets of gear, we can simply plug in our numbers to the formula for Burst Time given above. We can also, however, make an explicit comparison by examining the most choice me make, the choice between gemming for Stamina or Avoidance.
In order to do this, we want to find the values of avoidance (a) and maximum Health (h) for which the following equation is true given a chosen average boss hit:
Delta_h is the amount of health gained by adding a single maximum Stamina gem (+15 Sta), and Delta_a is the amount of avoidance gained by adding a single maximum avoidance gem (+10 Dodge Rating for Warriors and Paladins, and +10 Agility for Druids.)
There are two things we need to remember when looking at this equation. First, remember that the average boss hit varies with armor. So that’s how the armor level of effective health gets into the picture. (And, alternatively, you can use unmitigated boss hits and effective health instead.)
Second is the fact that each tanking class has slightly different numbers when it comes to how much health we gain from a point of stamina, and Druids also have a different value for how much avoidance they gain from gemming Agility.
In the following I assume that effects which increase a character’s total Stamina by a percentage are additive. So Warriors gain 1.15 points of character-sheet Stamina per point of Stamina added in gear (assuming BoK and five points in Vitality). Paladins gain 1.16 points (assuming BoK and two points in Sacred Duty). And Druids gain 1.55 points (assuming BoK, Dire Bear Form, and five points in Heart of the Wild.)
Each of the following graphs assumes a tank who has maximized their talents which increase Stamina gains, and who has Blessing of Kings. First, the graph for Warriors:
This very similar graph shows the crossover points for Paladins (who get slightly more Health per point of Stamina):
Finally, this graph shows the relationship for Druids (who get much more Health per point of Stamina, and slightly more avoidance for each point of Agility than the other classes get for each point of Dodge Rating):
It is worth noting for all three of these analyses that there is not that much actual difference between the efficiency of avoidance and the efficiency of Stamina. In fact, the difference between a Stamina gem and an avoidance gem is generally less than 2.5%. That is to say: both kinds of gems increase Burst Time, but one gem will be up to 2.5% better than the other.
All three of these graphs are fairly similar—the differences in efficiency of gemming for avoidance or Stamina tend to shift things left or right, but the general shape remains the same. When bosses hit for small amounts of our total Health, there is little need to add more Health in order to cut down on the frequency of bursts. Even small amounts of avoidance make Burst Time grow faster than adding Health (although there does come a point at which adding more Health is more efficient, before the asymptotic behavior of avoidance again takes over.)
As boss hits grow larger, however, the relationship becomes more straightforward. There comes a point when adding avoidance will always provide larger gains in Burst Time than adding Stamina. Both Stamina and avoidance both continue to increase the tank’s ability to survive, but avoidance is providing slightly better returns than Stamina.
A final note on this subject: One should not take the above graphs to imply that stacking pure avoidance past a certain point is always desirable. Our choice of stacking Stamina in the past is founded on a very good analysis of how boss fights work. Specifically, stacking Effective Health ensures that we can live through the worst case scenarios which will certainly occur over the course of our tanking careers.
Looking at the graph above naïvely, one might be tempted to think that “Oh, if I have 60% avoidance and I am getting hit for 20000 damage when I have 20000 health, I should add more avoidance!” That would not, however, be an exceptionally good choice—it’s true that adding more avoidance would in the abstract increase the length of time between problems in that situation. However, that’s only because the problems would be occurring very very often. And worse, the emergencies we’re worried about would not be emergencies so much as failures. If you can’t regularly survive two direct hits from a boss, you’ve already lost.
However, I think that we can also see from this that high levels of avoidance can have a dramatic impact on our chances of survival. This is particularly the case in fights where the primary dangers come not from bad strings of melee hits but from other external factors. As I’ve noted before, increasing the amount of time between bad strings of melee hits means that these external problems are less likely to happen at the same time as the more direct incoming damage problems.
I believe that Response Time and Burst Time both provide useful new ways to measure the utility of gear for tanking. Specifically, I think that understanding these statistics suggests a balanced approached to gearing, which emphasizes neither excessive levels of Effective Health nor excessive levels of avoidance (except for in certain gimmick fights.)
Over-emphasizing avoidance over Effective Health leads to fights in which the tank cannot survive bursts that inevitably occur. With less avoidance and more EH, these fights would be better survivable because the tank would live through unpreventable bursts. But at the same time, over-emphasizing Effective Health over avoidance leads to fights in which the tank is frequently faced with near-disastrous situations which cannot always be overcome. With less EH and more avoidance, these fights would be better survivable because the frequency of those dangerous situations would be reduced.
If we wish to do well as tanks, it is incumbent upon us to understand all of our capabilities. By doing so, we ensure that we can always bring the correct weapons (or armor, as the case may be) to bear on each fight.
I know I am long-winded and often obscure, but I hope that my contribution serves to shed at least a little light on a portion of our capabilities that has been addressed mostly anecdotally up until now.
With luck, some enterprising soul will write up the Cliff’s Notes version any time now. ;>