Demonic Pact Proc Times:
The typical proc time in the copious logs (of mine) I've combed through is 0.5-0.7 second. I have not seen proc times of 1 full second or higher (others' latency may vary). Therefore I doubt that a >1.2sec proc time is a plausible explanation, excepting an extraordinary coincidence. It's an interesting conjecture though, and I appreciate being reminded of fight mechanics I need to watch for in my log analyses (such as tear gas). Another thought it brings to mind is the question of latency and whether the time stamps always represent the timing of events server-side; perhaps some one knowledgeable would comment.
Here is another case of DP not proc'ing (I have a handful of these), this time in a Valithria fight, where there are no stun/phase-change effects that would prevent a proc, that I know of. As before, the existing DP faded and two subsequent crits did not proc a new DP. Flaatom had not proc'd a DP yet in the fight and so could not have been on CD.
WoL ICC 25 Apr18
[23:52:52.863] Keevegen's Demonic Pact fades
[23:52:53.220] Flaatom's Demonic Pact fades
[23:52:53.744] Flaatom crits Gluttonous Abomination *2867*
[23:52:58.871] Flaatom Cleave Gluttonous Abomination *3488*
[23:52:59.210] Keevegen crits Gluttonous Abomination *2067*
[23:52:59.687] Keevegen gains Demonic Pact from Keevegen
[23:53:00.039] Flaatom gains Demonic Pact from Keevegen
I haven't yet spotted a non-proc in a one-DP-lock raid; I'm still looking.
Spell Power & DP Proc Mechanics:
Expected DP procs based on spell power are quite straightforward to determine -- that was the point of supplying the SP data in my original post. At any given time, total spell power comes from gear + constant buffs + dynamic buffs.
Here's how:
1. Determine the difference in raid-buffed spell power* values between the two warlocks. I did this using SimulationCraft:
Warlock K raid-buffed spell power (including glyph_life_tap) = 3942
Warlock F raid-buffed spell power (including glyph_life_tap) = 4038
*Raid-buffed spell power here means gear + all constant buffs (including pets, food, flask, those from optimal_raid, and in my simulations I apply glyph_of_life_tap before the snapshot is taken).
Note that the raid-buffed values account for all multiplicative effects on SP, unless I am overlooking something. The dynamic buffs are all additive, and this is why the subsequent calculations can be based on the *difference* between the two base SP values [4038 - 3942 =
96] rather than requiring the values themselves. Examples of both approaches are shown in the steps below. In my original post I gave a difference of 150 SP between the two locks to be extra conservative (the larger the difference, the larger the potential impact on whose final SP is greater).
2. Confirm that constant buffs relevant to SP that are listed in the log match those used by SimC and are applied to both warlocks (e.g. Totem of Wrath and Flametongue are disabled in my simulations).
3. Add in dynamic spell power buffs. According to the log, the following dynamic buffs were active:
(a) at 22:45:24:816 (time of DP proc in Entry 1 from table above)
Warlock K: 3942 (incl LT) + 180 cultivated power =
4122 SP
(b) at 22:45:26:076 (time of crit by Demon F in Entry 2 from the table above):
Warlock F: 4038 (incl LT) + 285 frostforged sage + 765 dying curse =
5088 SP
Again, note that dynamic SP buffs are additive. This means that instead of using the actual raid-buffed SP values, the relative values of zero and 96 could be used as the base values to which dynamic buffs are added. This is because we do not need to know the actual SP numbers, we only need to know whose final SP is greater.
For example (see Entries 1 & 2 from original table):
Warlock K: 0 (base) + 180 cultivated power = 180 SP
Warlock F: 96 (base) + 285 frostforged sage + 765 dying curse = 1146 SP
Note that (1146 - 180) = 966 = (5088 - 4122).
For the cases highlighted in the original post (Entries 2, 16-18, 24) the outcome (i.e. the determination of whose SP is greater at the time) is independent of which warlock starts with zero versus 96 because either way the difference of 96 is very small compared to the trinket procs of 765 SP for one warlock or 590 SP for the other warlock. For the same reason, using the approximated 150 base value provided in the original post leads to the same outcome of whose SP is greater for the highlighted cases.
4. Draw a conclusion. In this case, Warlock F was at a substantially higher spell power at the time of crit and so DP should have been overwritten *if higher spell power necessarily wins*.
Constructive feedback, such as specific suggestions as to what contributions to SP may be missing from, or incorrectly accounted for, in the above calculations would be great.
5. Toss in some what-ifs (multiplicative calculations require actual SP values).
(a) What if DP was erroneously included in Warlock K's spell power? Then:
4122 + [10%(4122)=412] = 4534, still less then Warlock F.
(b) What about the 5% bug that boosts the first application of DP? (disclaimer: I have not paid careful attention to the details of this; I'm throwing in an extra 5% anyway, and applying it *after the initial 10%* just to get the largest number possible). Then:
4534 + [5%(4534)=227] = 4761, still less than Warlock F.
As noted in the original post, not knowing the SP values that Blizzard is using prevents us from knowing with certainty how the proc mechanic is actually working. It does *not* prevent us from determining whose SP value should be highest at any given time and then seeing if there are apparent inconsistencies with the proc's in-game.