Get the Desktop App for Battle.net Now
- All your games in 1 place
- Log in once
- Automatic game updates
Hello there fellow math connoisseurs of the Healing community!
I was tinkering around in my head today about how I would factor in Spirit procs. into the current mana regeneration formula so that I could have a nice stable formula that would require me to just plug the initial numbers in and be able to see regen across a given fight by graphing the formula.
Currently, I am going with Derevka's regeneration formula from August 2012
Combat Regen = Total Mana *0.02 +(1.1287*SPI*50%)
For credit sake I found this formula on Derevka's blog Tales of a Priest:
While this works fine for stable mana pools, I was thinking of ways to change it to take into account spirit proc trinkets and abilities. I started with the following formula
Combat Regen = Total Mana *0.02 +(1.1287*(SPI+(X))*0.5)
After deciding that the best method would be to just plop a variable onto the static spirit pool, I proceeded to work on what needed to be substituted in for X to fulfill the outcome I wanted. This is where I ran into a little bit of a problem. I created a hypothetical trinket to give some nice numbers to plug into this formula to test. I utilized the following:
Theoretical Spirit Trinket
Now my basic algebra skills tell me that the following would give me the theoretical Spirit that the above mentioned proc. would give over the course of 300 seconds.
Bascially I thought that by distributing the 2500 Spirit across the full 45 second cooldown I'd be given the Spirit/Second; then, by simply multiplying that by the duration of any given fight, I'd get the spirit provided by that trinket for the specified fight. However, after some thought, I felt this was incorrect logic and a very blunt approach to something that has more subtlety to its methodology.
My main sticking point was that for every 1 second that the proc. is not on cooldown there is an 80% chance that it will proc, and doing a simple 80% of the theoretical spirit over the course of a fight [.8(Fight_Duration(Spirit_Buff/Cooldown_ICD))] seemed even worse than the original calculation.
TL;DR: I was wanting to get some input and assistance in how you would setup a formula that would take into account spirit proc. trinkets that would include their percentage proc. rate (80% proc every 1 second while not on cooldown, for example) and how could this additional Spirit formula be plugged into the existing mana regeneration formula to show the linear Spirit regen along with the volatile procs of a trinket such as Relic of Chi-Ji.
I'll keep tinkering with this idea, any help and/or clarification on my mathematics that could be provided would be GREATLY appreciated!
Edited by Breunor on 2/13/2013 10:54 AM PST
The proc nature of it gives it an error margin - you're never going to see the exact same uptime for every fight.
Look at a few logs, take the average time between procs, use that to come up with an average value for the proc. It'll be accurate to within the practical error margin.
Happily, they're fixing that in 5.2! :D
They are? OMG FINALLY. My offspec is holy so I don't use it often, but that annoyed me to no end. I'm so glad they are fixing it.
(Duration of the proc) * (Proc amount) / (Internal Cooldown)
Using your arbitrary example, 15*2500/45 = 833.33 Spirit. This is an average stat bonus skewed towards the minimum.
To get a precise result:
(Total uptime) * (Proc amount) / (Duration of encounter)
Using your arbitrary example, you will get 7 procs thus:
(7*15)*2500/300 = 875 Spirit.
Notice that, despite the proc nature of the trinket, the amount of procs you can generate per fight is nominal, thus the uptime error is generally academic. This mostly becomes an issue only when a proc becomes clipped by the encounter length.
That's sounds way worse than just using WoL's:
Go to a log of a fight (or multiple boss fights you were in and didn't die early). Go to buffs gained. Find the trinkets buff. There is a %uptime. Multiple that % by the size of the proc... that's the average proc value. Done.
If nothing else, this should be the gold standard that you compare whatever mathmatical model you create.
I would think of it like this:
You have a proc
You have a CD-downtime
You have a waiting for proc downtime
The proc duration is set, the duration it is on CD because it is on ICD is set, the waiting for proc downtime is variable.
The value of the proc is:
[Proc Duration]/[time between procs]
[time between procs] = [ICD]+[average based on proc chance divided by opportunites per unit time time]
[average based on proc chance divided by opportunities/time] = well average number of times you have to do something before you get the desired result based on probability p is 1/p.
So: Average time = 1/(p*[events/sec])
Thanks for the response you guys! It's helped clarify some of the issues I've ran into.
Also, I guess I should clarify, while I understand it isn't the 'best' method, I just wanted to see if it was possible to set up a nice little formula --just for my own enjoyment of working on figuring it out. I just wanted to challenge myself!
Applying my math skills to something that I enjoy helps keep me in practice, interested in the numbers, and better able to understand the numbers as they change. So, I thought what better way than with WoW.
back to tinkering with this, I'd like to be able to make a visual graph to demonstrate how the trinket affects the base spirit regen, or at least that's what I'm aiming for.
Threats of violence. We take these seriously and will alert the proper authorities.
Posts containing personal information about other players. This includes physical addresses, e-mail addresses, phone numbers, and inappropriate photos and/or videos.
Harassing or discriminatory language. This will not be tolerated.