Elitist Jerks HolyCalcs beta, 5.2 PTR

01/06/13, 7:35 PM   #1
Hamlet
<Druid Trainer>

Tauren Druid

Mal'Ganis
HolyCalcs beta, 5.2 PTR

Anyone here who's dabbled in Druidry might be familiar with TreeCalcs, my Resto theorycraft spreadsheet. Here is my first attempt at retooling it for another spec: Holy Priests (Disc might follow shortly, but Holy seemed much simpler). Still a work in progress, but far enough along to get some feedback I think.

Concept:
This is not meant to be used quite like a DPS spreadsheet, where you focus on the final total output. In fact, even though the sheet does have a final total output, in some ways that's the least important item on the main page. The sheet has two main components:

1) The individual spell table. This shows the HPET (healing per unit of cast time) and mana efficiency of each heal using your currently selected setup/stats. In addition, the right half of the table shows how each spell scales with 1 point of Int, Haste, Crit, or Mastery. This is to allow you to compare your different spells with context of a concrete, accurate numerical sense of how much they're doing and how each stat or talent affects them.

2) The rotation model. This is necessarily rough for healing as opposed to DPS, but the basic idea is to come up with some approximation of how much you're using each spell, so that stats/talents can be evaluated in light of your performance as a whole. The main value of the rotation model isn't the total raw healing output (which is mostly a holdover from the sheet's time as a DPS model), but the marginal value listed next to each stat, talent, and buff, showing how much you're getting from each one.

---------

Using the sheet:

1) Input your gear, gems, enchants, and reforges on the front page. The basic rule is that any light-blue box is a dropdown menu where you can choose something. The sheet will automatically black out any enchant/gem slots that don't exist, and will highlight any inactive socket bonuses or meta gems in red.

2) On the Main page, input your talents, glyphs and buffs. Here again, any light-blue box is a dropdown menu where you can choose something. Don't modify the pink boxes, which are the stats inherited from the gear page--these are shown so you can see the stat weights (see below). You can also set some parameters about how you use your spells in the purple boxes.

3) Basic results are in green boxes. Most importantly, the HPET and HPM of each of your spells, as discussed above.

4) Advanced results are in the blue boxes. These require the use of data tables, which you have to recompute manually by pressing F9 (Windows) or Cmd-= (Mac). These include:
a) next to each stat, buff, glyph, and talent, the amount of HPS and MP5 derived from that particular thing. For stats, it shows the benefit of having 1 more of that stat. For talents and other bonuses, it shows the value you get from the bonus (i.e. difference between your output with and without that bonus).
--The third column, "combined," is a combined HPS/MP5 value based on the sheet's estimate of how much benefit you get from added mana over the course of a fight.
b) next to the spell table, the amount by an additional stat point improves each individual spell.

The sheet works in both Excel and OpenOffice, except that the data tables/advanced outputs are not supported by OO. OO users select "OpenOffice" from the dropdown on the first page, and everything else should work.
Attached Files
 HolyCalcs 130106 PTR.xls (959.5 KB, 832 views)

Last edited by Hamlet : 01/06/13 at 10:46 PM.

01/06/13, 10:24 PM   #2
Tecton
Soda Popinski

Troll Druid

Mal'Ganis
Input a quick gear list for you to work with, tier bonuses should pull through too:
Attached Files
 HolyCalcs 130106 PTR.xls (986.5 KB, 171 views)

 01/06/13, 10:48 PM #3 • Hamlet     Hamlet Tauren Druid   Mal'Ganis Ok cool. I replaced the attachment to my post with that one also, so there's no confusion. Will Armory imports work? Also, will they break if the race isn't Tauren/Troll/NE/Worgen? I didn't bother adding new races. The 4-piece is a little weird. Since it basically assumes you use CoH on cooldown, having the spell on a 4s cooldown really inflates the result. Not sure if there's some better way to handle it.
 01/06/13, 11:22 PM #4 Jeges Von Kaiser   Chebag Human Priest   Argent Dawn Why not make it so that you can input actual spell usage (counts or fractions)? That way people can see, based on how they actually heal, which spells and stats are most useful for them? Would probably also be cleaner and easier to code.
 01/07/13, 3:41 AM #6 Szeretlek Piston Honda   Нищебродка Troll Priest   Термоштепсель (EU) I think you should see how it worked in Valen`s spreadsheet (and it was awesome). http://media.temerityofwindrunner.co...20v%201.15.xls
 01/07/13, 9:11 AM #7 • Hamlet     Hamlet Tauren Druid   Mal'Ganis Nice, seems almost exactly the same in concept. He handles the spell selection issue by having you choose from a list of preset distributions using a dropdown, which is not a bad idea at all. Beyond that though they're basically the same setup.
01/07/13, 9:40 AM   #8
Szeretlek
Piston Honda

Troll Priest

Термоштепсель (EU)
 Originally Posted by Hamlet Nice, seems almost exactly the same in concept. He handles the spell selection issue by having you choose from a list of preset distributions using a dropdown, which is not a bad idea at all. Beyond that though they're basically the same setup.
Most awesome thing about Valen`s spreadsheet that you can create your own spell selection "on the fly" at "Rotation" tab, so you can calculate stat weigths for almost all healing styles.

 01/07/13, 11:22 AM #9 • Hamlet     Hamlet Tauren Druid   Mal'Ganis Ok I see--I didn't see it in the dropdown, but that's what the blank columns are for. So this is mostly an issue of finding an intuitive way to input spell selection? Point's definitely taken, it's probably something I could apply to any of the sheets I do. It might be not a priority until after the Disc module is done. Especially since Disc is slightly more amenable to the way I'm doing things since you have DPS spells to fill otherwise idle time. I should think about it though, since the whole % breakdown thing hasn't been all that natural even for Druid since we stopped constantly spamming at the beginning of Cataclysm. Main issues are that if you input a fixed number of each spell per minute: 1) have to reflect haste scaling somehow. I could probably assume that each extra point of haste proportionally increases use of all no-cooldown spells. 2) have to reflect benefit of added/reduced mana from any source. Valen's sheet seems to compute total mana available over the course of the fight, then figures out how many seconds of casting you can sustain the desired rotation and multiplies by the rotation HPS to get total healing. It's never been an assumption I liked, again because it treats cooldown and no-cooldown spells the same, whereas in reality the benefit of added mana accrues mostly to no-cooldown spells (although given that Priests have Prayer of Healing available, maybe an academic distinction... ). 3) have to deal with limits imposed by cooldowns and total cast time. Maybe the best thing is to simply have a flag that lights up if the user is violating some spell cooldown, or has more than 60 seconds of casting each minute (probably after Surge of Light/Divine Insight procs). Either way, I will think about it, since it would be nice to have as more user-friendly frontend if I can do so without compromising the model. --- For the moment, why don't you tell me if any of the assumptions in there simply have to be changed in order to let you approximate the casting you want: 1) Cooldown spells used generally on cooldown*: CoH, PoM, L90 Talent, Holy Word:S, and long cooldowns. 2) Remaining time divided between PoH, FH, GH, Renew, and "nothing", in user-defined proportions. (*No healing spec actually uses their various spells sharply on cooldown, but for the better spells that you tend to use frequently when you have them available, assuming usage is determined by cooldown generally gets you realistic proportions) I know people aren't super interested in Holy but if any obvious changes have to be put in that would be good. For Disc I'm imagining something like: 1) Used generally on cooldown: --Penance (probably needs to be toggled at least for now though, since it's often not used much) --L90 Talent --Rapture PW:S --PoM --Spirit Shell (doesn't affect throughput in 5.2) --Holy Fire/Solace --Archangel? --long cooldowns 2) Remaining time split between: --PoH --Non-Rapture PW:S --Smite --Gheal, Flash, nothing
 01/07/13, 11:40 AM #10 Moshne Bald Bull     Moshne Pandaren Shaman   Whisperwind Penance is also a DPS/HPS increase over Smite if you have it available for use for Atonement healing. The current 4pc bonus makes this especially interesting. - 11/13 HM -25m - W/Th/Sun 8-12 CST LF Healer www.somethingwickedguild.com
01/07/13, 1:51 PM   #11
Szeretlek
Piston Honda

Troll Priest

Термоштепсель (EU)
 For the moment, why don't you tell me if any of the assumptions in there simply have to be changed in order to let you approximate the casting you want: 1) Cooldown spells used generally on cooldown*: CoH, PoM, L90 Talent, Holy Word:S, and long cooldowns. 2) Remaining time divided between PoH, FH, GH, Renew, and "nothing", in user-defined proportions.
I think it should be like this (for example):

Penance, 1 usage per X sec, where X is defined by user and reflect HIS playstyle. And that X defines HPS, HPET, HPM and other stuff.

In spreadsheet it will be like this

Penance, each 15sec
PoM, each 15sec

least common multiple for CD spells - 30sec. In that interval you will use 2 penance, 1 Cascade and 1 PoM. It will cost you 5 sec casting and ~50000 mana. That spells do 50000 hps. Other 25sec you will cast PoH, That 12.5 PoH will cost you ~250000 mana and 100000 hps.

So in 30 sec you spend 300000 mana total and did (50000*5+250000*25)/30 ~= 91600 hps.

I think it will work.

More complex example:

User defined part:
Penance each 9 sec
PoM each 12 sec
PWS each 15 sec
HF each 11 sec

Calc part:
least common multiple for CD spells - 1980 sec:
220 Penance (1980/9)
165 PoM (1980/12)
132 PWS (1980/15)
180 HF (1980/11)
-------
1155,5 sec casting before spell haste implication (220*2+165*1.5+132*1.5+180*1.5)

824,5 sec left for PoH cast (1980-1155.5)
329,8 PoH cast. (824.5/2.5)

And so on, and so on.
============================
2) Another solution.
User defined part:
Penance each 9 sec
PoM each 12 sec
PWS each 15 sec
HF each 11 sec
Combat length - 400sec

44.4 Penance (400/9)
33.3 PoM (400/12)
26.6 PWS (400/15)
36.36 HF (400/11)
-------
233,19 sec casting before spell haste (44.4*2+33.3*1.5+26.6*1.5+36.36*1.5)

166,81 for PoH left, so (400-233.19)
66,724 PoH are casted in 400 sec with all that CD spells. (166.81/2.5)

Last edited by Szeretlek : 01/07/13 at 2:16 PM.

01/07/13, 5:57 PM   #12
Hamlet
<Druid Trainer>

Tauren Druid

Mal'Ganis
 Originally Posted by Moshne Penance is also a DPS/HPS increase over Smite if you have it available for use for Atonement healing. The current 4pc bonus makes this especially interesting.

Yeah, interesting. So Penance should actually be used as a pretty frequent filler even if you're doing little to no single-target healing. Not on cooldown though necessarily, esp if the cooldown is 6 seconds. Probably something like--assume any time allocated to Smite is first allocated to Penance to the extent allowed by cooldown, then to Smite. This may completely supplant Smite in rotations where you don't have much DPS time, but maybe your point is that people should be doing that more in reality.

For other Atonement spells I was mostly planning to treat them like heals on paper, since the Atonement heal preserves proper crit/mastery scaling just as though they were direct heals. Penance is messier since the DPS version outpaces the healing version even at current spellpower levels (and comes with DPS and adds a stack of Evangelism).

01/08/13, 7:44 AM   #13
Hidden
King Hippo

Blood Elf Priest

Nazjatar (EU)
 Originally Posted by Hamlet Yeah, interesting. So Penance should actually be used as a pretty frequent filler even if you're doing little to no single-target healing. Not on cooldown though necessarily, esp if the cooldown is 6 seconds. Probably something like--assume any time allocated to Smite is first allocated to Penance to the extent allowed by cooldown, then to Smite. This may completely supplant Smite in rotations where you don't have much DPS time, but maybe your point is that people should be doing that more in reality. For other Atonement spells I was mostly planning to treat them like heals on paper, since the Atonement heal preserves proper crit/mastery scaling just as though they were direct heals. Penance is messier since the DPS version outpaces the healing version even at current spellpower levels (and comes with DPS and adds a stack of Evangelism).
Once you have implemented Discipline spell calculations, you should see Penance (offensively) is absolutely worth casting on cooldown whenever you're not casting PoH. This is also feasible considering its glyph allows it to be cast while moving at a slightly higher mana cost.

As for Discipline in general, there's more messy aspects other than Penance when it comes to a spreadsheet:
How much do heals benefit from Grace on average?
You can do some fancy calculations here but I guess for a first version it'd be enough to have this selectable on a per-spell basis by the user.

How do you model a rotation incorporating Atonement?
Sure you can treat them as direct heals but there's a few differences to usual heals that make things more complicated:
a) Evangelism plays a big role in HPS and HPM values of Atonement heals and Archangel plays a big role in Evangelism uptime. Archangel is also commonly not used on Atonement heals themselves but rather for other heals.
The Archangel part is kind of tricky since it depends on how you model rotations in the end. The evangelism part is kind of easy assuming the player doesn't let the stack drop unless for Archangel. In that case you just need the interval in between Archangel uses, the average amount of Evangelism abilities used in that time frame and you can calculate the average Evangelism stacks when using a spell that benefits from it pretty easily.

b) Additionally, Smite glyph uptime makes a difference in Smite HPS and HPM.
This one depends on whether the user specifically tries to place all Smite uses in his rotation into the DoT's time frame or not and should probably not require more than a checkbox and a few smaller calculations depending on spell distribution.

As for the current Holy spreadsheet:
It's obviously far from finished so I haven't bothered looking into anything related to spell breakdown or talents yet, however here's some feedback on individual spell data:
• Lightwell HPM incorrectly links to HW:Sanctuary value
• BH,BH,PoH should probably also be listed if FH,FH,GH is listed
• Are you sure Divine Star doesn't diminish after 5 targets like all other AoE heals?
• Cascade is way off in your calculations, why do you further diminish the amount of targets hit in Heals!AC22? It hits up to 15 (1+2+4+8) targets for an amount depending on how far individual targets were away from each other. The effectiveness factor should cover the reduced amount of healing for closer targets so targets hit should be the minimum between 15 and the amount of AoE targets.
• Level 90 talent effectiveness should be specifiable for every ability individually - the current version makes it very hard to compare those talents even if you have estimates on how effective those heals are for you

Last edited by Hidden : 01/08/13 at 10:01 AM.

01/08/13, 12:42 PM   #14
Hamlet
<Druid Trainer>

Tauren Druid

Mal'Ganis
I do want to respond to Szeretlek's ideas at some point. Short version is that I probably do want to make the user input work a little more like what he describes, but might not be right away. Still focusing on the underlying modeling for the moment.

 Originally Posted by Hidden Once you have implemented Discipline spell calculations, you should see Penance (offensively) is absolutely worth casting on cooldown whenever you're not casting PoH. This is also feasible considering its glyph allows it to be cast while moving at a slightly higher mana cost. As for Discipline in general, there's more messy aspects other than Penance when it comes to a spreadsheet: How much do heals benefit from Grace on average? You can do some fancy calculations here but I guess for a first version it'd be enough to have this selectable on a per-spell basis by the user. How do you model a rotation incorporating Atonement? Sure you can treat them as direct heals but there's a few differences to usual heals that make things more complicated: a) Evangelism plays a big role in HPS and HPM values of Atonement heals and Archangel plays a big role in Evangelism uptime. Archangel is also commonly not used on Atonement heals themselves but rather for other heals. The Archangel part is kind of tricky since it depends on how you model rotations in the end. The evangelism part is kind of easy assuming the player doesn't let the stack drop unless for Archangel. In that case you just need the interval in between Archangel uses, the average amount of Evangelism abilities used in that time frame and you can calculate the average Evangelism stacks when using a spell that benefits from it pretty easily. b) Additionally, Smite glyph uptime makes a difference in Smite HPS and HPM. This one depends on whether the user specifically tries to place all Smite uses in his rotation into the DoT's time frame or not and should probably not require more than a checkbox and a few smaller calculations depending on spell distribution.
DPS Penance: yeah, makes sense given the high coefficient and further scaling from Evangelism and raid magic debuff. Pseudo on-cooldown use might be as valid an assumption as for any other spell.

Even having Grace selectable per-spell might be a bit too granular/overcomplicated for this purpose. I was planning on just ignoring it for AoE-focused spells like PoH, and allowing the user to to put in an estimate for what % of single-target heals are affected. This will ignore some issues (Atonement heals), but I guess I'm comfortable from my other spreadsheet projects knowing the limitations of how far I should be getting into the weeds on these things. Truthfully, a detailed model of Grace is going to have very little impact on relative stat weights or anything like that (it mostly only affects the "bottom line," which like I said above the least interesting part of a healer sheet).

Atonement: Overall it's not too scary. Like I pointed out in reply to Moshne, since an Atonement from say, Holy Fire scales with spellpower, crit, haste, and mastery in just the same way as though Holy Fire were simply a heal spell, I don't really have to treat it any differently. Other than details like worrying about the raid spell damage debuff, the only complication is Evangelism/Archangel, which I was planning to handle in just the way you describe.

I'm expecting to distribute Smites randomly w.r.t Holy Fire DoT uptime; at the moment I don't see a need for anything more complicated.

The other big Disc complication you didn't mention is Borrowed Time. But fortunately the sheet already has machinery for an alternate-haste version of every spell (used for Nature's Grace in Balance and Soul of the Forest in Resto). It's dormant in the Holy sheet, but I should be able to co-opt it for Borrowed Time easily.

 As for the current Holy spreadsheet: It's obviously far from finished so I haven't bothered looking into anything related to spell breakdown or talents yet, however here's some feedback on individual spell data:Lightwell HPM incorrectly links to HW:Sanctuary value BH,BH,PoH should probably also be listed if FH,FH,GH is listed Are you sure Divine Star doesn't diminish after 5 targets like all other AoE heals? Cascade is way off in your calculations, why do you further diminish the amount of targets hit in Heals!AC22? It hits up to 15 (1+2+4+8) targets for an amount depending on how far individual targets were away from each other. The effectiveness factor should cover the reduced amount of healing for closer targets so targets hit should be the minimum between 15 and the amount of AoE targets. Level 90 talent effectiveness should be specifiable for every ability individually - the current version makes it very hard to compare those talents even if you have estimates on how effective those heals are for you
First two are good.
Divine Star: probably should be, but now I don't remember offhand. I also forgot that it hits most targets twice. And come to think of it, I don't even know how AoE capping works for spells that travel and don't do all their damage/healing at the same time. Will have to try to look into this more.
Cascade: yes, when I first read it I just totally assumed that "split" meant each jump would reduce the healing by half and then I never went back and fixed it. Should just be MIN(AoETargets, 15).
I know the L90 talents take different hits based on their range mechanics, I was just hoping to avoid adding 3 boxes.

e: By the way, what big things are you thinking need to be done other than rearranging the user input somewhat?

Last edited by Hamlet : 01/08/13 at 1:04 PM.

 01/08/13, 10:58 PM #15 Hidden King Hippo   Hidden Blood Elf Priest   Nazjatar (EU) I just did some testing on Divine Star in a 25 man raid setting and it definitely diminishes. It seems like Blizzard took the easy way out and simply calculates the healing of one line at once since it would never hit early targets for significantly more than later targets in my log. That also explains why the healing/damage has always felt out of sync with the animation for me. I don't have any exact numbers but it seems to be roughly the same as for other AoE spells (healing divided by amount of targets / 6) per line, so you'd get a maximum of 12 times the calculated heal total. As for things to be done: The whole thing looks pretty good already. To me it looks like it's mostly polishing work to be done in regards to spell distribution/rotation and some talents (level 90 spells, Twist of Fate, Power Word: Solace pre- and/or post-patch). Power Word: Solace may not be a popular choice because it's pretty unnecessary as Disc right now thanks to Atonement healing but it seems pretty competitive as Holy considering its fairly high idle times. Post-patch Power Word: Solace looks like a viable talent for both Holy and Disc. Last edited by Hidden : 01/08/13 at 11:37 PM.

 Elitist Jerks HolyCalcs beta, 5.2 PTR