Jump to content


Photo

WrathCalcs - Moonkin DPS Spreadsheet


  • Please log in to reply
93 replies to this topic

#1 Adoriele

Adoriele

    Happy October 19th!

  • Members
  • 10,089 posts

Posted 01 December 2008 - 08:23 PM

With the closing of the original WotLK thread and Efejel's thread, I'm opening up this thread for discussion of WrathCalcs. Note that unlike Ef's thread, I'd like to keep this one on topic with only discussion of new mechanics as they pertain to the sheet itself. I.E. it's okay to talk about how to model various Eclipse rotations, but not okay to talk about which one you think is best. I'm going to try and implement as many of them as I can anyway.

WrathCalcs currently has full support for:
All rotations, Eclipse included (and all DoT permutations)
Raid buffs
Set bonuses
Damage Per Execution Time (DPET) calculations under various conditions to help build your rotation
Levels 70 and 80
Consumables
Talent benefits

Things I'd like to support:
Auto-build for rotations based off of maximizing DPETs
Heroism
Trinkets

I'll keep the most-current version of WC attached to this post. Unfortunately you can't double-attach at EJ, so I'll only have it here, rather than on the post announcing the update like I have in the past. It's easier to point someone to that way.

Attached Files



#2 ryttingm

ryttingm

    Glass Joe

  • Members
  • 5 posts

Posted 01 December 2008 - 08:52 PM

I was looking through your spreadsheet to see what proc chance you used for mana regen in moonkin form. The tooltip stats that you have a chance to regen mana when you crit while your spreadsheet assumes you regen mana everytime you crit. I've been looking for days for this number so I can update my simulator. Has it been verified that we regen mana with every crit?

#3 Lord BEEF

Lord BEEF

    Soda Popinski

  • Guild Members
  • 3,826 posts

Posted 01 December 2008 - 08:55 PM

Yes it's pretty clear if you run with any sort of combat text that it is a 100% chance on crit. This applies to wrath, starfire, and moonfire.

#4 Manthra

Manthra

    Glass Joe

  • Members
  • 4 posts

Posted 01 December 2008 - 09:21 PM

Great sheet, only thing I can see thats missing is a quick table of relative stat values.
On that note- has the community come to a consensus on stat values? Is there already a sheet that shows stat values on a sliding scale that I'm unaware of?

#5 skeldi

skeldi

    Von Kaiser

  • Members
  • 41 posts

Posted 01 December 2008 - 09:25 PM

Great sheet, only thing I can see thats missing is a quick table of relative stat values.
On that note- has the community come to a consensus on stat values? Is there already a sheet that shows stat values on a sliding scale that I'm unaware of?


And on that note, when will we get a concise list of gear we should be striving for that is better than what is at maxdps.com

Even if it's only a general list, it's easier than plugging in values and constantly tweaking especially when you need a 30 second notice once a piece of loot drops, and you need to know what's it's relative ranking is and if you want to spend dkp on it.

#6 Manthra

Manthra

    Glass Joe

  • Members
  • 4 posts

Posted 01 December 2008 - 09:32 PM

And on that note, when will we get a concise list of gear we should be striving for that is better than what is at maxdps.com

Even if it's only a general list, it's easier than plugging in values and constantly tweaking especially when you need a 30 second notice once a piece of loot drops, and you need to know what's it's relative ranking is and if you want to spend dkp on it.


Once we get the relative values, we can use a site such as Loot Rank for WOLTK, or even WoWhead's filtering.
The values change, which is why a static value for each stat will not work, but its not like they change drastically between two raids. A relative stat value on a sheet such as this slapped into Lootrank every handful of upgrades would be pretty darn accurate.


Also, I suppose I could add 1 to the Spellpower stat and see how much that changes my dps rotation, rinse and repeat for each stat, but thats pretty dirty.

Pretty please can you add Relative Stat values?

#7 Adoriele

Adoriele

    Happy October 19th!

  • Members
  • 10,089 posts

Posted 01 December 2008 - 09:48 PM

And on that note, when will we get a concise list of gear we should be striving for that is better than what is at maxdps.com

Even if it's only a general list, it's easier than plugging in values and constantly tweaking especially when you need a 30 second notice once a piece of loot drops, and you need to know what's it's relative ranking is and if you want to spend dkp on it.


Also unlike Ef's sheet, I do not intend to add gear selection to WC. It's a whole lot of work that I simply won't have the time to do. Also, anything I could do, Rawr could do better, as it can grab items straight from the armory, where I'd have to hand-edit them in. I'd rather stick to making the model as accurate as possible: it's a better use of time.

Also, relative stat values are intended, but a ways off. Again, this is an issue Rawr handles much better, as it's easier for Rawr to compare two states than it is for a spreadsheet (what I wouldn't give to be able to use variables without having to resort to macros).

#8 thedopefishlives

thedopefishlives

    Don Flamenco

  • Members
  • 482 posts

Posted 02 December 2008 - 01:24 PM

Rawr.Moonkin and WrathCalcs are in two separate areas of theorycraft. Rawr.Moonkin is built specifically for the purpose of gear/stat comparison; it uses a slightly modified version of WrathCalc's calculation algorithm with a fixed set of "typical" rotations to determine what is best for you. The purpose of WrathCalcs, as I understand it, is more fundamental than that - understanding how to build the best cast rotation for your particular gear level. The two are complementary, rather than competitive. So for gear questions, come see me in the Rawr thread; for discussions about spell rotations, this is where you want to be.

#9 Erdluf

Erdluf

    Great Tiger

  • Members
  • 968 posts

Posted 02 December 2008 - 03:28 PM

Some corrections to the "Spam Eclipse Rot Calcs" page:

Eclipse always procs from a crit. That means the "extra" cast of the wrong spell always has Nature's Grace.

In the two "Eclipse Rotation Time" fields use SFNGCast and WNGCast, instead of SFSpamCast and WSpamCast.
In the two "Normal Rotation Time" fields you could make the same change. Instead I changed the formulas to be
"Normal Rotation Time" = "Overall Rotation Length" - "Eclipse Rotation Time"

The cell labeled "SF Eclipse Proc Chance" is actually the chance that SF will proc eclipse, not the chance that you will get an SF Eclipse. A better label might be "Chance SF Procs Eclipse". Similar change for "W Eclipse Proc Chance".


The "Average Number of Swaps" calculation is wrong. That number should always be less than "SF Eclipse Proc Chance", since a swap consists of both an SF cast and a Wrath cast.

The probablility of a swap proccing eclipse is (1-swap_fails_to_proc). The probability of (swap_fails_to_proc) is (1-SF_procs)*(1-W_procs). I added

"Swap Proc Chance" = 1 - (1 - "SF Eclipse Proc Chance") * (1 - "Wr Eclipse Proc Chance")

and then used

"Average Number of Swaps" = 1 / "Swap Proc Chance"



When the Eclipse cooldown expires, you will be in the middle of a cast that could proc Eclipse. So I changed the two

"Expected time to proc Eclipse after cooldown" = "Spam cast time" * "Expected casts to proc"
to
"Expected time to proc Eclipse after cooldown" = "Spam cast time" * "Expected casts to proc - 0.5"

I made a similar change for "Average Swap Time". Average swap time is still a bit pessimistic. It ignores the fact that the "proccing swap" might be shorter than normal, because the proc occured on the first of two casts. My "Average Swap Time" is larger than both of the individual "Expected time to proc Eclipse" values. It should be somewhere between them.

With these changes, the "swapping" rotation does considerably better. The other Eclipse rotations improved, but not by much.

#10 dukes

dukes

    Bald Bull

  • Members
  • 2,034 posts

Posted 02 December 2008 - 04:20 PM

Two distinct things I want to pick up on:

Firstly: The sheet does not provide any modelling of the fact that during an eclipse there is a set number of spells that can be cast. As far as I can tell, it provides a system whereby your DPS is calculated based on the average DPS seen during an eclipse proc (SF cast time / SF damage under eclipse), not the average damage done by the spell then divided by the maximum number of casts available during the rotation time as an integer.

If this is correct, then maybe an adjustment needs to be made, as an adjustment will make specific thresholds of haste of particular gain due to an extra spell being able to be gained during an eclipse duration. It will also de-value starfire eclipse in comparison to wrath-eclipse, as you can get less spells off and the granualarity of cut-off points for an extra cast is that much larger due to base cast time.


Secondly: There is no travel time coded in for Wrath that I can see. Although this will not change Natures Grace (procs on-cast anyway), it will change eclipse due to the way it procs on-hit, not on-cast. There are two scenarios that arise from this:

- You can cast a wrath, see it has procced NG, and let the next wrath go before switching to starfire, meaning it will be mid-cast prior to a potential proc. Obviously this has the ramifications that the proc may end up being on the starfire cast instead of the wrath cast, depending on randomness. This would cause eclipse_rotation_time to be larger than 15 seconds.

- While spam casting wrath and not taking chances, this has the effect that when wrath does proc a SF eclipse, you're mid-cast and will gain some time over the base cast time of the next wrath, depending on reactions and the exact travel time to the boss. This means eclipse_rotation_time may be longer than the default of (eclipse duration - wrath cast time) by up to (wrath cast time).

I've adjusted the value of eclipse_rotation_time by -0.5 seconds for now.


Other than that, very nice work.

#11 Unknownchamp

Unknownchamp

    Glass Joe

  • Members
  • 9 posts

Posted 02 December 2008 - 04:20 PM

...

#12 Adoriele

Adoriele

    Happy October 19th!

  • Members
  • 10,089 posts

Posted 02 December 2008 - 05:49 PM

Two distinct things I want to pick up on:

Firstly: The sheet does not provide any modelling of the fact that during an eclipse there is a set number of spells that can be cast. As far as I can tell, it provides a system whereby your DPS is calculated based on the average DPS seen during an eclipse proc (SF cast time / SF damage under eclipse), not the average damage done by the spell then divided by the maximum number of casts available during the rotation time as an integer.

If this is correct, then maybe an adjustment needs to be made, as an adjustment will make specific thresholds of haste of particular gain due to an extra spell being able to be gained during an eclipse duration. It will also de-value starfire eclipse in comparison to wrath-eclipse, as you can get less spells off and the granualarity of cut-off points for an extra cast is that much larger due to base cast time.


Secondly: There is no travel time coded in for Wrath that I can see. Although this will not change Natures Grace (procs on-cast anyway), it will change eclipse due to the way it procs on-hit, not on-cast. There are two scenarios that arise from this:

- You can cast a wrath, see it has procced NG, and let the next wrath go before switching to starfire, meaning it will be mid-cast prior to a potential proc. Obviously this has the ramifications that the proc may end up being on the starfire cast instead of the wrath cast, depending on randomness. This would cause eclipse_rotation_time to be larger than 15 seconds.

- While spam casting wrath and not taking chances, this has the effect that when wrath does proc a SF eclipse, you're mid-cast and will gain some time over the base cast time of the next wrath, depending on reactions and the exact travel time to the boss. This means eclipse_rotation_time may be longer than the default of (eclipse duration - wrath cast time) by up to (wrath cast time).

I've adjusted the value of eclipse_rotation_time by -0.5 seconds for now.


Other than that, very nice work.


As to not using an integral number of casts during Eclipse, you're right in that it's a shortcut. I'll eventually move to a more probability-based model (hopefully, but it won't be any time soon), but right now what's there does cut the mustard. There's actually not a set number of casts, as it depends on how many NG procs you get, and the 'spamcast' variable has that built in. On average, you should cast the number of spells it lists on the right side when doing mana calcs, or somewhere very close to that number. My priority is getting all of the rotations modeled to some degree before I make the models more robust. Better to have a good idea about everything than a sheet that only gives values for one rotation, no matter how awesomely accurate those values are.

For an idea of how I'd like to eventually model all rotations, I'm attaching my first sheet here. It's BC-based, so don't use it for anything other than getting a sense of how deep I'd like calcs to go in the future. Most interesting info is in the Cast Cycle Calcs page, which give a probability of how many NG procs you're likely to get in a DoT, SFxN rotation, then uses that to determine how many casts, crits, etc. you get, what the resulting damage is, and then adds them all up weighting by probability. It's very intensive calculation (to set up, making sure all of the possible cases are accounted for), though, so it's very likely I'll have it only calculate for your selected rotation.

For Wrath travel-time, you're right, it's not in there. Does anyone know offhand what Wrath's travel speed is? If it's more than 36 yards per sec, you'll get Eclipse before you begin your second Wrath after the spell which procs it, though reaction time would cause issues. I'll possibly get to fixing this, but again it will be a while.

[edit] Oops, forgot to attach.

[edit2] Erd, I'm making the changes you suggested, notably fixing it so that you're always using an NG'd cast going into Eclipse. I also made some predictions on what the casts before Eclipse procced were like, I.E. if you've got 3/3 Eclipse, you can't crit with SF and fail to proc Eclipse. Also accounting for being in the middle of a cast when the cooldown comes up.

I'd like more input on the swapping, though (only so that I can get this damn page finished =P). My original calcs were made under the assumption that you're not dealing with a Swap as a 'spell' with its own chance to proc, but rather that you're going to proc with only one of the spells, each having its own chance to proc, and thus an expected number of casts until that happens (I.E. it doesn't matter how many Wraths you cast in between, you're still going to have to cast X SFs before you'll see a proc [from SF], on average), then weighting based on how likely a given proc is to occur. What surprises me is that the two methods vary so wildly in what the expected number of swaps comes out to. Thoughts?

#13 Erdluf

Erdluf

    Great Tiger

  • Members
  • 968 posts

Posted 02 December 2008 - 07:01 PM

At least with Excel 2007, you can use Scenario Manager to create reports like this:

Posted Image

Each column is a scenario (takes 10 to 30s to set up). The report as a whole is auto-generated in a couple of seconds.

Note that I had to manually enter the Int->Spell and Spirit->Spell values, because of the way the sheet is set up.

I couldn't figure out how to do this in Open Office.

Edit: This is easy to do, given an initial set of stats. I don't believe it is easy to automatically track relative stat values as you change your settings. As far as I know, there is no easy way to do that in Excel.

#14 Adoriele

Adoriele

    Happy October 19th!

  • Members
  • 10,089 posts

Posted 02 December 2008 - 07:27 PM

At least with Excel 2007, you can use Scenario Manager to create reports like this:

Posted Image

Each column is a scenario (takes 10 to 30s to set up). The report as a whole is auto-generated in a couple of seconds.

Note that I had to manually enter the Int->Spell and Spirit->Spell values, because of the way the sheet is set up.

I couldn't figure out how to do this in Open Office.

Edit: This is easy to do, given an initial set of stats. I don't believe it is easy to automatically track relative stat values as you change your settings. As far as I know, there is no easy way to do that in Excel.


Holy cow, I didn't even know this was in there. Does this cause security issues like macros do? I assume no, which would make it completely awesome.

#15 Erdluf

Erdluf

    Great Tiger

  • Members
  • 968 posts

Posted 02 December 2008 - 09:55 PM

I wouldn't think there would be a security issue. The "Scenarios" just have a name, and map values to cells. The "report" is generated when I push a "Summary" button. It is not automatically updated as other inputs change.

This is on Excel 2007 Professional. The Scenarios were saved with the spreadsheet in .xls format, which probably means that a similar feature was in older versions.

I think I've got Excel 2002 Professional at home on one machine, and a more recent version (probably 2007) of the "Home" or "Student" version on another machine. I'll see where this works, and doesn't work.

I think you'd need to use VBA to automatically generate the scenarios and reports based on current values. Using VBA would raise security issues.

#16 Adoriele

Adoriele

    Happy October 19th!

  • Members
  • 10,089 posts

Posted 02 December 2008 - 10:29 PM

I wouldn't think there would be a security issue. The "Scenarios" just have a name, and map values to cells. The "report" is generated when I push a "Summary" button. It is not automatically updated as other inputs change.

This is on Excel 2007 Professional. The Scenarios were saved with the spreadsheet in .xls format, which probably means that a similar feature was in older versions.

I think I've got Excel 2002 Professional at home on one machine, and a more recent version (probably 2007) of the "Home" or "Student" version on another machine. I'll see where this works, and doesn't work.

I think you'd need to use VBA to automatically generate the scenarios and reports based on current values. Using VBA would raise security issues.


Yeah, I looked into it, it's not as cool as I thought. I may add to the OP with details on generating a report, though. Definitely saves me the headache of having to worry about it, though.

#17 Erdluf

Erdluf

    Great Tiger

  • Members
  • 968 posts

Posted 03 December 2008 - 04:23 AM

You can get Excel to tell you how much an output (say DPS) will change if you change some input (say hit) by 1. The displayed answer will automatically be updated as other values in the spreadsheet (say Spellpower) or the original input (hit) are modified.

This works with at least Excel 2000 Professional, 2007 Professional, and 2007 Home and Student. I don't believe it works with Open Office, but maybe I just couldn't find it.

Suppose my input and output are named Hit and DPS. I want to know how much DPS changes, if Hit is increased by one. I need a grid of two rows and four columns (can also be done as four rows and two columns). I'll use R4 through U5.

In S4, put =Hit
In T4, put =S4+1
In R5, put =DPS
In U5, put =T5-S5

Select cells R4 through T5.
In old versions of excel go to the Data menu, and select Table.
In new versions of excel go to the Data Tab, click the arrow for "What If Analysis" and then select "Data Table."
In the dialog box that comes up, type "DPS" into the "Row" cell. Leave the "Column" cell blank.
Hit Ok.
You will see the current DPS in both R5 and S5. The value of DPS associated with (Hit+1) is in T5.
Your answer (how DPS scales with Hit) will be in cell U5.

Note that if your input has a cap (say number of talent points in Improved Moonfire), you'll want to avoid the "overflow" in T4. For IMF, you might use

In S4, =if(IMF==2,1,IMF)

now S4 will always be zero or 1, and T4 will always be 1 or 2.



You can extend this procedure to get the scaling for multiple outputs (say DPS, DPM, Time till OOM) by adding additional rows to the table:
R5=DPS, U5=T5-S5
R6=DPM, U6=T6-S6
R7=OomTime, U7=T7-S7
Instead of Selecting cells R4 through T5, you would select cells R4 through T7 before bringing up the Data/Table dialog box.

Edit: It appears the input cell ("Hit" in my example, needs to be on the same worksheet as your data table).

Edit2: It looks like the character stats should be unbuffed, in caster form (since Furor, AI, etc. all increase TotalInt). The spreadsheet is currently ignoring the Lunar Guidance bonus from increased Int. In Basic Calcs, the Total Spellpower cell, I'd add +0.04*Lun_Gui*(MkFInt-Int).

Edit3:Similar issue for increased spellpower from increased Spirit. In Total Spellpower, adding +0.05*iMK*(TotalSpi-Spirit).

#18 Adoriele

Adoriele

    Happy October 19th!

  • Members
  • 10,089 posts

Posted 03 December 2008 - 09:45 PM

You can get Excel to tell you how much an output (say DPS) will change if you change some input (say hit) by 1. The displayed answer will automatically be updated as other values in the spreadsheet (say Spellpower) or the original input (hit) are modified.

This works with at least Excel 2000 Professional, 2007 Professional, and 2007 Home and Student. I don't believe it works with Open Office, but maybe I just couldn't find it.

Suppose my input and output are named Hit and DPS. I want to know how much DPS changes, if Hit is increased by one. I need a grid of two rows and four columns (can also be done as four rows and two columns). I'll use R4 through U5.

In S4, put =Hit
In T4, put =S4+1
In R5, put =DPS
In U5, put =T5-S5

Select cells R4 through T5.
In old versions of excel go to the Data menu, and select Table.
In new versions of excel go to the Data Tab, click the arrow for "What If Analysis" and then select "Data Table."
In the dialog box that comes up, type "DPS" into the "Row" cell. Leave the "Column" cell blank.
Hit Ok.
You will see the current DPS in both R5 and S5. The value of DPS associated with (Hit+1) is in T5.
Your answer (how DPS scales with Hit) will be in cell U5.

Note that if your input has a cap (say number of talent points in Improved Moonfire), you'll want to avoid the "overflow" in T4. For IMF, you might use

In S4, =if(IMF==2,1,IMF)

now S4 will always be zero or 1, and T4 will always be 1 or 2.



You can extend this procedure to get the scaling for multiple outputs (say DPS, DPM, Time till OOM) by adding additional rows to the table:
R5=DPS, U5=T5-S5
R6=DPM, U6=T6-S6
R7=OomTime, U7=T7-S7
Instead of Selecting cells R4 through T5, you would select cells R4 through T7 before bringing up the Data/Table dialog box.

Edit: It appears the input cell ("Hit" in my example, needs to be on the same worksheet as your data table).

Edit2: It looks like the character stats should be unbuffed, in caster form (since Furor, AI, etc. all increase TotalInt). The spreadsheet is currently ignoring the Lunar Guidance bonus from increased Int. In Basic Calcs, the Total Spellpower cell, I'd add +0.04*Lun_Gui*(MkFInt-Int).

Edit3:Similar issue for increased spellpower from increased Spirit. In Total Spellpower, adding +0.05*iMK*(TotalSpi-Spirit).


Bagh, still can't seem to get this to work, though it's a bit more promising. I'm using Excel 2003 Basic on my work computer, I'll keep trying to get it working, and I've got 2007 Student at home as a last resort. I got your PM as well.

Good call on the spellpower calc, though. Never even thought of it.

[edit] AHA! Got it! Expect 1.1 in the not too distant future, with scaling for a whole shit ton of stuff. Should allow me to clean up a lot of the calc pages as well, now that I'm not going to have to do talent-by-talent calcs.

#19 Manthra

Manthra

    Glass Joe

  • Members
  • 4 posts

Posted 03 December 2008 - 11:53 PM

OpenOffice from www: OpenOffice.org - The Free and Open Productivity Suite is a great free tool. It's pretty much Office renamed and open source. Supports all the new formats.

#20 Adoriele

Adoriele

    Happy October 19th!

  • Members
  • 10,089 posts

Posted 05 December 2008 - 08:35 PM

WrathCalcsv1.1-

In this version, just about everything on the Character sheet shows scaling values of some sort. For stats, you'll see the added DPS of +1 (+.01 for latency). For talents, you'll see the benefit of the number of points you have in the talent, compared with being untalented. if you are untalented, you'll instead see the value of the first point. For most others, you'll see the value of the buff, whether you have it or not.

If there are multiple versions of a buff (i.e. food) with no clear default value (i.e. BoK is usually going to be all or nothing), the benefit will disappear if "None" is selected. Similarly, if one buff overrides another (i.e. you pick Divine Spirit and also choose a spirit scroll), the lesser buff's benefit will disappear, unless it's a consumable (to show you that, yes, you are wasting your money).

Buffs that do not stack, but also don't have the same total benefit, will only show their differences. I.E. if you have iMkAura, and have selected Swift Retribution as your All-haste raid buff, Swift retribution will show no benefit, but iMkAura will show the benefit of the added spellpower from Spirit.

Benefits which are a tautology are not shown (I.E. the benefit of +1 MP5 is... +1 MP5).

Also, bug fixes:
- Spammy rotations now work correctly with Eclipse, and the model is more fleshed-out.
- You can now choose to use a Smart Eclipse rotation
- Mana benefits from procs were being given even if the buff wasn't active. If you have no Moonkin Form, OoC, or JoW, you will notice a sharp decrease in available mana.
- Various talent interactions weren't being totaled properly, these have been fixed.
- It is assumed that if your MotW is better than the one listed in Raid Buffs, you'll be casting yours.

Issues:
- It is assumed that you are not casting FF, even if talented for it. Mostly, this is because I don't have the calcs in for how casting it affects your DPS. There is also no listing for a regular FF debuff, so the only way to get iFF's crit benefit is to set the Spell Hit Debuff to iFF instead of Misery.

[Edit] Hot on its heels, v1.1.1 includes an Idol selector.




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users