Behavior of DoTs and Haste in Warlords of Draenor

Among the various bits of mechanical info that’s been revealed about Warlords is the fact DoTs and HoTs will no longer have “haste breakpoints” and will no longer “snapshot” your stats at cast time. Celestalon has mentioned this a few times on twitter and frequently responded to questions about it. Since a lot of people seem to have questions on how the math of this breakpoint-less system will work, I want to to explain some of the behavior that will result from this. First, a brief history of this whole problem.

Current System: Haste Breakpoints and Rounding

Before Cataclysm, haste generally did not affect the rate of DoT ticks. There were a few exceptions, such as the Glyph of Rapid Rejuvenation that caused the tick rate of Rejuvenation to be affected by haste. But this did so by shortening the total duration of the HoT and keeping the number of ticks constant, so it didn’t have to address the big question of DoTs and haste: what do to with the fractional ticks that appear when you do this?

When Cataclysm introduced a general mechanic whereby DoT ticks would be accelerated by haste, it handled this problem by changing the duration of the DoT, rounding it to the nearest integer number of ticks.

To work an example: say a DoT has a 12-second duration and a tick period of 3 seconds. Unhasted, when you cast the DoT, a 12-second debuff appears on the target, and the 4th tick will occur exactly as the debuff expires. If you add 25% haste, the tick period will decrease to 2.4 seconds (3/1.25). Since 5 ticks at 2.4 seconds is exactly 12, you will still get a 12-second debuff when you cast the DoT, and now it will be the 5th tick that occurs as the debuff expires. But what if you only had 20% haste? Now the tick period is 2.5 seconds (3/1.2). Since there is no system in place for handling partial ticks, the game can either give you:

  • A 4-tick DoT that lasts 10 seconds, or
  • A 5-tick DoT that lasts 12.5 seconds.

In fact, you get the latter. The game rounds to the closest whole number of ticks, and since in this example, the 5-tick option is closer to the default duration of 12, that’s what you get.

Finally, if you had 12.5% haste, the tick rate would be 2.667. So a 4-tick DoT would be 10.67 seconds, and a 5-tick DoT would be 13.33 seconds. These are equidistant from 12, and this is the oft-discussed “breakpoint.” At any higher amount of haste, you get 5 ticks, and at any lower amount, you get 4.


Continue reading

Theorycraft 101: 5.4 Trinkets

Blizzard’s pattern of trying to make more interesting raid trinkets in MoP has provided a lot of interesting theorycraft material. As in past Theorycraft 101 posts, the goal is here both to give theorycrafters some useful conclusions and equations to save them the trouble of reinventing them independently, and to give everyone some general information that helps them evaluate these new bonuses when selecting items.

Item Budgets

In general, the amount of any stats budgeted to a certain slot scales like:

V \cdot Q^I

  • V is the budget value controlling how many stats that item slot gets compared to other slots.
  • Q is a constant equal to the 15th root of 1.15.
  • I is the item’s ilvl.

Often a more convenient way to think of this, especially when dealing with trinkets, is to use ilvl 463 as a baseline. The reason is that most trinket procs are coded into the spelldata with ilvl 463 values (which is the pre-raid baseline for MoP), and then scaled from there on any individual item based on its ilvl. The Int proc on Nazgrim’s Burnished Insignia, for example, is this this spell. So in general, since looking up the ilvl 463 value for any proc/bonus on Wowhead is easy, you can think of the value at higher ilvls as:

V_{463} \cdot Q^{(I-463)}


V_{463} \cdot 1.15^\frac{I-463}{15}

Continue reading

Theorycraft 201: Advanced RPPM

This is a continuation of my Theorycraft 101 post that introduced trinket uptimes and RPPM. I’m going to assume here that you read that post. The main audience for this post is people trying to any theorycraft work, whether making a full-blown spreadsheet or simply doing a standalone calculation about some trinket. You should be able to find the equation you need here without needing to redo a lot of work.


A bit of terminology from last time:

  • PPM is the proc’s built-in PPM constant.
  • H is your haste factor (1 + your average haste %)
  • D (used below) will be the duration of a buff

Our first basic conclusion was that if you ignore the possibility of proc overlaps, the uptime of a proc is:

PPM \cdot D \cdot H / 60

We called this value \lambda  (lambda) for any given trinket. It’s a good approximation of uptime as long as uptime is low (overlaps are unlikely), and it will also come into many later results. Conceptually, \lambda  is the ratio of the buff’s duration to its mean proc time.

The next conclusion was that if you account for the possibility of overlaps, the uptime is:

1 - e^{-\lambda}


Continue reading

Theorycraft 101: How to Compute Uptime of a Proc-based Buff

Update: There is now a continuation of this post here, which gets into some more detail and trickier topics.

About a year ago I did a few posts in a series I called “Theorycraft 101”.  The basic point is to have post outlining basic computations/formulas I use in making spreadsheets and like, so other people who do these things don’t have to reinvent the wheel.  I think there’s often not a lot of communication across classes on these things, so I want to make non class-specific references for things that come up a lot.

For reference, here are the past ones:


Today’s Topic: Proc Uptime

Blizzard recently posted a description of a new system for procs, used for Windsong and presumably other similar new enchants.  We’re going get to the details of the new Windsong at the end.  For now, some short background.

Continue reading