Combustion Mechanics

In the category of “How to prove yourself a Warcraft geek,” I spent a fair bit of time yesterday updating my Combustion WeakAura.  This is a bit of text that is continually updated on my screen that was an estimate of how much damage Jana or Saxsy would do if they cast Combustion.  I wasn’t satisfied with it until yesterday, when I tried to break it down and make it more reliable.

There are two aspects to Combustion: a direct damage aspect, and a DoT effect.  The direct damage aspect is, from what I could calculate, equal to twice your spell power plus 2082 damage. (These figures include the effect of the Combustion glyph; in theory they would be halved if the glyph were absent).The DoT effect is equal to half the ignite DoT on the target as of the time the spell is cast, ticking 20 times before haste is taken into account.  At 2.5% haste, an additional tick is added, and a new tick is added for every five percent haste above that. (For instance, at 18% haste there would be four extra DoT ticks).  Both the direct damage component and the DoTs can crit, which would do 206% of the normal damage, assuming you have the right meta gem equipped.  The direct damage portion of Combustion is modified by buffs such as Incanter’s Absorption and Invoker’s Energy, but the DoT portion is not.

As I stated a while ago, the reason I switched to a WeakAura rather than remain with an addon like CombustionHelper is because I didn’t believe CombustionHelper told me the information I wanted to know.  At the time (and I have no idea if this has changed), CombustionHelper would relay the amount of the Ignite DoT on the target, and in later versions the number of ticks that could be expected.  What it did not do is translate that into an actual damage figure, which is what I really wanted. Because of crit buffs, it wasn’t exactly relative either; the amount of the ignite DoT did not scale perfectly with the amount of an expected Combustion DoT tick. The WeakAura I use packages that all up and gives an expected damage based on current spell power, haste, crit, and the presence or absence of Invoker’s Energy/Incanter’s Absorption buffs. (I have not configured it for Rune of Power, because I don’t use that talent, but I imagine it would not be difficult to add that in.)

Here’s the import string:

dOe9iaGijvxsOeFssXOKOtjHvrqELqXSiPClKs2LOOFbuzysXXKkltiEMKuttuQRrOSnKIVrq14KeDoGIwhHQ4EOWbffwOuQhsKjIuDrsQ2isP(iHkJuOQoPOQvc5LeQsZeO0nfkv7uu5NcvzOscwQqP8urMQu1vLKSvcv1xbkCwjHAUsczVi(ROKbtDyKSyc5Xe1KLsUmOntGplKgTKsNgLEnbLzl42Ky3a(nPgokA5q1ZHY0r11bY2bQ67cvA8cvCEsY6fkP9RM0r6jjwskpahIlGsgwr5L1ayvuIjmeYI2S4WSsqQq8eqBwCijHrsDzMDMcpZkjjfsQfj1I0tsc0a8eBScj5IKnj1IfJzGsvpmoCskwKjjzqyCTspmoCssaiazoRgOSy0EV3bTmvyl1ZklSnJDZO9EVdAzQWMoDjTIOnJDZO9EVdAzQWUxZL0kIYPLWz5Bg7Mr79Eh0YuHDVMlPvejHZY3m2nJ279oOLPcBfvXNcJd3m2vbWYtmHHq8PW4WY6mduQG41lgT37Dqltf2kQKWz5BgBXb5jMWqqcNLlvlfGmSS6In42DnnJ279oOLPcBfvPkSzSfhKNycdH2Aaqy0PuOIclRUy0EV3bTmvyl1M(MXoYwOTIQuf2XSJ0uzKr79Eh0YuHTCpRSWW2m2rA2XSfe0A8YsfvXNcJdJjsMIvaoXkgT37Dqltf2uk5JUzSlXGbOmVStm12vbWYPdfbsGGY6Ck8OqED12IdYtmHHqEab6YUi0iw2fQTbydQTRxbWMrfRESvVOyRX3nfJ279oOLPcBXpdWwL6Bg7iJ279oOLPcBMqCziaFZyJbdqzEP4NbyRs9y6QwTDvaS8maHtvwdZaLkiEnQTRNhqMcGdXRbBNHimnotoRgOErXO9EVdAzQWopyiTzSXGbOmVStTT4G8etyiiP1Hw64cuwppGmfahIxd2gmOWBvVOy0EV3bTmvyNx92AaqyBg7iInAV37GwMkSZREpy3m2yWauMxsJA7Qay5zacNQSgMbkvq8AuBxppa41cdIxd2wDaiEuv1lkgT37nD6sAfrBg7sfvs4S8Tq7iz2qZwOTuB6f7y2LLDBATvujHZYl2cTLAtVy0EV3SckzcXLHa8I9O9EV51cb20PlPveTzSPtxsRiAl0USBhZMjexgcWbxxttXE0EV3WagCpAV379EVzfuMhmK2mySBkgT379EV38AHaJ279EV379EVPtxsRiAZytNUKwr0wODxMn0mAV379EVHbm4O9EV379EV3BwbL5vVhSfJ279EV379EV51cbgT379EV379EV37nD6sAfrBgB60L0kI2cTl72XSZREBnaimW110umAV379EV379gc0A0EV379EdbAnAV3BiqRr79E3R5sAfr50s4S8nJnLs(OBH2Y9SYcdBdUDKr79E3R5sAfrs4S8nJDPIkjCw(wODKmBOzl0UxZL0kIYPLWz5f7y2LLD0srLeolVyl0UxZL0kIYPLWz5fJ279ghYbHdSlRhlz2jq8wVq8iqJRqXll71CjTIijCwEm0PlPvevaUUMMMIrqGwJgnA0OrJgnA0OrJgnA0OrJgnA0OrJgnA0OrJgnA0OrJgnA0OrJgnA0OrJgnA0OrJgnA0OrJgnA0OrKKQ4jqagKtYrRinKeomkRgOxftijXHXHtsCC2OrH4KEsIRIjKKW4uCqyKKoUaXdiOI0MKGGhcWjjjTo0shxGDfW1rXHyy7YetyiuqsaukqmspjxhjLpkalhs4KegtyiKJsbsY111fbmjjqyWSWycdHCukqsBscegmlwaWdXXGK2KeimywGay5K2Keiai4HaCsIcextsGay5KeNcpkKtsTGIajqqVkMqsk(zeBXoTRcSeojbcGJZgnkeN0tsymHHqokfijxxxxeWKWjP4Y2IxlH2ztteAAatXQUtSkfUWRSYkjcOv20qsc0aCsQnvSQ1cJIKaaP0JZgnkehJKRJKIt8eiadYj5OvhnIrs1czJwlNqBAeUWPjIynzxD1Ivnnnnneb0k7kjj2wKKKwreimoRgGKcAQwKEscegml5afggPnjHRdqspjPakWzj9eoHtsGWGzbabpeNiIKaHbZcJjuM0MKWycLj9Keglq0aKKlcHtsYbkmmspjHXcenajPypdXPoHt4eojbEsUUSBAiCcba

With that out of the way, I wanted to write a little bit on the factors that go into determining how much damage Combustion can do.  The obvious factor is ignite damage, but how much damage ignite does is not a straightforward thing.

Let’s suppose you have 20% mastery, which means that ignite would be a four second DoT equal to 20% of the damage of the spell that just hit. For purposes of combustion, that’s equal to 10% every two seconds. Put another way, if you hit a target with a fireball for 100000, two seconds later it would be hit again for 10000, and two seconds after that for another 10000.  If you cast a combustion at that point, each tick of the combustion would be 5000 damage (though it could crit), applied every second or so.  Thus, the total combustion DoT damage, assuming no haste and no crits, would be 100000.

That’s just with one spell.  Things get complicated when you cast two spells in a row, because the ignite stacks on the target.  If the first fireball hits for 100000, and the next one hits for 100000 two seconds later, the initial ignite will have 10000 remaining on it.  This will be added to the new ignite, making it tick for 15000.  A combustion at this point would tick for 7500, for a total of 150000.

Fireball’s cast time is such that if you continually cast fireball, it will land just after the first ignite tick from the previous fireball hits.  Continuous fireballs have the effect of slowly increasing ignite damage to a limit of twice the initial ignite.  That is, if you cast fireballs continually, have zero crit, and every fireball hits for 100000, you will start with ignite ticks of 10000, and over time it will approach an ignite tick of 20000. This would, in theory, result in a combustion DoT total of 200000.

Of course, fireballs are not the only thing that mages cast, and sometimes they crit. Up until now I’ve used the unrealistic figure of 100000 as a fireball hit, just for ease of demonstration. Let’s cut that in half to a more realistic total of 50000. With fireball hits you would approach an ignite tick value of 10000. So let’s assume you’re at that figure and you get a fireball crit for 100000.  This will increase the ignite value to 30000 (10000 from the existing ignite’s remaining tick plus 20000 from the crit), or a tick of 15000.

Now let’s go on from there and see what actually will happen when you get a fireball crit.  At that point, the ignite tick is 15000 and you are in the middle of casting your next fireball.  That fireball may hit or crit, but let’s assume it hits for 50000.  You, the good fire mage that you are, will also cast an inferno blast, which will hit for about 40000, and will give you the Pyroblast! buff.  These two spells will add 18000 to the ignite stack; 18000 + the existing 15000 = 33000, for an ignite tick now of 16500.  At this point you would cast Pyroblast, and it would hit for 100000 after another tick of the ignite is gone.  You now have an ignite of 16500 + 20000 = 36500, for an ignite tick of 18250.  If that Pyroblast critted for 200000, you’d have an ignite of 56500 total, or a tick of 28250.

If you then cast fireballs and they all hit, the ignite will slowly work its way back to 20000 total, shaving off half the difference each time.

But we don’t always just cast fireballs, pyroblasts and inferno blasts.  Sometimes we burn a second to cast a living bomb. Sometimes we cast Ice Barrier, or Incanter’s Ward, or Invocation.  Invocation will wipe out your ignite stack as it currently stands.  With a single global cooldown spell like Ice Barrier or the reduced global cooldown of Living Bomb, the cast by itself will not wipe your ignite stack; there will be less than four seconds between fireball strikes.  If, however, you cast two of these things in a row, the combined cast times of these spells plus a fireball will very likely wipe your ignite stack, forcing you to start over.  The upshot: don’t cast two such spells in a row while combustion is off cooldown.

I started thinking about Combustion again for a couple reasons.  First, I was convinced that I was overthinking it, and perhaps I would just be better off casting it immediately after it came off cooldown, regardless of the ignite stack. Second, I was dissatisfied with my understanding of the mechanic and how I used it.

When running with my new WeakAura, I’ve noticed a few ranges for the expected combustion values.  Normally it sits around 200k total. After a Pyroblast! buff sequence with a pyroblast hit, it hope up to the low 300s.  If the Pyroblast crits, it hops into the mid 400s.  And sometimes it will hop up to around 700k, if I get really lucky.

I think I find myself waiting for those 700k combustions too much, when I should just take the mid 400s combustions.  Let’s consider the case above when Pyroblast! crits, and there’s an ignite tick of 28250.  In order to add to that ignite, I’d have to have a spell that hit for over five times that, and the only spell that qualifies is another pyroblast crit.  Not casting combustion at that point is banking on getting that crit, and getting that crit soon.  I’m convinced that, in general, after a pyroblast crit is a good time to cast combustion.

Of course, other things enter into it as well.  Heroism is a straightforward 30% increase in combustion value. Incanter’s Absorption and Invoker’s Energy don’t change the DoT component, but having them up while casting the previous spells makes for bigger ignites. Crit and haste buffs from trinkets also affect combustion’s value.  My sense is that the ideal time to cast combustion is at the tail end of these buffs, which allows you to build as big an ignite stack as possible.

So on the whole I think it’s still worthwhile to think hard about combustion and figure out good times to cast it.  Strategic use of combustion is going to result in much higher dps than just casting it as soon as reasonably possible. But having looked at it more thoroughly, I remain convinced that I do not cast combustion quickly enough.  Huge combustions are really nice to get, but I think the sweet spot is the single pyroblast crit. Waiting for anything more is greedy.