Intellect -> Spirit Conversion on the PTR : Theorycrafting HQ
Here's my current model for Intellect -> Spirit regeneration.
First off, assume it doesn't matter whether you are a priest or a druid: the modification is made to the SCALING FACTOR. Everything you compute must be based on that fact.
Druids:
(spirit / x + 14) * 2.5 = regen OO5SR from spirit
Priests:
(spirit / x + 12.5) * 2.5 = regen OO5SR from spirit
If you're computing anything, take off static Mp5, ignore every factor but intellect, spirit, and regen ignoring static factors.
Now, having said that, I used Bekah's numbers for priests for the majority of my high intellect computations, and numbers that Shadowed and I (The World of Warcraft Armory) came up with using his character transferred to the PTR. I'm not going to post all the details for now; I have a spreadsheet I'll try to clean up and post later.
Basically, here's the conclusions:
1) Relationship of intellect to spirit is logarithmic. If you have under 300 intellect, you will LOSE regen. If you have over 300 intellect, you GAIN regen.
2) Relationship of factor is quadratic in scaling, to prevent over-scale at the high end.
To find your regen, do the following:
L = - log (int/300)
Factor = Base_factor + (6 L^2 + 7.2 L)
Then (spirit/factor+12.5)*2.5.
I'm not completely happy with the regression curve at the moment, but I'm almost 100% positive that the factor WILL be -log(int/300). The only question is how that factor merges into the actual conversion from your base spirit factor to your actual PTR spirit factor.
The only way to get it more precise is to get a *ton* more data in the range around 300 intellect and down. We need a couple of hundred points in the 110 -> 330 intellect range. Go go.
There's a conversion which seems 99% accurate, computed by Kevan:
Regen_mp5 = 5*0.00932715221261 * sqrt(Int) * Spirit
This computation doesn't come at the problem from a Mana/Tick angle like normal, but does fit extremely accurately. It rides roughshod over the spirit/x+y formula, and remains a reduction in regen for sub-300 int cases.
Example: 200 intellect, 300 spirit. Live regen (for priest/mage): 218.8 Mp5.
By Formula: 197.9 Mp5.
Last edited by constantius : 02/10/08 at 10:08 PM.
If you want to submit data points to aid in this theorycrafting, here are the requirements:
- intellect value
- spirit value
- OO5SR regen value with STATIC VALUES STRIPPED
- class (druid, priest, mage, etc)
- specification of your talents -- SoR, Intensity, etc..
Example (data set from Shadowed and myself):
Base Int: 115
Base Spirit: 155
Base regen: 77 (23) [121(36)]
Note that the values of regeneration at the far left are including static, and the = x(y) are the refactored ones. The "should be" are what the current live values would be, and the final number is what the scaling factor on spirit would have to be to get that value as an output. You don't need to include the final 2 if you are just grabbing raw data; I can compute it easily.
If you're submitting a large data set, I highly suggest using PvP gear, especially of the Gladiator variety. It has almost no spirit, static Mp5, and high values of intellect.
Okay, I'm interested in this more from a Mage standpoint than anything else (specifically, Arcane). My 61 Arcane Mage has 467 Int and 199 Spr. Using the formulas known (and provided above), his current base regen OO5SR should be 155.625 mp5. He also has 467 Int. So in 2.4 he'll have 206.554 mp5 with the same gear, for a net gain of ~51mp5 OO5SR. This is 15.3mp5 added from talents, and another 15.3 mp5 added from Mage Armor, correct?
From a theory standpoint, can the balance point be found where increasing Int is more profitable than Spr for mana regen purposes?
14 is what naked-base on live was coming up as for the two druids I asked. It could just be a rounding issue; if it's 15, that'll tweak the numbers in a *small* way. I can easily correct for this.
As far as a balance point for increasing intellect vs spirit, it's almost a moot point. The only thing this does is allow you to justify taking a piece of gear with intellect vs no intellect. You will still *never* 'stack' intellect. We all get it for free, and it's semi-useless (mana pool size, crit %) -- they're just making it slightly more valuable by giving it an actual scaling factor. I have a feeling (gut only) that you'd have to do 50%+ on intellect to balance something small like 30 or 40 spirit. So 5:1 or more. I'll work more on this later today.
It's 15 if you believe the character screen (the Spirit tooltip that says "increases mana regeneration by xxx"). It uses ( Spirit / 4.5 + 15 ) * 2.5, and rounds down.
While I see your point, Constantius, certain classes and talent specs (Arcane Mage, Moonkin Druid) can make more use out of Intellect than the norm. As it is, I must admit my question was more of a thought exercise than anything else. I'll see what I can do with your formulae. Thank you _very_ much for this; I've been looking for data on this since it was announced.
I plugged Bekah's data into a spreadsheet and I ran a linear regression of Bekah's regen against the results from your formula the slope was 1.08 (not 1.00 as expected) with a std. deviation of 0.02.
Bekah's data only shows one side of the picture because of the fixed spirit value. I think we need some more data with varying value of spirit before we can settle on a formula.
The complete formulas use to be exposed in the lua code released with 2.0 and 2.1. They have since hidden it behind a function called GetUnitManaRegenRateFromSpirit("unit"). However, the old formula still held. It worked like this.
For the first 50 spirit, everyone would gain 0.25 mana/sec per spirit.
For all spirit after this, Mages/Priests would get 0.125 mana/sec per spirit. Druids would get 0.1125 mana/sec per spirit. Everyone else would get 0.1 mana/sec per spirit.
Hopefully this helps people work out more of the new formula.
Basically we have SpiritRegen(Spirit, Int), TotalRegen=(SpiritRegen, Mp5). dTR=(deltaSR/deltaS)*dS+(deltaSR/deltaI)*dI+1*dMP5 should be the total differential about regeneration. deltaSR/deltaS =2.5/(Base_factor + (6 L^2 + 7.2 L)). deltaSR/deltaI=2.5S/[6*((-2lnI+4.94)/I+7.2*(2.47-1/I)).
so dTR=[2.5/(Base_factor + (6*((-ln(I/300))^2 + 7.2*(-ln(I/300)))]*dS + [2.5S/[6*((-2lnI+4.94)/I+7.2*(2.47-1/I)]]dI +dMP5. Or did I understand you wrong?
Quoting myself from the other thread, since the discussion ended there.
edit: think I got an inner derivative wrong somewhere, will check tomorrow perhaps.
While I see your point, Constantius, certain classes and talent specs (Arcane Mage, Moonkin Druid) can make more use out of Intellect than the norm. As it is, I must admit my question was more of a thought exercise than anything else. I'll see what I can do with your formulae. Thank you _very_ much for this; I've been looking for data on this since it was announced.
But I think we need to work on that later, solving for the formula is the first priority ~ then we can nitpick the finer details. On that note, I am personally interested in knowing what this means for flasking/potting.
65 intellect vs. 25 mp5 vs 45 intellect/45 spirit/15 stamina vs. 50 healing/30 intellect/30 spirit vs 50 healing/16mp5 vs. 15 intellect/15 spirit/16 mp5.
Without actually running numbers, kinda look for endurance high mana fights, 45 int/45 spi/15 stam combo will be pretty sweet.
For a Priest, put in 400 Spr and 200 Int into the formula. If you then increment each by 1 separately, you should see (if I did my math correct) that 400Spr/201Int > 401Spr/200Int in terms of Spirit-based Regen. (I get 215.3 vs. 215.1 mp5.)
A little more research reveals that it seems that the inflection point isn't static, but can be quantified. For a Priest or Mage, once Spr+50~=Int, adding to either stat is equivalent. If the difference between the two stats is on the order of 100 or more, adding to whichever stat is lower will increase spirit-based regen.
I guess what this means in game terms is that if you have high-Spr/low-Int itemization, adding Int will not only increase your mana pool, but also your mana regeneration.
Can we get a condensed, human-readable formula where we just plug in our SPI and INT numbers and get a number? Obviously, logs and stuff aren't a problem, but I think I see some calculus and that flys over my head.
I was going to try tackling this problem myself, logged onto the PTR for the first time and got the "Sever is restarted in 4:45" message. I did jot down a few quick data points, but probably not enough to be useful. I'm curious as to whether this change effects pet mana regeneration as well -- though frankly I'm not quite sure I'm fully aware of the mechanics behind pet mana regen on live . . . Just to throw these out here, even though there's only a few that I managed to grab before the server went down:
with 300 spirit (0 mp5, 0 talents to impact result):
512 int = 316
489 int = 306
473 int = 304
426 int = 288
Could you explain this to me? Does this mean at 500 intellect the spirit formula is spirit / 2.67 instead of the normal spirit / 4 for priests?
Yes. That's the basic idea.
For those who are mathematically inclined, I'll explain why it *has* to be based on a logarithm, and then we can work together to figure out exactly how.
Things we know:
1) Intellect less than 300 has a reducing effect on spirit regen. Proved via Shadowed values produced on today's push of the PTR.
2) Intellect greater than 300 has an increasing effect. Proved via Bekah and Shadowed values.
3) It is unlikely that Blizzard set two separate formulae based on value of intellect. If they did, all bets are off. But let's assume it's one formula.
Hence, we require a function of intellect that can be both positive and negative, depending on what value of intellect you put in, with a 0-crossing at 300. The easiest way to model this is with a logarithm, hence the log(int/300).
Additionally, people may question why this formula has to modify the factor (the 4.0 and 4.5 numbers). Basically, it comes down to how to compute the factor. We know it's a scalar multiple of the spirit, so is it possible to do something like:
We would need new_scaling_int_factor = 0 for int = 300, negative for int < 300, and positive for int > 300. This is entirely possible using a logarithm. However, the same could be said for new_scale_factor_2.
However, the two methods are functionally identical. If we let:
new_scaling_int_factor = x
new_scale_factor_2 = y
then
0.25*spirit + x*spirit = spirit / y => y = 1/(x+0.25).
Accordingly, I just went with the first method.
Now, as far as the actual *fit* goes, that's where it gets squirrely. I'm perfectly willing to acknowledge a lack of good fit with my 6L^2 - 7.2L. I'm not happy with it. I just don't have enough data to refine it yet.
Pagaen: that's my formula. So ... yes. I agree. For now. :p
Your Kevan numbers are *way* off. Not sure how you went from 67.6 M/Tick -> 338 Mp5. The Bekah ones look good.
Edit: Kevan, are your numbers matching up with your character screen? Because atm, they don't seem to work at all with the data I gathered together with Shadowed. Example: