Elitist Jerks
Register
Blogs
Forums


Go Back   Elitist Jerks » Blogs » Math of the Lich King

Rate this Entry

Theorycraft 101: Mana Regen

Posted 07/17/11 at 8:04 PM by Hamlet
Updated 08/09/11 at 3:02 AM by Hamlet
I've always been meaning to do a series of posts where I spell out of basics of theorycrafting. Basically, I see a lot of people who want to help with the analysis of their class mechanics on sites like EJ, but lack the foundation of knowledge of WoW mechanics to be able to easily do so. People often spend time rehashing already done calculations, or trying to figure out exactly how various in-game quantities are derived, before they can get to working on anything meaningful. I want to lay out some basic outlines of various topics that people can use to avoid wasting time when they want to begin understanding these aspects of WoW. These are not intended to be class-specific.

The one I'm going to try first is mana regen. Healers very often want to understand how much regen they get from various buffs or talents, but the way your final regen is computed can be confusing. I constantly see people trying to work it out from scratch when trying to compare talents and becoming very confused. It's actually not that obvious how that in-combat mana regen on your character sheet is derived from Spirit and Int. I'll try to clarify that and other topics here.

Everything in this post applies only to characters at level 85.

Preliminary -- Buffs

I just want to address one point of confusion before we get started. Int, Spirit, and total mana pool can all be affected by various %-based buffs (although this is rare in the case of Spirit; it's basically only the Human racial). All calculations below make use of buffed values. In general, you don't need to do any elaborate calculation to find your total buffed Int/Spirit/mana--just check your character sheet in your raid configuration.

But we can't completely ignore the fact that %-based buffs contribute to stats, because oftentimes you're going to want to consider scaling: how much do I get from one added point of a particular stat? And when doing so, you have to remember that adding one point of, for example, Int on your gear really gives you more than one Int due to buffs. For example, as a Resto Druid I get 5% Int from Mark of the Wild, 5% from Leather Specialization, and 6% from Heart of the Wild. So 1 point of Int "really" gives me 1.05*1.05*1.06 = 1.16865 Int, and I have to take that into account when figuring out what I gain from a point of Int.

Variable Names

Throughout this post:
  • B is your class's base mana.
  • I is your buffed Int.
  • S is your buffed Spirit.
  • N is your combined %-based Int buffs (for example, the 1.16865 in the last paragraph).
  • M is your combined %-based increases to total mana pool (for example, 1.02 from an Ember meta).
  • O is your combined %-based increases to Spirit (simply 1 for most characters, 1.03 for Humans).
  • C is the in-combat regen factor: 0.8 for Holy Priests, 0.5 for other healers, and 0 for all other classes.
  • R is the "mana regen constant," equal to 0.016725.

1. Mana Pool Size.

The first order of business: how is your total mana pool determined? Most people know that they have some amount of "base mana" and that a point of Int gives 15 mana before talents, but even then it can be difficult to work out exactly what's going on, and backsolving your base mana from your total mana pool is very easy to get wrong.

So first, here is base mana for all healing classes:
  • Drd 18635
  • Pal 23422
  • Pst 20590
  • Shm 23430

Base mana is important because it's used to determine spell costs and other things (such as 2T12 set bonuses). As we'll see below, it also affects regen.

Now you would think that your total mana before talents and buffs is:
Base Mana + Int*15.
But, it is actually:
Base Mana + Int*15 - 280.
Don't ask me why this is.

Result: total mana pool is given by
M(B + 15I - 280)
(see above for variable definitions)
Remember that Int and mana buffs combine multiplicatively.

As an important corollary, note that the actual amount of total mana you get per point of Int is:
15NM
For example, if your only Int/mana buffs are MotW (5%), Armor spec (5%), and Ember meta (2%), a point of Int gives 15*1.05*1.05*1.02 = 16.86825 mana. Class-specific talents will increase this further.


2. Character sheet MP5

First of all, each class has some base regen before even Spirit and Int are taken into account. This regen is equal to 5% of your base mana every 5 seconds. For example, a Druid has 18635 base mana, and therefore has 931.75 MP5 in base regen. This amount is not affected by the in-combat regen penalty; it is constant at all times.

The other part of the MP5 seen on your character sheet is Spirit regen. Spirit regen, expressed as MP5, is given by:
0.016725*Spi*sqrt(Int).
This is your Spirit regen when out of combat. When in combat, healing specs get 50% of this regen (80% for Priests with 2/2 Holy Concentration).

Result: the amount of in-combat regen displayed on your character sheet is:
0.05B + CRS\sqrt{I}.

Corollary: we can take derivatives to find the MP5 value of an added point of Spi or Int. Added in-combat MP5 from one point of Spi:
CRO\sqrt{I}
(Remember, O will just be 1 unless you have some % Spirit increase, and I is your total buffed Int).

Added in-combat MP5 from one point of Int:
\frac{CRSN}{2\sqrt{I}}


Example: Right now as a Resto Druid I have 6479 Int and 2854 Spirit raid buffed. My Int buffs are Mark (5%), Leather (5%), and Heart of the Wild (6%), so N = 1.05*1.05*1.06 = 1.6865. I have no %-based Spirit increases.
My in-combat regen is:
0.05B + CRS\sqrt{I}
0.05*18635 + 0.5*0.016725*2854*SQRT(6479) = 2852.8 MP5.

1 additional point of Spirit gives me:
CRO\sqrt{I}
0.5*0.016725*1*SQRT(6479) = 0.673 MP5.

1 additional point of Int gives me:
\frac{CRSN}{2\sqrt{I}}
0.5*0.016725*2854*1.16865 / (2*SQRT(6479)) = 0.173 MP5.


3. Other Sources of Regen
It's hard to say much generally about other sources of regen since they all work differently, but there are a few helpful tips. Most are either based off of base mana or total mana pool. Base mana is easy to work with since it's completely constant for your class. For regen based on total mana (Replenishment, Innervate), you have to take into account the total mana pool increase from one point of Int, discussed above.

I'll use Replenishment as an example, since it affects everyone. Replenishment gives you 0.5% of your total mana every 5 seconds. As discussed above, the total mana pool increase from one point of Int is
15NM
Therefore, 1 additional point of Int increases your Replenishment MP5 by
0.075NM

Example: as a Resto Druid right now, my Int buffs are Mark (5%), Leather (5%), and Heart of the Wild (6%). My mana pool buffs are Ember (2%) and 2/3 Furor (10%). So the MP5 increase to my Replenishment from one point of Int is:
0.075*1.05*1.05*1.06*1.02*1.1 = 0.09834 MP5.

Other sources of mana that depend on the size of your total mana pool will function similarly.

Complete Example - Int vs. Spi for a Resto Druid

To see how this all works out in practice, I'll compare the benefits of Int and Spi for me as a Resto Druid. As noted above, for my setup:
  • B = 19635
  • I = 6479
  • S = 2854
  • N = 1.16865
  • M = 1.122
  • O =1
  • C = 0.5
  • R = 0.016725.

In the examples above we've already found that that a point of Spi gives me 0.673 MP5, and a point of Int gives me 0.173 MP5 through increased Spirit regen. In addition, Int gives 0.098 MP5 from increased Replenishment.

I also Innervate myself every 3 minutes, for 20% of my mana pool. So on average, every 5 seconds, I get back 20% * 5/180 = 0.556% of my mana pool (aside: note that this is around the same as Replenishment regen). So the value of an added point of Int is:
0.00556\cdot 15NM
0.00556*15*1.16865*1.122 = 0.109 MP5.

Finally, I get regen from Revitalize. Revitalize returns 2% of my total mana, and as a good estimate, procs every 13.5 seconds. So every 5 seconds I get 2% *5/13.5 = 0.741% of my total mana. The value of added Int is:
0.00741\cdot 15NM
0.00741*15*1.16865*1.122 = 0.146 MP5.

So in total:
A point of Spirit gives me 0.673 MP5.
A point of Int gives me 0.173 + 0.0983 + 0.109 + 0.146 = 0.526 MP5, and also gives me 19.67 starting mana.

On any fight less than 19.67*5/(0.673-0.526) = 669 seconds long, the Int will contribute more overall mana.

Final note: you may have noticed that working through all this arithmetic was somewhat tedious. If you're at all interested in doing these sorts of things, you really want to learn the basics of how to use a spreadsheet, because it vastly speeds up these sorts of calculations. Don't spend lots of time crunching out the arithmetic by hand, especially since all the numbers change as soon as you tweak any of your stats. I can work out all the above in just a few seconds in my Resto spreadsheet, even though it took me much longer to type it all up for this one example (the sheet also accounts for various details like procs which are a pain to add in by hand).

Conclusion
I hope this has been helpful to get you started on figuring out how these mechanics work. Again, the point of this post wasn't to reach some particular conclusion regarding my class or any other, but rather to provide a resource for people who are attempting to do similar things on their own. Please give any feedback on whether you found it helpful, in particular on whether the level of mathematical detail was too high or too low, as I may do more of these soon.
Posted in Math , TC101
Comments 1 Email Blog Entry
Total Comments 1

Comments

Old
i found this very insightful, and rather enjoyable thinking about all the mathematical formulas involved (as commented to your twitter feed). The biggest help to me personally is that this is (from what i understand) the most updated info on mana regen, as opposed to the old 5sec rule stuff from ages ago.

now being able to see how spirit is affected by int, it makes much more sense to me as to why int is so significant to the mana regen mechanics, rather than just seeing the stat priority on the class specific thread. very cool to see the underlying mechanic
Posted 07/18/11 at 1:19 AM by MoonslayerLB MoonslayerLB is offline
 
Total Trackbacks 0

Trackbacks