[TC] RPPM is Bugged! (on the Pull)
Posted: Sun Feb 14, 2016 11:42 am
TL;DR: The Real-Procs-per-Minute (RPPM) system does not work according to Blizzard's formula. It is bugged until the first proc of a boss fight. It's been bugged since 2 years ago when they introduced the "raid boss on-pull reset", and will most likely stay that way until 7.0. This means all math, formulation or simulation based opener theorycrafting for the past 5 raid tiers have been wrong.
This bug is a theorycrafting topic that has spanned over a year. It is one of the reasons why we have insane opener bursts in game right now with Prophecy of Fear and Soul Capacitor.
-------------------------------------------------------------------------------
EDIT: Celestalon has made a response at http://us.battle.net/wow/en/forum/topic/20742444392#2" target="_blank . This bug will be fixed in 7.0, along with major tweaks to RPPM.
Author's note: This is a technical post that explains a bug and its discovery by the SimulationCraft team. It is aimed at theorycrafters or veteran players of all classes who wish to understand in-depth game mechanics. It is not meant as a guide, and does not provide any game advice to players.
Intro In March 2013, Blizzard released a new proc mechanic with the patch 5.2 "Throne of Thunder" raid tier, called "Real-Procs-Per-Minute" (RPPM). To avoid players gaming the proc system for on-pull trinket procs, they introduced an on-pull "RPPM reset" effect for raid bosses.
When Blizzard added this "RPPM reset" effect, they also introduced a bug. The bug significantly increases the chance of all RPPM effects to proc on the pull, beyond the intentions of the reset. This creates the stacked-trinkets-and-weapon-enchant-and-everything-else insane opener effects we see right now, when according to Blizzard's formula, these were never meant to happen.
RPPM as we know it Before going into details, first we'll look at how things are supposed to work. Taking everything we know into account, the full RPPM proc chance formula is as follow:
Note the two main inputs that affect the proc chance: the RPPM proc rate, and the time since the last proc attempt (up to 10.0 seconds). This is consistent with RPPM's design goals: More time between spells equals a higher chance to proc. More importantly, the chance to proc the effect over a certain amount of time is unchanged, regardless of proc attempts. In other words, you get the same amount of procs if you try to proc the trinket 100 times a second, or once a second.
What's the Bug? After time_since_last_proc_attempt is set to 10.0 on the pull, it is fixed at that number until the first proc of the pull occurs.
Before explaining the consequences of this bug, first I will present show some evidence to establish why and how we know this bug exists.
Case 1: Consecutive proc attempts on-pull
Much thanks to the efforts of Skiz from our forums, we have data from 73 pulls of Marrowgar, using the Prophecy of Fear trinket. The trinket has a 0.9 RPPM proc rate, and only triggers on direct damage spell impacts. The details of his test can be found at https://altered-time.com/forum/viewtopi ... =180#20115" target="_blank
Using his data, we calculate the proc chances for the first 4 spells:
According to the formula, this is what should happen instead:

Why is there such a huge drop-off in proc chances according to the formula? This is because after the first spell, the time_since_last_proc_attempt variable is reset. For the 2nd spell onward, time_since_last_proc_attempt goes from 10.0 to 2.25. All else being equal, it is normal for the proc rate drop 80% from the previous value. This dropoff is closer to 90% in game, due to high haste levels and Bloodlust causing ~1.0s cast times.
As noticed, the proc chances in game for the 2nd spell onward are ~5x the computed values. This is consistent with player experience in game; trinkets almost always proc within the next three spells, if they do not proc immediately on the first spell. The formula is most definitely wrong.
Case 2: Absurdly high on-pull proc rates during ToT, SoO, BRF
During ToT, SoO and BRF, players observed an extremely high chance for trinkets to proc on the first spell. The earliest evidence I could find of this bug is a post made on battle.net in 2013, regarding the infamous Unerring Vision of Lei Shen trinket:

Unfortunately, I don't have any data on from ToT. I do however have some from Blackrock Foundry wipes. Here is a log of 24 Operator Thogar wipes, in which at least one (usually two) RPPM trinkets procced within the first second, for 23 out of 24 pulls. The only exception had a trinket proc within two seconds.
https://www.warcraftlogs.com/reports/Fa ... iew=events" target="_blank

Under the existing formula, the chance of this happening is less than 10^(-10) = 0.00000001%. You'd have a better chance getting struck by lightning thrice in a row.
Case 3: BRF buff trinkets have higher first-spell proc rate than HFC buff trinkets
In Blackrock Foundry, there were three buff trinkets available to casters, all of which are 0.92 RPPM. In Hellfire Citadel, there is only one available, at 1.00 RPPM. I took both to Icecrown Citadel to test their first attack proc rates. In theory, Desecrated Shadowmoon Insignia from HFC should have a much higher proc rate than Darmac's Unstable Talisman (41.67% vs 30.97%). In practice, the reverse was true.
https://www.warcraftlogs.com/reports/Kw ... type=auras" target="_blank

Note: The percentages in the screenshot are coverage, which is higher for DSI due to its 20 second duration.
It's worth mentioning that the proc mechanism for BRF trinkets have been tweaked since 6.2 was released. Changes were made to prevent players abusing the "back-to-back trinket proc" trick. (https://altered-time.com/forum/viewtopic.php?f=2&t=2009" target="_blank) It seems like as a collateral effect of those changes, they no longer have the 80-90% proc rate on pull seen during BRF progression. However, the value is still much higher than the calculated 30.97%.
How does the bug change things? The most important difference is that RPPM no longer does its job correctly on the pull. More specifically...
1. Casting more, faster spells on the pull will speed up getting the first proc. This might sound normal, but it really isn't meant to happen, and it goes entirely against the design intent of RPPM.
2. Low RPPM effects are buffed by this change, while high RPPM effects are penalized. Trinkets such as Unerring Vision of Lei Shen, Prophecy of Fear for Arcane Mages, 4T17 for Fire Mages are buffed by this change, while Unblinking Gaze of Sethe and Felmouth Frenzy gain nothing, since they proc on the first trigger anyway.
3. Some passive spells that had no effect on proc chance, now contribute to increased proc rates. If you play an Arcane Mage, you'll notice that Unstable Magic and Prismatic Crystal AOE pulses can apply Mark of Doom on enemies. Under the original RPPM formula, this is impossible, because 0.0 seconds has passed between Arcane Blast landing on a target, and Unstable Magic/Prismatic Crystal AOEing surrounding enemies. The proc chance should be 0.0%. Due to this bug, that is no longer the case; UM/PC have a ~30% chance to apply Mark of Doom as long as the source Arcane blast failed to trigger it.
4. RPPM effects that are triggered by spell casts instead of spell impacts (ie. Blackrock Foundry trinkets) have a massively inflated chance to proc early. This is because all buff applications are considered as spell casts. As many players have noted, Incanter's Flow is capable of triggering BRF caster trinkets but not HFC trinkets. This means that weapon enchant procs, spell procs such as Arcane Missiles, or even triggering the other trinket, can all trigger BRF trinkets. Originally, all of these would have a proc chance of 0%, due to zero time passing between them. The bug however makes all of them individual valid rolls with a legit ~30% chance to proc. This is equivalent to using multiple dice for a single roll.
This bug also has significant consequences for theorycrafting:
1. All existing math regarding openers with RPPM trinkets is completely wrong. If you are a theorycrafter who builds a spreadsheet or tool that models your class, you will need to make updates and account for this on-pull effect.
2. All theorycrafting based on SimulationCraft older than version 6.2.3 release 2, or Feb 5th, 2016 developer build, are inaccurate for openers. This applies especially if customized action lists were made to take advantage of RPPM trinket effects on the pull. In particular, Prophecy of Fear and Soul Capacitor users will likely find noticeable differences in simulation behavior.
3. All trinkets with non-standard proc triggers (notably, Prophecy of Fear and maybe BRF caster trinkets) will continue to have inaccurate first proc timings in SimulationCraft. This is unavoidable, because SimulationCraft's definition of valid proc events cannot match in-game proc events perfectly. Blizzard's definition of valid proc events is not standardized (as seen from Icicles being able to trigger Doom Nova until a hotfix), making it very difficult for SimulationCraft to model the same behavior without access to WoW's server-side source code. If the bug did not exist, the proc behavior would not be dependent on the number of trigger events, and this would not be an issue.
(As a side note, #3 means that accurate opener modelling for Arcane Mages within SimulationCraft will continue to be impossible.)
SimulationCraft This bug was first studied in detail by SimulationCraft project members in early 2014, around the time of Blackrock Foundry's release. It was clear the computed 30.97% chance for trinkets to trigger on a first spell was wrong, compared to ~80% in game. Testing was extremely difficult, because there were no alternative trinket proc events to compare against, and it would have taken several hundred boss resets to gather enough data for study. Investigation soon halted due to a lack of progress. The team eventually settled on manually changing the RPPM reset effect to 180 seconds, forcing a much higher proc rate on the pull to match in-game results. This wasn't without problems - Fire's 4T17 set bonus had a 0.7 RPPM proc rate, showing that this 180 second figure did not match with reality.
During patch 6.2, this issue was revisited using Prophecy of Fear, which has a 0.9 RPPM proc rate for Arcane Mages. Prophecy of Fear is unique in that it applies a debuff to a target, instead of buffing the player. This means that the only valid trigger event is damage dealt to the target. This is an isolated proc mechanism that doesn't receive interference from player buff events - a big problem that had plagued BRF trinket testing. This allowed us to properly test and record proc rates for successive spells, forming the conclusions of this thread.
As of SimulationCraft version 6.2.3 release 2, sims now reflect in-game behavior. The RPPM reset has been reverted back to 120 seconds, and the last proc attempt time is fixed at 10 seconds until the first proc occurs.
What's Blizzard going to do about this? Nothing, most likely. They probably won't do anything about this until Legion's 7.0 prepatch.
If this bug is fixed right now, Prophecy of Fear will only have a 63.75% total chance of proccing within the first 10 seconds of a fight. The total chance to proc within 15 seconds is 86.44%. In other words, it is possible for the Nithramus to run out before we even see our first proc. Similarly, Soul Capacitor will have ~64.58% chance to proc within the first 5 seconds. This means that almost a 1/3rd of the time, Spirit Rush will absorb most of the damage done during Maalus along with the explosion, unless they manually click it off - a complete disaster for most agility classes. This behavior is simply too disruptive a change right now, and very unlikely to happen.
As a side note, it is worth pondering how this bug even happened. How did we have such a broken mechanic for 2.5 years, without notice from the devs? What kind of testing is taking place behind their doors, such that trinkets with 2.5x normal proc rates on the pull don't get caught? Is balancing being done without taking into account these bugs, that vastly inflate the power of classes such as Arcane Mages and Subtlety Rogues? How did we as a community accept this as normal for 2.5 years without questioning things? These trends are bad news for both devs and TCers. Maybe this is testament to RPPM's status as one of, if not the most confusing mechanic in the game. I only hope that things are transparent and well tested in Legion, such that we never run into such a situation ever again.
FAQ Q1: I don't get what the fuck you're saying. How does it matter to me?
A1: It doesn't matter to you. Move along.
Q2: This post is so complicated! Can't you ELI5?
A2: Not really, no. RPPM is very convoluted and complicated.
Q3: I actually want to understand how this works, but RPPM is confusing.
A3: Start with reading the following posts.
Daxxarri's introduction to RPPM
Nethaera's announcement of Unlucky Streak Prevention
Lore's announcement of RPPM adjustments and reset-on-pull
Hamlet's blog analysis on RPPM
Hamlet's blog analysis part 2
Q4: This doesn't make any sense, the real way trinket procs work is...
A4: No.
Q5: I am a class theorycrafter. How does this affect my work?
A5: If your math previously didn't take into account on-pull effect stacking, you might want to look into that. If your class is using powerful RPPM trinkets such as Soul Capacitor, Desecrated Shadowmoon Insignia or Prophecy of Fear, you may want to adjust your analysis using new on-pull assumptions.
If your theorycrafting was done without math, then you can refer to A1.
Q6: I am a SimC class module maintainer. What do I have to do?
A6: Check your gear profiles if they are not using RPPM trinkets - they may sync with rings better now. Fix your APLs, especially if they involve opener optimizations.
Q7: So what is the new optimal opener? Is it...
A7: Please send all opener questions to /dev/null.
Special thanks to many members of Altered Time (both forums and chat), SimulationCraft, and many others who helped find this bug. Without you, we'd still be in the dark.
This bug is a theorycrafting topic that has spanned over a year. It is one of the reasons why we have insane opener bursts in game right now with Prophecy of Fear and Soul Capacitor.
-------------------------------------------------------------------------------
EDIT: Celestalon has made a response at http://us.battle.net/wow/en/forum/topic/20742444392#2" target="_blank . This bug will be fixed in 7.0, along with major tweaks to RPPM.
Author's note: This is a technical post that explains a bug and its discovery by the SimulationCraft team. It is aimed at theorycrafters or veteran players of all classes who wish to understand in-depth game mechanics. It is not meant as a guide, and does not provide any game advice to players.
Intro In March 2013, Blizzard released a new proc mechanic with the patch 5.2 "Throne of Thunder" raid tier, called "Real-Procs-Per-Minute" (RPPM). To avoid players gaming the proc system for on-pull trinket procs, they introduced an on-pull "RPPM reset" effect for raid bosses.
When Blizzard added this "RPPM reset" effect, they also introduced a bug. The bug significantly increases the chance of all RPPM effects to proc on the pull, beyond the intentions of the reset. This creates the stacked-trinkets-and-weapon-enchant-and-everything-else insane opener effects we see right now, when according to Blizzard's formula, these were never meant to happen.
RPPM as we know it Before going into details, first we'll look at how things are supposed to work. Taking everything we know into account, the full RPPM proc chance formula is as follow:
Code: Select all
proc_chance = unlucky_streak_prevention *
(rppm / 60.0) *
MIN(time_since_last_proc_attempt, 10.0)
unlucky_streak_prevention = MAX(1.0, 1.0 + 3.0 * (time_since_last_proc * rppm / 60.0 - 1.5))
ON ENTERING RAID BOSS COMBAT:
SET time_since_last_proc = 120.0
SET time_since_last_proc_attempt = 10.0
What's the Bug? After time_since_last_proc_attempt is set to 10.0 on the pull, it is fixed at that number until the first proc of the pull occurs.
Before explaining the consequences of this bug, first I will present show some evidence to establish why and how we know this bug exists.
Case 1: Consecutive proc attempts on-pull
Much thanks to the efforts of Skiz from our forums, we have data from 73 pulls of Marrowgar, using the Prophecy of Fear trinket. The trinket has a 0.9 RPPM proc rate, and only triggers on direct damage spell impacts. The details of his test can be found at https://altered-time.com/forum/viewtopi ... =180#20115" target="_blank
Using his data, we calculate the proc chances for the first 4 spells:
Code: Select all
1st: (15 procs in 73 hits) = 20.55%
2nd: (18 procs in 58 hits) = 31.03%
3rd: (13 procs in 40 hits) = 32.50%
4th: ( 9 procs in 27 hits) = 33.33%
Code: Select all
ASSUMPTION: 0 haste, no cast delay between Arcane Blasts
1st: 28.50%
2nd: 6.75%
3rd: 6.72%
4th: 6.65%

Why is there such a huge drop-off in proc chances according to the formula? This is because after the first spell, the time_since_last_proc_attempt variable is reset. For the 2nd spell onward, time_since_last_proc_attempt goes from 10.0 to 2.25. All else being equal, it is normal for the proc rate drop 80% from the previous value. This dropoff is closer to 90% in game, due to high haste levels and Bloodlust causing ~1.0s cast times.
As noticed, the proc chances in game for the 2nd spell onward are ~5x the computed values. This is consistent with player experience in game; trinkets almost always proc within the next three spells, if they do not proc immediately on the first spell. The formula is most definitely wrong.
Case 2: Absurdly high on-pull proc rates during ToT, SoO, BRF
During ToT, SoO and BRF, players observed an extremely high chance for trinkets to proc on the first spell. The earliest evidence I could find of this bug is a post made on battle.net in 2013, regarding the infamous Unerring Vision of Lei Shen trinket:

Unfortunately, I don't have any data on from ToT. I do however have some from Blackrock Foundry wipes. Here is a log of 24 Operator Thogar wipes, in which at least one (usually two) RPPM trinkets procced within the first second, for 23 out of 24 pulls. The only exception had a trinket proc within two seconds.
https://www.warcraftlogs.com/reports/Fa ... iew=events" target="_blank

Under the existing formula, the chance of this happening is less than 10^(-10) = 0.00000001%. You'd have a better chance getting struck by lightning thrice in a row.
Case 3: BRF buff trinkets have higher first-spell proc rate than HFC buff trinkets
In Blackrock Foundry, there were three buff trinkets available to casters, all of which are 0.92 RPPM. In Hellfire Citadel, there is only one available, at 1.00 RPPM. I took both to Icecrown Citadel to test their first attack proc rates. In theory, Desecrated Shadowmoon Insignia from HFC should have a much higher proc rate than Darmac's Unstable Talisman (41.67% vs 30.97%). In practice, the reverse was true.
https://www.warcraftlogs.com/reports/Kw ... type=auras" target="_blank

Note: The percentages in the screenshot are coverage, which is higher for DSI due to its 20 second duration.
It's worth mentioning that the proc mechanism for BRF trinkets have been tweaked since 6.2 was released. Changes were made to prevent players abusing the "back-to-back trinket proc" trick. (https://altered-time.com/forum/viewtopic.php?f=2&t=2009" target="_blank) It seems like as a collateral effect of those changes, they no longer have the 80-90% proc rate on pull seen during BRF progression. However, the value is still much higher than the calculated 30.97%.
How does the bug change things? The most important difference is that RPPM no longer does its job correctly on the pull. More specifically...
1. Casting more, faster spells on the pull will speed up getting the first proc. This might sound normal, but it really isn't meant to happen, and it goes entirely against the design intent of RPPM.
2. Low RPPM effects are buffed by this change, while high RPPM effects are penalized. Trinkets such as Unerring Vision of Lei Shen, Prophecy of Fear for Arcane Mages, 4T17 for Fire Mages are buffed by this change, while Unblinking Gaze of Sethe and Felmouth Frenzy gain nothing, since they proc on the first trigger anyway.
3. Some passive spells that had no effect on proc chance, now contribute to increased proc rates. If you play an Arcane Mage, you'll notice that Unstable Magic and Prismatic Crystal AOE pulses can apply Mark of Doom on enemies. Under the original RPPM formula, this is impossible, because 0.0 seconds has passed between Arcane Blast landing on a target, and Unstable Magic/Prismatic Crystal AOEing surrounding enemies. The proc chance should be 0.0%. Due to this bug, that is no longer the case; UM/PC have a ~30% chance to apply Mark of Doom as long as the source Arcane blast failed to trigger it.
4. RPPM effects that are triggered by spell casts instead of spell impacts (ie. Blackrock Foundry trinkets) have a massively inflated chance to proc early. This is because all buff applications are considered as spell casts. As many players have noted, Incanter's Flow is capable of triggering BRF caster trinkets but not HFC trinkets. This means that weapon enchant procs, spell procs such as Arcane Missiles, or even triggering the other trinket, can all trigger BRF trinkets. Originally, all of these would have a proc chance of 0%, due to zero time passing between them. The bug however makes all of them individual valid rolls with a legit ~30% chance to proc. This is equivalent to using multiple dice for a single roll.
This bug also has significant consequences for theorycrafting:
1. All existing math regarding openers with RPPM trinkets is completely wrong. If you are a theorycrafter who builds a spreadsheet or tool that models your class, you will need to make updates and account for this on-pull effect.
2. All theorycrafting based on SimulationCraft older than version 6.2.3 release 2, or Feb 5th, 2016 developer build, are inaccurate for openers. This applies especially if customized action lists were made to take advantage of RPPM trinket effects on the pull. In particular, Prophecy of Fear and Soul Capacitor users will likely find noticeable differences in simulation behavior.
3. All trinkets with non-standard proc triggers (notably, Prophecy of Fear and maybe BRF caster trinkets) will continue to have inaccurate first proc timings in SimulationCraft. This is unavoidable, because SimulationCraft's definition of valid proc events cannot match in-game proc events perfectly. Blizzard's definition of valid proc events is not standardized (as seen from Icicles being able to trigger Doom Nova until a hotfix), making it very difficult for SimulationCraft to model the same behavior without access to WoW's server-side source code. If the bug did not exist, the proc behavior would not be dependent on the number of trigger events, and this would not be an issue.
(As a side note, #3 means that accurate opener modelling for Arcane Mages within SimulationCraft will continue to be impossible.)
SimulationCraft This bug was first studied in detail by SimulationCraft project members in early 2014, around the time of Blackrock Foundry's release. It was clear the computed 30.97% chance for trinkets to trigger on a first spell was wrong, compared to ~80% in game. Testing was extremely difficult, because there were no alternative trinket proc events to compare against, and it would have taken several hundred boss resets to gather enough data for study. Investigation soon halted due to a lack of progress. The team eventually settled on manually changing the RPPM reset effect to 180 seconds, forcing a much higher proc rate on the pull to match in-game results. This wasn't without problems - Fire's 4T17 set bonus had a 0.7 RPPM proc rate, showing that this 180 second figure did not match with reality.
During patch 6.2, this issue was revisited using Prophecy of Fear, which has a 0.9 RPPM proc rate for Arcane Mages. Prophecy of Fear is unique in that it applies a debuff to a target, instead of buffing the player. This means that the only valid trigger event is damage dealt to the target. This is an isolated proc mechanism that doesn't receive interference from player buff events - a big problem that had plagued BRF trinket testing. This allowed us to properly test and record proc rates for successive spells, forming the conclusions of this thread.
As of SimulationCraft version 6.2.3 release 2, sims now reflect in-game behavior. The RPPM reset has been reverted back to 120 seconds, and the last proc attempt time is fixed at 10 seconds until the first proc occurs.
What's Blizzard going to do about this? Nothing, most likely. They probably won't do anything about this until Legion's 7.0 prepatch.
If this bug is fixed right now, Prophecy of Fear will only have a 63.75% total chance of proccing within the first 10 seconds of a fight. The total chance to proc within 15 seconds is 86.44%. In other words, it is possible for the Nithramus to run out before we even see our first proc. Similarly, Soul Capacitor will have ~64.58% chance to proc within the first 5 seconds. This means that almost a 1/3rd of the time, Spirit Rush will absorb most of the damage done during Maalus along with the explosion, unless they manually click it off - a complete disaster for most agility classes. This behavior is simply too disruptive a change right now, and very unlikely to happen.
As a side note, it is worth pondering how this bug even happened. How did we have such a broken mechanic for 2.5 years, without notice from the devs? What kind of testing is taking place behind their doors, such that trinkets with 2.5x normal proc rates on the pull don't get caught? Is balancing being done without taking into account these bugs, that vastly inflate the power of classes such as Arcane Mages and Subtlety Rogues? How did we as a community accept this as normal for 2.5 years without questioning things? These trends are bad news for both devs and TCers. Maybe this is testament to RPPM's status as one of, if not the most confusing mechanic in the game. I only hope that things are transparent and well tested in Legion, such that we never run into such a situation ever again.
FAQ Q1: I don't get what the fuck you're saying. How does it matter to me?
A1: It doesn't matter to you. Move along.
Q2: This post is so complicated! Can't you ELI5?
A2: Not really, no. RPPM is very convoluted and complicated.
Q3: I actually want to understand how this works, but RPPM is confusing.
A3: Start with reading the following posts.
Daxxarri's introduction to RPPM
Nethaera's announcement of Unlucky Streak Prevention
Lore's announcement of RPPM adjustments and reset-on-pull
Hamlet's blog analysis on RPPM
Hamlet's blog analysis part 2
Q4: This doesn't make any sense, the real way trinket procs work is...
A4: No.
Q5: I am a class theorycrafter. How does this affect my work?
A5: If your math previously didn't take into account on-pull effect stacking, you might want to look into that. If your class is using powerful RPPM trinkets such as Soul Capacitor, Desecrated Shadowmoon Insignia or Prophecy of Fear, you may want to adjust your analysis using new on-pull assumptions.
If your theorycrafting was done without math, then you can refer to A1.
Q6: I am a SimC class module maintainer. What do I have to do?
A6: Check your gear profiles if they are not using RPPM trinkets - they may sync with rings better now. Fix your APLs, especially if they involve opener optimizations.
Q7: So what is the new optimal opener? Is it...
A7: Please send all opener questions to /dev/null.
Special thanks to many members of Altered Time (both forums and chat), SimulationCraft, and many others who helped find this bug. Without you, we'd still be in the dark.