Theck's MATLAB thread - Cataclysm/4.x

Warning: Theorycraft inside.

Moderators: Fridmarr, Worldie, Aergis, theckhd

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby theckhd » Tue Apr 26, 2011 8:40 pm

If that's the case, I'll have to update the C# code, the sims don't reflect that mechanic.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
User avatar
theckhd
Moderator
 
Posts: 6205
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby knaughty » Tue Apr 26, 2011 8:47 pm

theckhd wrote:If that's the case, I'll have to update the C# code, the sims don't reflect that mechanic.


This is likely to slightly improve the TPS of rotations that pay attention to SD procs?
This isn't the "Offtankadin" forum. My MoP FAQ: http://tinyurl.com/FAQ-5-0
- Knaughty.
User avatar
knaughty
Maintankadonor
 
Posts: 1846
Joined: Mon Dec 17, 2007 10:06 pm
Location: Sydney, plotting my next diatribe against the forces of ignorance!

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby theckhd » Tue Apr 26, 2011 9:31 pm

I have to think about that. It will raise DPS across the board, for sure. I'd guess that the SD queues would see a slightly bigger benefit, in that they'd be going from SDSotR(miss)-Inq to SDSotR(miss)-SDSotR-. But again, that pushes back the entire cycle by a GCD, and in some cases they might have Inq up and would recast anyway, and it depends on how likely it was that SD or Inq was going to fall off before the next GCD anyway.

In short, there's probably too many different effects involved to say definitively without simming it out, but it shouldn't be very hard to do so in the next day or so.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
User avatar
theckhd
Moderator
 
Posts: 6205
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby Meloree » Wed Apr 27, 2011 6:06 am

knaughty wrote:Anyone who thinks that they can execute 56 with less than 1-2% extra decision time and zero mistakes when compared to 45 is delusional. Even you, Meloree.


For 1%, you'd better believe that I'm going to hit the dummy and figure out how to make that reliable and mistake free. Delusional? Maybe, but I think it's just a matter of good information display.

Remember that in most cases the only real point of making a mistake in that rotation is hitting SotR without SD or Inq - probably because they've fallen off due to a miss or two. If you hit the nonSD/Inq'd SotR, you're doing exactly what the slightly less optimal rotation would have you do. So your point of failure is in lapsing into a very nearly optimal rotation anyway.
Meloree
Maintankadonor
 
Posts: 794
Joined: Wed Mar 12, 2008 10:15 am

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby Malthrax » Wed Apr 27, 2011 6:37 am

knaughty wrote:45 reads as the winning to me when you consider ease of execution.

Versus this, for a percent or so more threat:
  1. If Inquisition is up, hit HotR every 2nd GCD
  2. If Inq is down, hit CS every 2nd GCD.
  3. If at 3 HoPo and Inquisition is up, hit ShoR.
  4. If at 3 HoPo and SD is up, hit ShoR
  5. If at 3 HoPo and you haven't got a SD Proc to use and Inq is down, hit Inquisition
  6. Hit AS between CS/HotR if it lit up. Don't push back Inq, ShoR, HotR or CS to hit it.
  7. HoW if you're in execute phase.
  8. Judge for Mana & SD procs.
  9. Whatever's off CD. Skip Consecrate unless you have mana coming out your ears.


No way I could keep track of that mentally. I'd need to write a clcInfo module to track the decisioning.
User avatar
Malthrax
 
Posts: 481
Joined: Tue Feb 03, 2009 11:23 am

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby knaughty » Wed Apr 27, 2011 7:00 am

Meloree wrote:So your point of failure is in lapsing into a very nearly optimal rotation anyway.


I hate it when you're (potentially) right.

However, I have to state that I still think that you're simply going to get off 1% less GCDs due to the mental bandwidth of trying to keep track of what to cast next.
Last edited by knaughty on Wed Apr 27, 2011 7:02 am, edited 1 time in total.
This isn't the "Offtankadin" forum. My MoP FAQ: http://tinyurl.com/FAQ-5-0
- Knaughty.
User avatar
knaughty
Maintankadonor
 
Posts: 1846
Joined: Mon Dec 17, 2007 10:06 pm
Location: Sydney, plotting my next diatribe against the forces of ignorance!

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby Chicken » Wed Apr 27, 2011 7:02 am

Malthrax wrote:
knaughty wrote:45 reads as the winning to me when you consider ease of execution.

Versus this, for a percent or so more threat:
  1. If Inquisition is up, hit HotR every 2nd GCD
  2. If Inq is down, hit CS every 2nd GCD.
  3. If at 3 HoPo and Inquisition is up, hit ShoR.
  4. If at 3 HoPo and SD is up, hit ShoR
  5. If at 3 HoPo and you haven't got a SD Proc to use and Inq is down, hit Inquisition
  6. Hit AS between CS/HotR if it lit up. Don't push back Inq, ShoR, HotR or CS to hit it.
  7. HoW if you're in execute phase.
  8. Judge for Mana & SD procs.
  9. Whatever's off CD. Skip Consecrate unless you have mana coming out your ears.


No way I could keep track of that mentally. I'd need to write a clcInfo module to track the decisioning.
It looks worse than it is. Steps 1-2 are superfluous as CS/HotR is in fact a single vs. multi-target choice: HotR is worse than CS on a single target even with Inq up. Beyond that the change is mostly steps 3-5; the rest you're already doing with the non-Inq queue.

Note the change is a case of having to decide "Do I cast Inq or ShoR?", you can combine steps 3 and 4 to answer that most easily: If either SD or Inq is up cast ShoR, otherwise cast Inq. That isn't too bad to keep track of, though a mod for it is obviously very helpful: Having PowerAuras display a shield when SD or Inq is up is probably the most intuitive solution. Timers sound attractive but are mostly unneeded fluff: You'll occasionally have your SD and Inq timers run out just when you get 3 HP which might cause you to do a ShoR where you should have done an Inq, but that's less bad for your DPS/TPS than accidentally using an Inq where you should have used ShoR.

Edit: Theck might want to split off this discussion into it's own topic since while it's interesting, it isn't directly related to the MATLAB model.
Image
User avatar
Chicken
 
Posts: 425
Joined: Fri Jun 26, 2009 2:19 pm

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby theckhd » Wed Apr 27, 2011 7:49 am

Nah, I don't think it really warrants its own thread, and it'll probably die out pretty soon anyway since there's not much more to be said about it. Plus, it's at least vaguely relevant in the sense of "what other queues do we want to add that are actually feasible?"

'SotR[phase of the moon]>Inq[weekdays]>CS[high tide]>HotR>AS+[planetary alignment]>J>AS>Cons[leap year]>HW' is right out!
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
User avatar
theckhd
Moderator
 
Posts: 6205
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby theckhd » Wed Apr 27, 2011 7:51 am

Also, in regards to SD not being consumed on miss/dodge/parry, the other effect I expect to see is a devaluation of hit/exp. SD utilization is a big part of the strength of hit/exp right now. Probably not as big as HP generation, but certainly significant enough to knock hit/exp down a peg.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
User avatar
theckhd
Moderator
 
Posts: 6205
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby Meloree » Wed Apr 27, 2011 7:55 am

knaughty wrote:
Meloree wrote:So your point of failure is in lapsing into a very nearly optimal rotation anyway.


I hate it when you're (potentially) right.

However, I have to state that I still think that you're simply going to get off 1% less GCDs due to the mental bandwidth of trying to keep track of what to cast next.


We have the easiest and most forgiving rotation of all the tanks. Adding ONE conditional to the very simple priority queue is not asking for excessive mental bandwidth. "If SD and/or Inq up, hit SotR, otherwise Inq" replaces "SotR". That's it, that's the only change. HP generation is predictable enough to be leaning one way or the other by the time you generate your last HP, so you really only need to know if SD procced from that last filler to choose your finisher.

I'm coming at this from the perspective of having played a feral druid dps alt in WotLK. Believe me, watching exactly one timer while watching for exactly one proc, and only having to actually pay attention to those at specific moments does not strike me as demanding excessive mental bandwidth. It strikes me that it requires a fraction of available mental bandwidth so small as to be nearly indistinguishable from zero. For 1%, when we're talking about nearly zero penalties for failure and very minimal added difficulty - why wouldn't you do it? At least for the advanced thread. If we're talking about the basic training thread, then 1% is lost in the noise of not hitting enough GCDs, I wouldn't recommend fighting for the last percent there, either.

EDIT: I wrong CS when I meant filler.
Meloree
Maintankadonor
 
Posts: 794
Joined: Wed Mar 12, 2008 10:15 am

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby knaughty » Wed Apr 27, 2011 8:17 am

Hmm...

I'll have a think about it.

I'll probably write up two (or three) rotations for the 4.1 Basic FAQ.

(1) SotR @ 3 HoPo. CS every second GCD. Anything off CD.
(2) The full SotR priority list ignoring Inquisition.
(3) The actual winning rotation, with a pointer to a mod to track Inq vs SotR.
This isn't the "Offtankadin" forum. My MoP FAQ: http://tinyurl.com/FAQ-5-0
- Knaughty.
User avatar
knaughty
Maintankadonor
 
Posts: 1846
Joined: Mon Dec 17, 2007 10:06 pm
Location: Sydney, plotting my next diatribe against the forces of ignorance!

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby 99sitr » Wed Apr 27, 2011 11:14 am

knaughty wrote:Hmm...

I'll have a think about it.

I'll probably write up two (or three) rotations for the 4.1 Basic FAQ.

(1) SotR @ 3 HoPo. CS every second GCD. Anything off CD.
(2) The full SotR priority list ignoring Inquisition.
(3) The actual winning rotation, with a pointer to a mod to track Inq vs SotR.


I just wrote
Code: Select all
if UnitPower("player", SPELL_POWER_HOLY_POWER) == 3 and UnitBuff("player", "Sacred Duty") or UnitBuff("player", "Inquisition")then
  return IconSpell("Shield of the Righteous")
else
  return IconSpell("Inquisition")
end
for clcinfo and it works great.

This puts priority on Inq unless Inq or SD are up, in that case cast SotR, if not then Inq.

The code to have this icon pop up over your priority 1 icon is
Code: Select all
if UnitPower("player", SPELL_POWER_HOLY_POWER) == 3 then
  if UnitBuff("player", "Sacred Duty") or UnitBuff("player", "Inquisition")then
    return IconSpell("Shield of the Righteous")
  else
    return IconSpell("Inquisition")
  end
end



EDIT: I had an "AND" that should have been an "OR", code corrected and tested.
Last edited by 99sitr on Wed Apr 27, 2011 2:03 pm, edited 2 times in total.
99sitr
 
Posts: 36
Joined: Thu Feb 11, 2010 11:55 am

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby Klaudandus » Wed Apr 27, 2011 11:47 am

99sitr wrote:
knaughty wrote:Hmm...

I'll have a think about it.

I'll probably write up two (or three) rotations for the 4.1 Basic FAQ.

(1) SotR @ 3 HoPo. CS every second GCD. Anything off CD.
(2) The full SotR priority list ignoring Inquisition.
(3) The actual winning rotation, with a pointer to a mod to track Inq vs SotR.


I just wrote
Code: Select all
if UnitPower("player", SPELL_POWER_HOLY_POWER) == 3 and UnitBuff("player", "Sacred Duty") and UnitBuff("player", "Inquisition")then
  return IconSpell("Shield of the Righteous")
else
  return IconSpell("Inquisition")
end
for clcinfo and it works great, now to just get it to show that icon only when hp is at 3.

This puts priority on Inq unless Inq and SD are both up, in that case cast SotR, if not then Inq.


couldnt you just make another conditional after the first else?
like

Code: Select all
if UnitPower("player", SPELL_POWER_HOLY_POWER) == 3 and UnitBuff("player", "Sacred Duty") and UnitBuff("player", "Inquisition")then
  return IconSpell("Shield of the Righteous")
else
  if UnitPower("player", SPELL_POWER_HOLY_POWER) == 3 then
  return IconSpell("Inquisition")
  end
end


Dont know if it works, but you get the jest of my idea
The Element of Forum Hyperbole
Image
---
Flüttershy - Draenei Protection Paladin, Aerie Peak
Klaudandus - BE Protection Paladin, Feathermoon (Semi-retired)
User avatar
Klaudandus
 
Posts: 9339
Joined: Thu Apr 02, 2009 7:08 am
Location: Texas' Armpit

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby Zalaria » Wed Apr 27, 2011 11:58 am

I don't know if it's required to return something, or if no return means no icon. If it's the latter, this should work:

Code: Select all
if UnitPower("player", SPELL_POWER_HOLY_POWER) == 3 then
  if UnitBuff("player", "Sacred Duty") and UnitBuff("player", "Inquisition")then
    return IconSpell("Shield of the Righteous")
  else
    return IconSpell("Inquisition")
  end
end
Dovie'andi se tovya sagain - It's time to roll the dice
User avatar
Zalaria
Maintankadonor
 
Posts: 349
Joined: Tue Sep 11, 2007 7:27 am

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby Petrus » Wed Apr 27, 2011 2:05 pm

knaughty wrote:Hmm...

I'll have a think about it.

I'll probably write up two (or three) rotations for the 4.1 Basic FAQ.

(1) SotR @ 3 HoPo. CS every second GCD. Anything off CD.
(2) The full SotR priority list ignoring Inquisition.
(3) The actual winning rotation, with a pointer to a mod to track Inq vs SotR.



In this case, just to be clear, what's the difference between (1) and (2)? It would seem to me that (2) is just a long version/explanation of (1), in which case I'm not sure you need both.

For (3), you mentioned earlier that HotR would be used. Is this true or is CS still better filler when Inquisition is up? My base understanding of what you wrote before is that SotR is really only used with BOTH SD&Inq up, and if only one of the two is up, Inq on 3 HP, which produces a ~1% DPS increase.

And lastly I recommend CLCRet/CLCProt for buff tracking - I have a giant inquisition symbol in the corner when it's up and when I'm prot I have both Inq and SD showing.
User avatar
Petrus
Maintankadonor
 
Posts: 725
Joined: Wed Feb 06, 2008 3:45 am
Location: St. Paul, Minnesota

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby Awyndel » Wed Apr 27, 2011 3:19 pm

I recommend waiting a week for hotfixes/tests/clean code before you script your rotation addon and write a large guide.
User avatar
Awyndel
 
Posts: 595
Joined: Sat Feb 14, 2009 8:49 am
Location: The Netherlands

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby theckhd » Wed Apr 27, 2011 3:20 pm

SoT/2%/10 results with proper Sacred Duty handling:

Code: Select all
                                            DPS            TPS            SHPS            E     I 
  Q#  Priority                              V=100%  V=30%  V=100%  V=30%  V=100%  V=30%   %     % 
   1  SotR>CS>AS>J                          14470    9320  43409   27959     0       0    7.3   0.0
   2  SotR>HotR>AS>J                        13352    8506  40055   25517     0       0    7.3   0.0
   3  SotR>CS>J>AS                          14365    9239  43094   27717     0       0    7.4   0.0
   4  SotR>AS>CS>J                          14297    9208  42890   27625     0       0    8.6   0.0
   5  AS>SotR>CS>J                          14169    9127  42507   27382     0       0    9.2   0.0
   6  SotR>CS>AS+>J>AS                      14440    9294  43319   27883     0       0    7.3   0.0
   7  SotR>AS+>CS>J>AS                      14420    9282  43261   27846     0       0    7.7   0.0
   8  sdAS>sdJ>SotR>CS>AS>J                 13942    8969  41825   26908     0       0   11.6   0.0
   9  sdAS>SotR>CS>AS>J                     14342    9238  43025   27713     0       0    8.8   0.0
  10  SotR>CS>AS>J>HW                       14706    9556  44118   28669     0       0    2.8   0.0
  11  SotR>CS>AS>J>Cons>HW                  14901    9661  44703   28985     0       0    1.6   0.0
  12  SotR>AS+>CS>AS>J>Cons>HW              14884    9652  44651   28957     0       0    1.8   0.0
  13  sdAS>sdJ>SotR>CS>AS>J>Cons>HW         14441    9372  43323   28116     0       0    4.7   0.0
  14  Inq>CS>AS>J                           12518    8053  37553   24160     0       0    7.7  94.1
  15  Inq>HotR>AS>J                         12034    7627  36101   22880     0       0    7.7  94.1
  16  iInq>SotR>CS>AS>J                     13988    9002  41965   27005     0       0    7.6  72.3
  17  iInq>SotR2>CS>AS>J                    12796    8240  38388   24719     0       0    5.2   0.0
  18  ISotR>Inq>CS>AS>J                     13988    9002  41965   27005     0       0    7.6  72.3
  19  SDSotR>ISotR>Inq>CS>AS>J              14590    9392  43769   28177     0       0    7.5  39.6
  20  ISotR>SDSotR>Inq>CS>AS>J              14590    9392  43769   28177     0       0    7.5  39.6
  21  ISDSotR>Inq>CS>AS>J                   13884    8934  41652   26802     0       0    7.6  78.1
  22  Inq>CS>AS>J>Cons>HW                   13088    8506  39264   25520     0       0    1.8  94.1
  23  Inq>HotR>AS>J>Cons>HW                 12604    8079  37812   24240     0       0    1.8  94.1
  24  ISotR>Inq>CS>AS>J>Cons>HW             14494    9403  43484   28210     0       0    1.7  72.3
  25  SDSotR>ISotR>Inq>CS>AS>J>Cons>HW      15062    9767  45185   29301     0       0    1.7  39.6
  26  SDSotR>ISotR>Inq>CS>AS>J>ICons>HW     14985    9726  44956   29179     0       0    2.2  39.6
  27  SDSotR>Inq>CS>AS>J>Cons>HW            14964    9706  44893   29118     0       0    1.7  45.3
  28  ISDSotR>Inq>CS>AS>J>Cons>HW           14406    9349  43220   28047     0       0    1.7  78.1
  29  WoG>CS>AS>J                           11522    7425  34566   22275  1537    1096   10.5   0.0
  30  WoG>SotR>CS>AS>J                      13176    8488  39529   25464  1268     904    7.5   0.0
  31  WoG>SotR[cdWoG>10]>CS>AS>J            12250    7894  36750   23681  1519    1083    9.0   0.0
  32  WoG>SotR2[cdWoG>10]>CS>AS>J           11759    7576  35278   22727  1518    1082    8.7   0.0
  33  WoG>Inq>CS>AS>J                       12041    7749  36124   23248  1270     906    7.7  65.1
  34  WoG>CS>AS>J>Cons>HW                   12026    7834  36080   23502  1537    1096    3.6   0.0
  35  WoG>SotR>CS>AS>J>Cons>HW              13613    8834  40839   26504  1268     904    1.7   0.0
  36  WoG>SotR2>CS>AS>J>Cons>HW             13161    8521  39482   25563     0       0    0.6   0.0
  37  WoG>Inq>CS>AS>J>Cons>HW               12567    8167  37702   24503  1270     906    1.8  65.1
  38  WoG>Inq>HotR>AS>J>Cons>HW             11871    7609  35613   22828  1270     906    1.8  65.1
  39  WoG>Inq>AS+>CS>AS>J>Cons>HW           12582    8181  37748   24543  1253     893    2.1  64.2
  40  WoG>ISotR>Inq>CS>AS>J>Cons>HW         13195    8568  39585   25706  1269     905    1.7  50.3
  41  WoG>iInq>SotR>CS>AS>J>Cons>HW         13195    8568  39585   25706  1269     905    1.7  50.3
  42  SotR>CS>AS>J>HoW                      15664   10145  46991   30434     0       0    1.6   0.0
  43  SotR>CS>AS>HoW>J                      15992   10404  47976   31213     0       0    0.3   0.0
  44  SotR>CS>HoW>AS>J                      15921   10385  47764   31154     0       0    0.3   0.0
  45  SotR>HoW>CS>AS>J                      15760   10297  47281   30890     0       0    1.3   0.0
  46  HoW>SotR>CS>AS>J                      15629   10222  46887   30665     0       0    1.9   0.0
  47  SotR>CS>AS+>HoW>AS>J                  15985   10410  47954   31229     0       0    0.2   0.0
  48  SotR>CS>AS>J>HoW>Cons>HW              15812   10248  47437   30745     0       0    0.0   0.0
  49  SotR>CS>AS>HoW>J>Cons>HW              16024   10425  48071   31276     0       0    0.0   0.0
  50  SotR>CS>HoW>AS>J>Cons>HW              15954   10406  47861   31218     0       0    0.0   0.0
  51  SotR>HoW>CS>AS>J>Cons>HW              15890   10385  47670   31156     0       0    0.0   0.0
  52  HoW>SotR>CS>AS>J>Cons>HW              15812   10350  47436   31049     0       0    0.0   0.0
  53  ISotR>SDSotR>Inq>CS>AS>J>HoW>Cons>HW  16072   10418  48216   31254     0       0    0.0  39.6
  54  ISotR>SDSotR>Inq>CS>AS>HoW>J>Cons>HW  16330   10631  48990   31893     0       0    0.0  42.3
  55  ISotR>SDSotR>Inq>CS>HoW>AS>J>Cons>HW  16271   10624  48813   31872     0       0    0.0  43.8
  56  ISotR>SDSotR>Inq>HoW>CS>AS>J>Cons>HW  16268   10646  48803   31938     0       0    0.0  42.3
  57  ISotR>SDSotR>HoW>Inq>CS>AS>J>Cons>HW  16258   10642  48775   31928     0       0    0.0  41.8
  58  HoW>ISotR>SDSotR>Inq>CS>AS>J>Cons>HW  16203   10622  48611   31867     0       0    0.0  46.1
  59  WoG>SotR>CS>AS>J>HoW>Cons>HW          14546    9435  43638   28306  1268     904    0.0   0.0
  60  WoG>SotR>CS>AS>HoW>J>Cons>HW          14800    9640  44399   28919  1268     904    0.0   0.0
  61  WoG>SotR>CS>HoW>AS>J>Cons>HW          14761    9641  44283   28923  1257     896    0.0   0.0
  62  WoG>SotR>HoW>CS>AS>J>Cons>HW          14717    9633  44152   28899  1227     875    0.0   0.0
  63  WoG>HoW>SotR>CS>AS>J>Cons>HW          14614    9576  43843   28727  1273     908    0.0   0.0



(I,SD)SotR>Inq>CS>filler is still ahead by around 150 DPS (up slightly). Looks like the SD change was a ~200 DPS buff across the board, more or less.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
User avatar
theckhd
Moderator
 
Posts: 6205
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby knaughty » Wed Apr 27, 2011 3:43 pm

Petrus wrote:
knaughty wrote:Hmm...

I'll have a think about it.

I'll probably write up two (or three) rotations for the 4.1 Basic FAQ.

(1) SotR @ 3 HoPo. CS every second GCD. Anything off CD.
(2) The full SotR priority list ignoring Inquisition.
(3) The actual winning rotation, with a pointer to a mod to track Inq vs SotR.



In this case, just to be clear, what's the difference between (1) and (2)? It would seem to me that (2) is just a long version/explanation of (1), in which case I'm not sure you need both.

Mostly explaining how to use Grand Crusader procs.

(1) Would be the "I just got to 85, I've never tanked, I really need to pay attention to the mobs, not my rotation" rotation. Remember the basic FAQ is meant to be basic. And telling people that they can ignore all the procs and only cost themselves 5-10% threat (probably less) is useful info.

Someone who's never tanked is better off noticing that the caster at the back is nuking the healer than doing 10% extra threat threat.
Last edited by knaughty on Wed Apr 27, 2011 6:57 pm, edited 1 time in total.
This isn't the "Offtankadin" forum. My MoP FAQ: http://tinyurl.com/FAQ-5-0
- Knaughty.
User avatar
knaughty
Maintankadonor
 
Posts: 1846
Joined: Mon Dec 17, 2007 10:06 pm
Location: Sydney, plotting my next diatribe against the forces of ignorance!

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby Iminmmnni » Wed Apr 27, 2011 6:31 pm

I would have thought that SD fishing rotations would have performed better. My guess is that we'd need to add HP conditionals for a fishing rotation to be feasible. Does anyone think this is worth doing?

Also, given how bad SotR2 is, it would be interesting to see how a WoG rotation with an Inq filler compares to WoG/SotR.
Iminmmnni
 
Posts: 45
Joined: Thu Mar 24, 2011 4:41 pm
Location: Melbourne

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby Caeles » Thu Apr 28, 2011 1:11 am

Theck, when does your Sim refresh inquisition? I ask because for Ret, it's typically said it's a DPS increase to refresh Inquisition if there is 6 seconds or less remaining (this can change because of ret 4 piece).

Just wondering if you've taken that into consideration, or if it's a straight up priority sim for when you should use inquisition without any modifiers for time remaining on buff etc.
Caeles
 
Posts: 5
Joined: Mon Feb 21, 2011 7:28 pm

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby Klaudandus » Thu Apr 28, 2011 5:20 am

Out of curiosity, how realistically is #1 to begin with? I try to stick to that priority and I don't break 10K dps (bar some exceptions)...
The Element of Forum Hyperbole
Image
---
Flüttershy - Draenei Protection Paladin, Aerie Peak
Klaudandus - BE Protection Paladin, Feathermoon (Semi-retired)
User avatar
Klaudandus
 
Posts: 9339
Joined: Thu Apr 02, 2009 7:08 am
Location: Texas' Armpit

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby theckhd » Thu Apr 28, 2011 5:21 am

"Inq" by itself only has the implicit "3 holy power" conditional. Any other conditionals would have to be specified in brackets, i.e. "Inq[buffInq<3]" to refresh only if the duration is less than 3 seconds.

I can add a few with that sort of conditional to see what the effect is.

@Iminmmnni, do you mean changing it to sdAS[hp=3]>sdJ[hp=3]>... (provided that conditional even exists), or do you mean redefining sd to implicitly mean (buffSD=0 && hp=3)?

I'll add WoG>Inq2>else to the list for the next run as well.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
User avatar
theckhd
Moderator
 
Posts: 6205
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby theckhd » Thu Apr 28, 2011 6:09 am

Klaudandus wrote:Out of curiosity, how realistically is #1 to begin with? I try to stick to that priority and I don't break 10K dps (bar some exceptions)...


It's completely realistic if you're tanking Patchwerk. In other words, 100% face time, 100% Vengeance, etc. In the real world, you're probably fluctuating between 50% and 90%, moving the boss or tank swapping, and any number of other things that reduce your overall DPS. So you'll probably fall somewhere between the 30% and 100% columns in parses.

If you're not convinced, we can run a sanity check. I'm sure you remember the way we carefully tested each ability's damage range during beta, since you helped. Go generate a dummy parse for those 4 primary abilities and SoT/Censure, and report your AP/SP/haste/weapon/weapon damage. I'll use those values to generate expected damage values at 0 vengeance. We can see if any are significantly off, though I doubt it.

Another (easier) thing you can do as a sanity check is compare your arid parses (technically Recount data, I'm not sure that WoL gives you min/avg/max values for each ability) to the values from the Ability Damage post:
Code: Select all
                     SoT, 2%/10                  SoI, 2%/10
                    Damage/Healing              Damage/Healing
    Ability    Raw    Dmg    Net  Glyph        Raw    Dmg  Glyph
    SotR     21093  16968  17878  18665      21093  15866  17453
    WoG      28871  32264  32264  35490      28871  32264  37103
    CS       13802  12697  13607  13228      13802  11872  12369
    HotR      1770   1628   2538   1753       1770   1522   1640
    AS       16014  15475  16565  20118      16014  15475  20118
    Cons     13187  13011  13011  15613      13187  13011  15613
    Exor     12807  12637  13719  15164      12807  12637  15164
    HoW      15900  19777  20867  19777      15900  19777  19777
    HW        4605   5188   5188   5188       4605   5188   5188
    Jud      14214  13959  15048  14657      10663  10472  10995
    HaNova    7692   6835   6835   7361       7692   6400   6892
    SoI       4778   3106      0   3106       4778   3106   3106
    SoJ        505    499      0    499        505    499    499
    SoR       1112   1112      0   1112       1112   1112   1112
    SoT       1110   1159      0   1159       1110   1159   1159
    Melee     4538   3425   4335   3425       4538   3198   3198
    Cens     16216  16942  16942  16942      16216  16942  16942


Those are all at 100% vengeance. If you look at data for a boss where you spend a decent portion getting hit hard enough to be near max vengeance, and compare the values in the "Raw" column to your maximum non-crit damage during an encounter, they should be fairly close. If anything, your max non-crit damage should be a little higher than the Raw column, as those are average values.

That said, I've been comparing them to my own parses, and they seem pretty consistent. For a quick sanity check, here's the average hit sizes from a heroic V&T parse:

CS: 11684 average, 84.6% of model
SotR: 14923, 70.75% of model
JoT: 10820, 76.12% of model
Censure: 2034 per tick, 62.7% of model
Melee: 2541, 56.0% of model
AS: 12444, 77.7% of model
SoT: 758, 68.3% of model
HoW: 9929, 62.5% of model
Cons: 772, 58.5% of model
HW: 4633, 1.01% of model

Given that I was tanking about half the time on that fight, those all seem reasonable. Some of them are obviously affected more than others by Vengeance, based on scaling factors (ex: HW doesn't scale at all, so the model's basically perfect, Melee scales extremely sensitively with it, which is why it's closer to 56% - likely about the amount of time I spent tanking).

Another parse, this time H. Nef attempt with our scan range limited to the time Agwyne was actively tanking Nef:
CS: 12829, 93.0% of model
Melee: 4265, 94.0% of model
SotR: 19518, 92.5% of model
AS: 19548, 93.9% of model if we assume he's glyphed
JoT: 14505, 102% of model
SoT: 1050, 94.6% of model
HW: 4451, 96.6% of model
Cons: 646, 49.0% of model
Cens: 2894, 89.2% of model

Again, pretty consistent if we assume that he's hovering between 90% and 100% vengeance for that period. The Cons data seems low, but that could be erroneous since there's only one Cons cast (ex: maybe he dropped a Cons on Nef immediately, before he started taking damage). The other possibility is that Cons doesn't scale with Vengeance AP, which would be sort of weird.

I guess you could make the argument that we should be evaluating these at ~70% Vengeance to get more realistic DPS predictions for a fight with tank swaps. The reason I haven't is primarily that we're most interested in how to optimize DPS when we're actively tanking, and Vengeance is likely to be 90%+. Many of the boss mechanics that cause low vengeance involve time off target (V&T phasing being an obvious example), during which you might not even be attacking. So it would be sort of misleading to optimize your entire rotation around an anomalously low Vengeance value.

I think it's better to give high and low values, so that you have good estimates in both scenarios. If you want to estimate overall DPS for an encounter, you can mix them appropriately with a weighted average. It might be useful to have values for 0% Vengeance for that purpose, so that you could make calculations like 0.5*(dps at 100% veng)+0.5*(dps at 0% veng). The 30% Vengeance values were intended as an estimate for heroic 5-mans, where you'll have a lot less than when tanking a raid boss (but still nonzero, because you're taking damage).
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of Grehn|Skipjack.
Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 6.x, Blog: Sacred Duty
User avatar
theckhd
Moderator
 
Posts: 6205
Joined: Thu Jul 31, 2008 3:06 pm
Location: Harrisburg, PA

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby Klaudandus » Thu Apr 28, 2011 6:25 am

Well, that makes a lot of sense and now I feel dumb.

I could do a dummy test on friday tho, could be worth doing -- I've felt my threat being wonky since the patch for some odd reason.
The Element of Forum Hyperbole
Image
---
Flüttershy - Draenei Protection Paladin, Aerie Peak
Klaudandus - BE Protection Paladin, Feathermoon (Semi-retired)
User avatar
Klaudandus
 
Posts: 9339
Joined: Thu Apr 02, 2009 7:08 am
Location: Texas' Armpit

Re: Theck's MATLAB thread - Cataclysm/4.x

Postby Iminmmnni » Thu Apr 28, 2011 8:30 pm

theckhd wrote:@Iminmmnni, do you mean changing it to sdAS[hp=3]>sdJ[hp=3]>... (provided that conditional even exists), or do you mean redefining sd to implicitly mean (buffSD=0 && hp=3)?


The former, but presently a hp conditional does not yet exist. Having thought some more about it, I don't think that'll be enough as the conditionals would be quite messy. Take the following scenario: 3HP, no SD, J on CD, GC proc. We probably don't want to AS fish as we can SotR-CS-AS-CS-SotR and use the AS to fish for a quick second SotR. We'd only do that if we had >3s left on the GC proc: we might want to SotR-AS-CS if we had >1.5 but <3s left on AS. If J was off CD then we might want to fish only if we have >4.5s left on the GC proc. It gets messy.

The optimal rotation probably has quite a number of edge cases such as the above and we're unlikely to happen upon them by manual construction of a queue. Fishing may well be appropriate but given the poor performance of blanket fishing, I suspect it's likely to be only edge cases where it is.

I'll try working the other way and apply some AI search algorithms to find dps improvements to #1/11/24 then try to work out how/if they map back to a rotation.
Iminmmnni
 
Posts: 45
Joined: Thu Mar 24, 2011 4:41 pm
Location: Melbourne

PreviousNext

Return to Advanced Theorycraft and Calculations

Who is online

Users browsing this forum: Yahoo [Bot] and 1 guest

Who is online

In total there are 2 users online :: 1 registered, 0 hidden and 1 guest (based on users active over the past 5 minutes)
Most users ever online was 380 on Tue Oct 14, 2008 6:28 pm

Users browsing this forum: Yahoo [Bot] and 1 guest