Skip to content
Maintankadin

Theck's Simcraft Thread - WoD/6.x

theckhd
Sat Sep 27, 2014 5:20 pm

Tier 100 Talents - Seraphim

Here's where the fun part starts. Level 100 Talents. Holy Shield has been the baseline so far, and obviously we don't need to figure out where to slot that in. Seraphim is the next one I considered.

Here I'm comparing three different setups. One is no Seraphim usage at all (No_SP). The other two both use Seraphim in different ways. The CD_Chaining profile attempts to chain DP, Seraphim, and SotR - in other words, it won't use DP if Serpahim is currently up, or vice versa, and so on. This is basically what Danielspally discussed in another thread. The other profile just uses DP and Seraphim on cooldown, regardless of each other. Obviously SotR still has to be conditionalized there to allow us to build up 5 HP, so SotR is not used in the 5 seconds before Seraphim's cooldown comes up to allow for Holy Power buildup.

Default Talents: 0032222
Default Glyphs: alabaster_shield/focused_shield/final_wrath

Actions Header:
Code: Select all
actions.precombat=flask,type=greater_draenic_stamina_flask
actions.precombat+=/food,type=talador_surf_and_turf
actions.precombat+=/blessing_of_kings,if=(!aura.str_agi_int.up)&(aura.mastery.up)
actions.precombat+=/blessing_of_might,if=!aura.mastery.up
actions.precombat+=/seal_of_insight
actions.precombat+=/sacred_shield
actions.precombat+=/snapshot_stats
actions=/auto_attack
actions+=/eternal_flame,if=buff.eternal_flame.remains<2&buff.bastion_of_glory.react>2&(holy_power>=3|buff.divine_purpose.react|buff.bastion_of_power.react)
actions+=/eternal_flame,if=buff.bastion_of_power.react&buff.bastion_of_glory.react>=5

Actions Footer:
Code: Select all
actions+=/sacred_shield


Rotation Configurations:
Code: Select all
actions+=/divine_protection,if=buff.seraphim.down
actions+=/seraphim,if=buff.divine_protection.down&cooldown.divine_protection.remains>0
actions+=/shield_of_the_righteous,if=(holy_power>=5|buff.divine_purpose.react|incoming_damage_1500ms>=health.max*0.3)&(!talent.seraphim.enabled|cooldown.seraphim.remains>5)
CS>J>HW>AS>HoW>LH>SS+DR<2>Cons
name=CD_Chaining

actions+=/divine_protection
actions+=/seraphim
actions+=/shield_of_the_righteous,if=(holy_power>=5|buff.divine_purpose.react|incoming_damage_1500ms>=health.max*0.3)&(!talent.seraphim.enabled|cooldown.seraphim.remains>5)
CS>J>HW>AS>HoW>LH>SS+DR<2>Cons
name=CD_as_available

actions+=/divine_protection
actions+=/shield_of_the_righteous,if=(holy_power>=5|buff.divine_purpose.react|incoming_damage_1500ms>=health.max*0.3)
CS>J>HW>AS>HoW>LH>SS+DR<2>Cons
name=No_Sera


Final imported profile: http://pastebin.com/yXQDSBJB

HTML Report: https://www.dropbox.com/s/dkwpow4rv6kjl ... .html?dl=0

Relevant Plots:
Image

Commentary
DPS error ~5, TMI error ~75, build 18912

Seraphim is a fairly significant DPS increase over nothing at all. Clearly more DPS than Holy Shield, at any rate - though recall that our previous sims were performed before the recent buffs to HS. At any rate, the TMI rankings tell a slightly different story. Seraphim doesn't seem to do much at all for TMI. It's a noticeable reduction in DTPS, of course, but apparently it's not addressing our big spikes. I suspect the 5-second build up has a lot to do with that, even though we're constraining DP in such a way as it covers more of that period than usual. We may want to try repeating this test with a reduced shutout period on SotR to see what's optimal there.

What I was really looking for here was the difference between the cooldown-chaining model and the "use everything whenever it's available model." And it's clear that the difference is negligible, probably because (a) they don't overlap that much to begin with, and (b) I didn't have Divine Protection glyphed here, so it was just mitigating the DoT damage.

Conclusions: I think that in practice, chaining is probably still better than the "use as available" model. We will probably want to re-sim this with DP glyphed though to confirm. I didn't realize DP wasn't glyphed until I was writing up this post, so I'll get to that when I have some free time.
theckhd
Sat Sep 27, 2014 5:21 pm

Re: Theck's Simcraft Thread - WoD/6.x

That's it for today, unfortunately. I'll try to find time tomorrow morning to write up the next block of sims, but it's a big one. I have 8 sims worth of data on Empowered Seals to write up, so it'll take a while. I may not get through them all tomorrow, but I'll finish whatever's left on Monday.
Danielspally
Sat Sep 27, 2014 10:28 pm

Re: Theck's Simcraft Thread - WoD/6.x

I'm relieved to see that DP wasn't glyphed in the Seraphim chain CD sim. The results didn't make sense to me and I've been going nutso trying to figure out why there was no significant difference between spamming and chaining.

I'm leaving my computer on in the next couple of days simming DPS stats weights. Will post as soon as they're complete.
Danielspally
Sat Sep 27, 2014 10:46 pm

Re: Theck's Simcraft Thread - WoD/6.x

The sims finished much quicker than I expected. I've found some interesting results. Please keep in mind that these sims were done with a crit favored setup. I've put together the best crit pieces possible available to players on beta while maintaining the 4-set.

I'm using SS, sanctified wrath, and seraphim.

Crit Heavy Gear

Haste-Multi
https://www.dropbox.com/s/ca7xy4fj2a3j0 ... .html?dl=0

Crit-Multi
https://www.dropbox.com/s/etm3t7nlb4jus ... .html?dl=0

Haste-Crit
https://www.dropbox.com/s/dc7hfc0v7csx5 ... .html?dl=0

These three links show reforge plots (+/- 500) comparing the 3 top secondary dps stats: multistrike, crit, and haste.

Haste seems to be acting rather interestingly, peaking at ~150+ and ~375+ haste from the current setup. Crit seems to add more dps per point than multistrike. To optimize dps from my current crit setup, I'd need to take away 375 multistrike and add that to haste to min/max dps.

Haste seems to peak 1100 and 875 unbuffed, the former being higher in dps. These results were processed with full raid buffs. **WARNING** I am not proficient with Matlab, R, Sigmaplot, or any other program related to statistics outside of scientific research. My information may not be accurate! I really should learn how to apply this stuff to WoW...

I know what I'm sharing isn't much but I hope this gives people some place to start.

I'll be working on a multistrike and haste set as well.

I'll also be working on simming results with only the 2-piece bonus as I personally will not be actively pursuing the 4-set during bleeding edge progression.
Danielspally
Sun Sep 28, 2014 5:53 am

Re: Theck's Simcraft Thread - WoD/6.x

Found another interesting breakpoint with haste. Alongside with 875 and 1100, 1400 seems to be another dps peak. For some reason, the DPS starts to dip significantly after 1400. Once again, I'm running these sims with the assumption that simcraft is working 100% accurately and with SS, sanctified wrath, and seraphim. The only safe conclusion that I'd be willing to make from this set of data is that haste does not increase DPS linearly as was the case with MoP.

The following data are sims of the top 3 DPS stats (outside of bonus armor) using a 2-piece bonus multistrike heavy setup.

Multistrike Heavy Gear

Multi-Haste
https://www.dropbox.com/s/5d7lkymoemwml ... .html?dl=0

Multi-Crit
https://www.dropbox.com/s/fiahnantl6qn5 ... .html?dl=0

Crit-Haste
https://www.dropbox.com/s/nvebgythqrgot ... .html?dl=0

Conclusions
Crit is a better DPS stat than multistrike. Haste seems to have DPS breakpoints. Haste breakpoints increase the DPS more than any other stat, but is generally inferior outside of these breakpoints.
theckhd
Sun Sep 28, 2014 8:51 am

Re: Theck's Simcraft Thread - WoD/6.x

Something feels fishy to me about those haste results. It should be a very linear DPS increase up to the 50% haste cap. If you note, it looks relatively linear below 0 on the reforge plot. We should really run a few sims higher up on that curve so we can compare the results to the ones you generated and see what's changing to cause that behavior. It may just be some sort of oddity with our APL or a bug in SimC.
theckhd
Sun Sep 28, 2014 9:17 am

Re: Theck's Simcraft Thread - WoD/6.x

Also, I was going to post Empowered Seals data today, but I want to double-check some stuff in the code to make sure the data I have is correct. I have a suspicion that Resolve wasn't being applied correctly now that I'm looking carefully at the results, so I want to look into that this morning and fix it if necessary. If it was incorrect, I'll have a bunch of sims queued up once I'm sure it's working properly so I'll have results tomorrow either way.
angelflavor
Sun Sep 28, 2014 11:03 am

Re: Theck's Simcraft Thread - WoD/6.x

I can't wait to see empowered Seal data.. though I think I will stick with Holy Shield.. When I first seen empowered seals I thought it was going to be like old seals where judgment would interact with the Seal. I think Seal Dancing/Twisting kind of is a turn off....
theckhd
Mon Sep 29, 2014 7:00 am

Re: Theck's Simcraft Thread - WoD/6.x

So, for what it's worth, someone pointed out to me that the TMI bosses were doing a lot more magic damage than intended. Often well over 50% of their damage was coming from the DoT component, because the person that added the new boss entries in the table just guessed at the DoT damage values. And I didn't realize that, and hadn't looked that closely to notice this problem. In any event, I've fixed it this morning, and the following sims have the corrected boss damage profile (~20-25% of damage is DoT damage).

I don't think it will have a strong effect on the previous sims, but I'll probably go back and rerun a number of them just to be sure. For now, let's plod on...
theckhd
Mon Sep 29, 2014 7:12 am

Re: L100 Talents - Empowered Seals - Single Seal

Ok, as promised, here's some data for Empowered Seals.

One of the problems with Empowered Seals is the sheer scale of the parameter space. Not only do we have to consider the position in the APL, we also have various ways we can write conditionals for seal swapping and all of that could potentially change based on the number of seals we decide to swap. Fun.

As a result, I broke this up into several different sims. After each one, we'll take note of the "winners," and at the end we'll sim the winners all together (I call this the "playoffs" sim).

First one up is the simplest case: one seal.



Default Talents: 0032221
Default Glyphs: alabaster_shield/focused_shield/final_wrath

Actions Header:
Code: Select all
actions.precombat=flask,type=greater_draenic_stamina_flask
actions.precombat+=/food,type=talador_surf_and_turf
actions.precombat+=/blessing_of_kings,if=(!aura.str_agi_int.up)&(aura.mastery.up)
actions.precombat+=/blessing_of_might,if=!aura.mastery.up
actions=/auto_attack
actions+=/eternal_flame,if=buff.eternal_flame.remains<2&buff.bastion_of_glory.react>2&(holy_power>=3|buff.divine_purpose.react|buff.bastion_of_power.react)
actions+=/eternal_flame,if=buff.bastion_of_power.react&buff.bastion_of_glory.react>=5
actions+=/divine_protection,if=buff.seraphim.down
actions+=/seraphim,if=buff.divine_protection.down&cooldown.divine_protection.remains>0
actions+=/shield_of_the_righteous,if=(holy_power>=5|buff.divine_purpose.react|incoming_damage_1500ms>=health.max*0.3)&(!talent.seraphim.enabled|cooldown.seraphim.remains>5)

Actions Footer:
Code: Select all
actions+=/sacred_shield


Rotation Configurations:
Code: Select all
actions.precombat+=/seal_of_insight/sacred_shield/snapshot_stats
CS>J>HW>AS>HoW>LH>SS+DR<2>Cons
name=seal_of_insight

actions.precombat+=/seal_of_righteousness/sacred_shield/
CS>J>HW>AS>HoW>LH>SS+DR<2>Cons
name=seal_of_righteousness

actions.precombat+=/seal_of_truth/sacred_shield/snapshot_stats
CS>J>HW>AS>HoW>LH>SS+DR<2>Cons
name=seal_of_truth


Footer: empty


Final imported profile: http://pastebin.com/mYXbMv08

HTML Report: https://www.dropbox.com/s/gb17vwoy12pfi ... .html?dl=0

Relevant Plots:
Image

Commentary
DPS error ~4, TMI error ~32, build 18935

This isn't terribly surprising. Seal of Truth is the DPS winner, Seal of Insight is the clear TMI winner. Seal of Righteousness is the DTPS winner by virtue of increased HPG, though obviously that ignores HPS. If you consider DTPS-HPS, Seal of Insight still wins handily, so I'd still say Seal of Insight is the "net DTPS" winner.

It seems like Truth and Righteousness are both similar in defensive benefit. I probably should have included three more actors in this sim that didn't use Empowered Seals just to show the relative change each seal has - I may add that to future versions. In any event, it appears that using Seal of Insight shaves around 12%-14% off of TMI and 6%-12% off of the maximum spike size (MSD). From this, we should expect Insight to feature prominently in the seal-swapping sims.

We'll keep all three of our single-seal setups for the playoffs, so there isn't much to conclude here. At least, nothing we didn't already guess (Truth for DPS, Insight for survival, Righteousness presumably still for AoE DPS).
theckhd
Mon Sep 29, 2014 8:27 am

Re: Theck's Simcraft Thread - WoD/6.x

For the next few sims, we'll consider twisting two seals at a time. The first pairing I'm considering is Insight and Righteousness.

But before we look at results, let's consider is how we refresh. In Schroom's earlier sims, he used two blocks of APL entries: one at the end of the APL to swap seals in any empty GCD, and one further up in the APL to swap during the rotation.

The block at the end looked like this:
Code: Select all
actions+=/seal_of_insight,if=talent.empowered_seals.enabled&buff.uthers_insight.remains<buff.liadrins_righteousness.remains&buff.uthers_insight.remains<buff.maraads_truth.remains
actions+=/seal_of_righteousness,if=talent.empowered_seals.enabled&buff.liadrins_righteousness.remains<buff.uthers_insight.remains&buff.liadrins_righteousness.remains<buff.maraads_truth.remains
actions+=/seal_of_truth,if=talent.empowered_seals.enabled&buff.maraads_truth.remains<buff.uthers_insight.remains&buff.maraads_truth.remains<buff.liadrins_righteousness.remains


This seems straightforward enough: Cast whatever seal has the least time remaining on the buff out of the three. I can't find any fault with that logic, so I'll be using the same block at the end of the APL (though, obviously modified to just consider Insight & Righteousness for this test). The only thing I added is a test to make sure this isn't the active seal, for example:

Code: Select all
/seal_of_insight,if=talent.empowered_seals.enabled&!seal.insight&buff.uthers_insight.remains<buff.liadrins_righteousness.remains


The "!seal.insight" makes sure we don't try and re-cast SoI in an empty GCD while it's already active. This is important because I'm going to place this block ahead of the /sacred_shield line in the Action Footer, so seal twisting will have slightly higher priority than SS refreshes.

Note that there's still an entry higher up in the APL to refresh Sacred Shield if the duration gets too short, so that will be invoked more often due to seal twisting eating up GCDs. More on this later.

The block he used to refresh higher up in the queue used slightly different logic:

Code: Select all
actions+=/seal_of_insight,if=talent.empowered_seals.enabled&buff.uthers_insight.remains<cooldown.judgment.remains
actions+=/seal_of_righteousness,if=talent.empowered_seals.enabled&buff.uthers_insight.remains>cooldown.judgment.remains&buff.liadrins_righteousness.down
actions+=/seal_of_truth,if=talent.empowered_seals.enabled&buff.uthers_insight.remains>cooldown.judgment.remains&buff.liadrins_righteousness.remains>cooldown.judgment.remains&buff.maraads_truth.down


To explain that in words: use Seal of Insight if Uthers Insight will expire before our next Judgment, use SoR if Uther's Insight will last until after our next Judgment but Liadrin's Righteousness is already down, and use Seal of Truth if both Insight and Righteousness buffs will last until after our next Judgment but Maraad's Truth is down.

What I wasn't sure about here is the "down" part. It wasn't clear to me whether it would be optimal to wait to swap seals until after the respective buff has already expired, or whether we should try to refresh them before they expired. So in addition to his version of the conditionals (which I call the "down" or "d" version), I added a second version that looks like this (the "up" or "u" version):

Code: Select all
/seal_of_insight,if=talent.empowered_seals.enabled&!seal.insight&buff.uthers_insight.remains<(cooldown.judgment.duration+cooldown.judgment.remains)
/seal_of_righteousness,if=talent.empowered_seals.enabled&!seal.righteousness&buff.uthers_insight.remains>(cooldown.judgment.duration+cooldown.judgment.remains)&buff.liadrins_righteousness.remains<(cooldown.judgment.duration+cooldown.judgment.remains)


The logic here is similarly straightforward: swap to Insight if Uther's Insight will expire before the judgment after the next one, thus ensuring that it is refreshed before it expires. The Righteousness conditional follows similar logic: swap if Uther's Insight will persist past that second Judgment but Righteousness won't. Both use the !seal.* conditional to make sure we don't accidentally recast the seal we're using. In a sense, this is the "greedy refresh" algorithm that makes sure you have 100% uptime on every buff, barring the initial ramp-up period at the pull.

In typing this up, I can think of another variation on Schroom's conditionals where we replace "buff.*.down" with "buff.*.remains<cooldown.judgment.remains". That should loosen the restrictions on the second and third seal a little bit and potentially give better uptime on the buffs. Since I just thought of it now, I haven't tried simming it yet. But comparing that to the other two versions may be interesting.

For the rest of these Empowered Seals sims, I'll be defining a shorthand for the entire block of seal twisting logic. For example:

Code: Select all
IRd=seal_of_insight,if=talent.empowered_seals.enabled&!seal.insight&buff.uthers_insight.remains<cooldown.judgment.remains/seal_of_righteousness,if=talent.empowered_seals.enabled&!seal.righteousness&buff.uthers_insight.remains>cooldown.judgment.remains&buff.liadrins_righteousness.down
IRu=seal_of_insight,if=talent.empowered_seals.enabled&!seal.insight&buff.uthers_insight.remains<(cooldown.judgment.duration+cooldown.judgment.remains)
/seal_of_righteousness,if=talent.empowered_seals.enabled&!seal.righteousness&buff.uthers_insight.remains>(cooldown.judgment.duration+cooldown.judgment.remains)&buff.liadrins_righteousness.remains<(cooldown.judgment.duration+cooldown.judgment.remains)
IRe=seal_of_insight,if=talent.empowered_seals.enabled&!seal.insight&buff.uthers_insight.remains<buff.liadrins_righteousness.remains/seal_of_righteousness,if=talent.empowered_seals.enabled&!seal.righteousness&buff.liadrins_righteousness.remains<buff.uthers_insight.remains


You can see that "IRd" means twist Insight and Righteousness, in that priority, using the "down" refresh logic. IRu replaces the "down" logic with the "up" logic, and IRe uses the "empty GCD" logic. Generally our shorthands will be something like stuff>IR(d/u)>other_stuff>IRe.
theckhd
Mon Sep 29, 2014 8:51 am

Re: Theck's Simcraft Thread - WoD/6.x

Ok, first test is Insight and Righteousness. We'll be testing both IRd and IRu logic at various positions in the priority queue. For each of these I'll be adding a "Custom Shorthands" section to list the shorthands I'm adding to the sidebar of the automation tool.

Default Talents: 0032221
Default Glyphs: alabaster_shield/focused_shield/final_wrath

Actions Header:
Code: Select all
actions.precombat=flask,type=greater_draenic_stamina_flask
actions.precombat+=/food,type=talador_surf_and_turf
actions.precombat+=/blessing_of_kings,if=(!aura.str_agi_int.up)&(aura.mastery.up)
actions.precombat+=/blessing_of_might,if=!aura.mastery.up
actions.precombat+=/seal_of_insight
actions.precombat+=/sacred_shield
actions.precombat+=/snapshot_stats
actions=/auto_attack
actions+=/eternal_flame,if=buff.eternal_flame.remains<2&buff.bastion_of_glory.react>2&(holy_power>=3|buff.divine_purpose.react|buff.bastion_of_power.react)
actions+=/eternal_flame,if=buff.bastion_of_power.react&buff.bastion_of_glory.react>=5
actions+=/divine_protection,if=buff.seraphim.down
actions+=/seraphim,if=buff.divine_protection.down&cooldown.divine_protection.remains>0
actions+=/shield_of_the_righteous,if=(holy_power>=5|buff.divine_purpose.react|incoming_damage_1500ms>=health.max*0.3)&(!talent.seraphim.enabled|cooldown.seraphim.remains>5)

Actions Footer:
Code: Select all
actions+=/sacred_shield


Special Shorthands:
Code: Select all
IRd=seal_of_insight,if=talent.empowered_seals.enabled&!seal.insight&buff.uthers_insight.remains<cooldown.judgment.remains/seal_of_righteousness,if=talent.empowered_seals.enabled&!seal.righteousness&buff.uthers_insight.remains>cooldown.judgment.remains&buff.liadrins_righteousness.down
IRu=seal_of_insight,if=talent.empowered_seals.enabled&!seal.insight&buff.uthers_insight.remains<(cooldown.judgment.duration+cooldown.judgment.remains)
/seal_of_righteousness,if=talent.empowered_seals.enabled&!seal.righteousness&buff.uthers_insight.remains>(cooldown.judgment.duration+cooldown.judgment.remains)&buff.liadrins_righteousness.remains<(cooldown.judgment.duration+cooldown.judgment.remains)
IRe=seal_of_insight,if=talent.empowered_seals.enabled&!seal.insight&buff.uthers_insight.remains<buff.liadrins_righteousness.remains/seal_of_righteousness,if=talent.empowered_seals.enabled&!seal.righteousness&buff.liadrins_righteousness.remains<buff.uthers_insight.remains



Rotation Configurations:
Code: Select all
CS>J>HW>AS>HoW>LH>SS+DR<2>Cons name=seal_of_insight
CS>J>HW>AS>HoW>LH>SS+DR<2>Cons>IRe name=Base>IR_empty
CS>J>HW>AS>HoW>LH>SS+DR<2>IRd>Cons>IRe name=(CS-SS)>IRd>(Cons-IRe)
CS>J>HW>AS>HoW>LH>IRd>SS+DR<2>Cons>IRe name=(CS-LH)>IRd>(SS-IRe)
CS>J>HW>AS>HoW>IRd>LH>SS+DR<2>Cons>IRe name=(CS-HoW)>IRd>(LH-IRe)
CS>J>HW>AS>IRd>HoW>LH>SS+DR<2>Cons>IRe name=(CS-AS)>IRd>(HoW-IRe)
CS>J>HW>IRd>AS>HoW>LH>SS+DR<2>Cons>IRe name=(CS-HW)>IRd>(AS-IRe)
CS>J>IRd>HW>AS>HoW>LH>SS+DR<2>Cons>IRe name=(CS-J)>IRd>(HW-IRe)
CS>IRd>J>HW>AS>HoW>LH>SS+DR<2>Cons>IRe name=CS>IRd>(J-IRe)
IRd>CS>J>HW>AS>HoW>LH>SS+DR<2>Cons>IRe name=IRd>Base>IRe
CS>J>HW>AS>HoW>LH>SS+DR<2>IRu>Cons>IRe name=(CS-SS)>IRu>(Cons-IRe)
CS>J>HW>AS>HoW>LH>IRu>SS+DR<2>Cons>IRe name=(CS-LH)>IRu>(SS-IRe)
CS>J>HW>AS>HoW>IRu>LH>SS+DR<2>Cons>IRe name=(CS-HoW)>IRu>(LH-IRe)
CS>J>HW>AS>IRu>HoW>LH>SS+DR<2>Cons>IRe name=(CS-AS)>IRu>(HoW-IRe)
CS>J>HW>IRu>AS>HoW>LH>SS+DR<2>Cons>IRe name=(CS-HW)>IRu>(AS-IRe)
CS>J>IRu>HW>AS>HoW>LH>SS+DR<2>Cons>IRe name=(CS-J)>IRu>(HW-IRe)
CS>IRu>J>HW>AS>HoW>LH>SS+DR<2>Cons>IRe name=CS>IRu>(J-IRe)
IRu>CS>J>HW>AS>HoW>LH>SS+DR<2>Cons>IRe name=IRu>Base>IRe


Footer: empty


Final imported profile: http://pastebin.com/axXRq6ZE

HTML Report: https://www.dropbox.com/s/x2qap53p8m9qy ... .html?dl=0

Relevant Plots:
Image
Image

Commentary
DPS error ~4, TMI error ~31, build 18935

First, I want to revisit the SS issue I mentioned in the intro because it highlights one of the issues with Empowered Seals. In the 1-seal sim, the "/sacred_shield" line in the action footer got invoked 29 times per sim, on average, while the "SS+DR<2" entry got invoked 1.45 times on average. In other words, we cast Sacred Shield about 30.5 times per sim, and only 5% of those were "emergency" refreshes because the buff was about to expire - the rest all came from empty GCDs.

Now look at the second image I posted in the "Relevant Plots" section. This is the action list usage for the "Base>IR_empty" actor, in other words the one that's just filling empty GCDs with seal twisting. This actor is only refreshing Sacred Shield 14.1 times per sim (leading to an uptime of only 90%), and almost 80% of those casts are due to the emergency line. The results only get worse from this actor, as we're pushing more and more SS casts out and losing uptime.

We may need to bump that sacred shield line up higher to maintain 100% uptime on Sacred Shield, as I suspect the majority of that SS downtime is occurring during execute range when Hammer of Wrath is eating up a bunch of GCDs. Doing so will cause a small DPS loss compared to the results presented. We may also need to stick a sacred shield refresh line above our seal-twisting block to make sure it's rising in priority with our seal twisting (when that is above HoW in priority).

If you look at hte "Spent Time" plot you'll also find that we no longer have any wait time. In the single-seal sim, we still had around 9s of wait time in a 450-second sim, or about 2%. Empowered Seals eats up all of that. That explains why we're having so much trouble keeping SS and empowered seals active.

With that aside, let's consider the stacked bar plots. Obviously your high-DPS parse is Base>IR_empty, because that sacrifices no DPS casts to refresh seals while still getting a generous amount of Liadrin's Righteousness uptime (84.5%). Our Insight/Righteousness seal uptime split is around 51%/49%, so we're getting fairly good swapping out of this. Our Uther's Insight uptime is 88.6%.

The low-TMI actor is still the single-seal one, using only Seal of Insight and not swapping at all. So, curiously, there's next to no survivability benefit to seal-swapping Insight and Righteousness. Of course, there is a DPS cost for doing so - you lose out on about 1300 DPS, or a potential increase of a little under 10%.

Also, the TMI gain isn't that huge. We're talking about a 3% decrease in spike intake, which isn't insignificant, but also isn't a huge change. The interesting part here is that the next-best ones are (CS-SS)>IR(u/d)>(Cons-IRe) - in other words, the ones that prioritize Sacred Shield ahead of seal twisting. Though it's worth noting that there isn't a large variation in survival between any of the twisting setups.

Since (CS-SS)>IRd>(Cons-IRe) is also one of the higher-DPS actors, I think it's probably safe to call this one the "winner" this time around. However, I'm sort of curious how it would pan out if we added a sacred shield refresh to our IRd/IRu blocks. I wouldn't be surprised if the low-TMI parse would then be (HP generators)>SS2>IR(d/u)>(DPS stuff). I'm still not sure it would beat the SoI-only actor though.

As to the IRd vs. IRu debate, it looks like IRd actually comes out on top. For the most part, the IRd parses win on DPS and have lower TMI. the first part makes sense, in that we're using fewer GCDs to swap seals (but thus getting lower uptime on them overall). The second part is likely due to the Sacred Shield issue above - again, IRu uses more GCDs, so if it's ahead of our SS refresh line, it cuts into our SS uptime more significantly.

So, at least for now, I think the following conclusions can be drawn:
  • SS is important enough that we probably want to prioritize refreshing it above seal swapping
  • Using only empty GCDs to swap between Insight and Righteousness gives the best offensive benefit.
  • Swapping between Insight and Righteousness has no defensive benefit over just using SoI...
  • However we can make a fairly clean trade of survival for DPS by seal-swapping.
  • We may need to revisit this test with a Sacred Shield refresh line in our seal-swapping block to see if there's any improvement

eta: forgot to mention which actors get to move on to the playoffs. In this case, Base>IR_empty as the DPS winner and (CS-SS)>IRd>(Cons-IRe) as the TMI "winner" of the twisting group since the actual TMI winner (SoI only) is already going to the playoffs.
theckhd
Mon Sep 29, 2014 9:11 am

Re: Theck's Simcraft Thread - WoD/6.x

Next up, twisting Insight & Truth:



Default Talents: 0032221
Default Glyphs: alabaster_shield/focused_shield/final_wrath

Actions Header:
Code: Select all
actions.precombat=flask,type=greater_draenic_stamina_flask
actions.precombat+=/food,type=talador_surf_and_turf
actions.precombat+=/blessing_of_kings,if=(!aura.str_agi_int.up)&(aura.mastery.up)
actions.precombat+=/blessing_of_might,if=!aura.mastery.up
actions.precombat+=/seal_of_insight
actions.precombat+=/sacred_shield
actions.precombat+=/snapshot_stats
actions=/auto_attack
actions+=/eternal_flame,if=buff.eternal_flame.remains<2&buff.bastion_of_glory.react>2&(holy_power>=3|buff.divine_purpose.react|buff.bastion_of_power.react)
actions+=/eternal_flame,if=buff.bastion_of_power.react&buff.bastion_of_glory.react>=5
actions+=/divine_protection,if=buff.seraphim.down
actions+=/seraphim,if=buff.divine_protection.down&cooldown.divine_protection.remains>0
actions+=/shield_of_the_righteous,if=(holy_power>=5|buff.divine_purpose.react|incoming_damage_1500ms>=health.max*0.3)&(!talent.seraphim.enabled|cooldown.seraphim.remains>5)

Actions Footer:
Code: Select all
actions+=/sacred_shield


Custom Shorthands:
Code: Select all
ITd=seal_of_insight,if=talent.empowered_seals.enabled&!seal.insight&buff.uthers_insight.remains<cooldown.judgment.remains/seal_of_truth,if=talent.empowered_seals.enabled&!seal.truth&buff.uthers_insight.remains>cooldown.judgment.remains&buff.maraads_truth.down
ITu=seal_of_insight,if=talent.empowered_seals.enabled&!seal.insight&buff.uthers_insight.remains<(cooldown.judgment.duration+cooldown.judgment.remains)/seal_of_truth,if=talent.empowered_seals.enabled&!seal.truth&buff.uthers_insight.remains>(cooldown.judgment.duration+cooldown.judgment.remains)&buff.maraads_truth.remains<(cooldown.judgment.duration+cooldown.judgment.remains)
ITe=seal_of_insight,if=talent.empowered_seals.enabled&!seal.insight&buff.uthers_insight.remains<buff.maraads_truth.remains/seal_of_truth,if=talent.empowered_seals.enabled&!seal.truth&buff.maraads_truth.remains<buff.uthers_insight.remains



Rotation Configurations:
Code: Select all
CS>J>HW>AS>HoW>LH>SS+DR<2>Cons name=seal_of_insight
CS>J>HW>AS>HoW>LH>SS+DR<2>Cons>ITe name=Base>IT_empty
CS>J>HW>AS>HoW>LH>SS+DR<2>ITd>Cons>ITe name=(CS-SS)>ITd>(Cons-ITe)
CS>J>HW>AS>HoW>LH>ITd>SS+DR<2>Cons>ITe name=(CS-LH)>ITd>(SS-ITe)
CS>J>HW>AS>HoW>ITd>LH>SS+DR<2>Cons>ITe name=(CS-HoW)>ITd>(LH-ITe)
CS>J>HW>AS>ITd>HoW>LH>SS+DR<2>Cons>ITe name=(CS-AS)>ITd>(HoW-ITe)
CS>J>HW>ITd>AS>HoW>LH>SS+DR<2>Cons>ITe name=(CS-HW)>ITd>(AS-ITe)
CS>J>ITd>HW>AS>HoW>LH>SS+DR<2>Cons>ITe name=(CS-J)>ITd>(HW-ITe)
CS>ITd>J>HW>AS>HoW>LH>SS+DR<2>Cons>ITe name=CS>ITd>(J-ITe)
ITd>CS>J>HW>AS>HoW>LH>SS+DR<2>Cons>ITe name=ITd>Base>ITe
CS>J>HW>AS>HoW>LH>SS+DR<2>ITu>Cons>ITe name=(CS-SS)>ITu>(Cons-ITe)
CS>J>HW>AS>HoW>LH>ITu>SS+DR<2>Cons>ITe name=(CS-LH)>ITu>(SS-ITe)
CS>J>HW>AS>HoW>ITu>LH>SS+DR<2>Cons>ITe name=(CS-HoW)>ITu>(LH-ITe)
CS>J>HW>AS>ITu>HoW>LH>SS+DR<2>Cons>ITe name=(CS-AS)>ITu>(HoW-ITe)
CS>J>HW>ITu>AS>HoW>LH>SS+DR<2>Cons>ITe name=(CS-HW)>ITu>(AS-ITe)
CS>J>ITu>HW>AS>HoW>LH>SS+DR<2>Cons>ITe name=(CS-J)>ITu>(HW-ITe)
CS>ITu>J>HW>AS>HoW>LH>SS+DR<2>Cons>ITe name=CS>ITu>(J-ITe)
ITu>CS>J>HW>AS>HoW>LH>SS+DR<2>Cons>ITe name=ITu>Base>ITe




Final imported profile: http://pastebin.com/epzmLa98

HTML Report: https://www.dropbox.com/s/oyz3n6z79q0l5 ... .html?dl=0

Relevant Plots:
Image

Commentary
Perhaps unsurprisingly, twisting Insight & Truth leads to higher DPS than Insight & Righteousness. The TMI cost of doing so is proportionally higher as well, though.

This time the highest-DPS configuration is the one in which we put ITd at the top of the queue, forcing ~95% uptime on both buffs. 100% is unattainable thanks to the initial ramp-up period, during which neither buff is active, and also thanks to the "down" in the conditional ensuring small amounts of downtime during the sim.

Curiously, this parse is also tied for the best TMI of the twisting configurations at 121k. Again, I'm curious how this would shake out if we included a sacred shield refresh in the seal-twisting block. (CS-SS)>IT(d/u)>(Cons-ITe) both also perform well for TMI and DPS, but the field is pretty narrow in both metrics.

From this sim, I think the ones we'll take on to the playoffs are ITd>Base>Ite and (CS-SS)>ITd>(Cons-ITe). I'm also thinking of taking Base>IT_empty as a wild card since it performed similarly to the latter and should be easier to play - also might be a nice comparison to Base>IR_empty.
theckhd
Mon Sep 29, 2014 11:00 am

Re: Theck's Simcraft Thread - WoD/6.x

Next, some DPS-focused queues. This time, we'll do Righteousness+Truth

Default Talents: 0032221
Default Glyphs: alabaster_shield/focused_shield/final_wrath

Actions Header:
Code: Select all
actions.precombat=flask,type=greater_draenic_stamina_flask
actions.precombat+=/food,type=talador_surf_and_turf
actions.precombat+=/blessing_of_kings,if=(!aura.str_agi_int.up)&(aura.mastery.up)
actions.precombat+=/blessing_of_might,if=!aura.mastery.up
actions.precombat+=/seal_of_righteousness
actions.precombat+=/sacred_shield
actions.precombat+=/snapshot_stats
actions=/auto_attack
actions+=/eternal_flame,if=buff.eternal_flame.remains<2&buff.bastion_of_glory.react>2&(holy_power>=3|buff.divine_purpose.react|buff.bastion_of_power.react)
actions+=/eternal_flame,if=buff.bastion_of_power.react&buff.bastion_of_glory.react>=5
actions+=/divine_protection,if=buff.seraphim.down
actions+=/seraphim,if=buff.divine_protection.down&cooldown.divine_protection.remains>0
actions+=/shield_of_the_righteous,if=(holy_power>=5|buff.divine_purpose.react|incoming_damage_1500ms>=health.max*0.3)&(!talent.seraphim.enabled|cooldown.seraphim.remains>5)

Actions Footer:
Code: Select all
actions+=/sacred_shield


Custom Shorthands:
Code: Select all
RTd=seal_of_righteousness,if=talent.empowered_seals.enabled&!seal.righteousness&buff.liadrins_righteousness.remains<cooldown.judgment.remains/seal_of_truth,if=talent.empowered_seals.enabled&!seal.truth&buff.liadrins_righteousness.remains>cooldown.judgment.remains&buff.maraads_truth.down
RTu=seal_of_righteousness,if=talent.empowered_seals.enabled&!seal.righteousness&buff.liadrins_righteousness.remains<(cooldown.judgment.duration+cooldown.judgment.remains)/seal_of_truth,if=talent.empowered_seals.enabled&!seal.truth&buff.liadrins_righteousness.remains>(cooldown.judgment.duration+cooldown.judgment.remains)&buff.maraads_truth.remains<(cooldown.judgment.duration+cooldown.judgment.remains)
RTe=seal_of_righteousness,if=talent.empowered_seals.enabled&!seal.righteousness&buff.liadrins_righteousness.remains<buff.maraads_truth.remains/seal_of_truth,if=talent.empowered_seals.enabled&!seal.truth&buff.maraads_truth.remains<buff.liadrins_righteousness.remains


Rotation Configurations:
Code: Select all
CS>J>HW>AS>HoW>LH>SS+DR<2>Cons name=seal_of_righteousness
CS>J>HW>AS>HoW>LH>SS+DR<2>Cons>RTe name=Base>RT_empty
CS>J>HW>AS>HoW>LH>SS+DR<2>RTd>Cons>RTe name=(CS-SS)>RTd>(Cons-RTe)
CS>J>HW>AS>HoW>LH>RTd>SS+DR<2>Cons>RTe name=(CS-LH)>RTd>(SS-RTe)
CS>J>HW>AS>HoW>RTd>LH>SS+DR<2>Cons>RTe name=(CS-HoW)>RTd>(LH-RTe)
CS>J>HW>AS>RTd>HoW>LH>SS+DR<2>Cons>RTe name=(CS-AS)>RTd>(HoW-RTe)
CS>J>HW>RTd>AS>HoW>LH>SS+DR<2>Cons>RTe name=(CS-HW)>RTd>(AS-RTe)
CS>J>RTd>HW>AS>HoW>LH>SS+DR<2>Cons>RTe name=(CS-J)>RTd>(HW-RTe)
CS>RTd>J>HW>AS>HoW>LH>SS+DR<2>Cons>RTe name=CS>RTd>(J-RTe)
RTd>CS>J>HW>AS>HoW>LH>SS+DR<2>Cons>RTe name=RTd>Base>RTe
CS>J>HW>AS>HoW>LH>SS+DR<2>RTu>Cons>RTe name=(CS-SS)>RTu>(Cons-RTe)
CS>J>HW>AS>HoW>LH>RTu>SS+DR<2>Cons>RTe name=(CS-LH)>RTu>(SS-RTe)
CS>J>HW>AS>HoW>RTu>LH>SS+DR<2>Cons>RTe name=(CS-HoW)>RTu>(LH-RTe)
CS>J>HW>AS>RTu>HoW>LH>SS+DR<2>Cons>RTe name=(CS-AS)>RTu>(HoW-RTe)
CS>J>HW>RTu>AS>HoW>LH>SS+DR<2>Cons>RTe name=(CS-HW)>RTu>(AS-RTe)
CS>J>RTu>HW>AS>HoW>LH>SS+DR<2>Cons>RTe name=(CS-J)>RTu>(HW-RTe)
CS>RTu>J>HW>AS>HoW>LH>SS+DR<2>Cons>RTe name=CS>RTu>(J-RTe)
RTu>CS>J>HW>AS>HoW>LH>SS+DR<2>Cons>RTe name=RTu>Base>RTe


Footer: empty

Final imported profile: http://pastebin.com/5KXR6yp7

HTML Report: https://www.dropbox.com/s/bo1z6jr9zguso ... .html?dl=0

Relevant Plots:
Image

Commentary
DPS error ~5, TMI error ~27, build 18935

As you can see, these queues ramp up the DPS at the expense of Insight's survivability. There isn't a whole lot of variation in DPS as long as you're using both seals, and the TMI variation is even smaller. It's actually tough to pick a winner here, because they're all so close that the distinction between them is starting to get fuzzy. (CS-HW)>RTd>(AS-RTe) and RTd>Base>RTe are the top two DPS and are both tied for lowest TMI (within rounding, at least), so those seem like the two to pick for the playoffs.

The main conclusion to draw here is that Empowered Seals gives you quite a bit of versatility. If you recall, the Seal of Insight sim was around 14k DPS, but these SoR/SoT twisting parses are 19.7k. So you can generate a swing of 5.7k between "super-survival mode" and "off-tanking DPS mode" just by changing your seal patterns.
theckhd
Mon Sep 29, 2014 11:11 am

Re: Theck's Simcraft Thread - WoD/6.x

Next up... Truth + Righteousness!

You might ask why I'm doing this again. In part, it's because we might get slightly better DPS results from TR than from RT, since Truth is stronger for DPS. It doesn't make much sense to sim RI or TI because we expect both of those to be worse for survival, and neither will compare to RT or TR for DPS. We care more about the extremes (best survival and best DPS) since we may swap depending on task, so it's worth checking TR just in case it's better at the top end.

Default Talents: 0032221
Default Glyphs: alabaster_shield/focused_shield/final_wrath

Actions Header:
Code: Select all
actions.precombat=flask,type=greater_draenic_stamina_flask
actions.precombat+=/food,type=talador_surf_and_turf
actions.precombat+=/blessing_of_kings,if=(!aura.str_agi_int.up)&(aura.mastery.up)
actions.precombat+=/blessing_of_might,if=!aura.mastery.up
actions.precombat+=/seal_of_truth
actions.precombat+=/sacred_shield
actions.precombat+=/snapshot_stats
actions=/auto_attack
actions+=/eternal_flame,if=buff.eternal_flame.remains<2&buff.bastion_of_glory.react>2&(holy_power>=3|buff.divine_purpose.react|buff.bastion_of_power.react)
actions+=/eternal_flame,if=buff.bastion_of_power.react&buff.bastion_of_glory.react>=5
actions+=/divine_protection,if=buff.seraphim.down
actions+=/seraphim,if=buff.divine_protection.down&cooldown.divine_protection.remains>0
actions+=/shield_of_the_righteous,if=(holy_power>=5|buff.divine_purpose.react|incoming_damage_1500ms>=health.max*0.3)&(!talent.seraphim.enabled|cooldown.seraphim.remains>5)

Actions Footer:
Code: Select all
actions+=/sacred_shield


Custom Shorthands:
Code: Select all
TRd=seal_of_truth,if=talent.empowered_seals.enabled&!seal.truth&buff.maraads_truth.remains<cooldown.judgment.remains/seal_of_righteousness,if=talent.empowered_seals.enabled&!seal.righteousness&buff.maraads_truth.remains>cooldown.judgment.remains&buff.liadrins_righteousness.down
TRu=seal_of_truth,if=talent.empowered_seals.enabled&!seal.truth&buff.maraads_truth.remains<(cooldown.judgment.duration+cooldown.judgment.remains)/seal_of_righteousness,if=talent.empowered_seals.enabled&!seal.righteousness&buff.maraads_truth.remains>(cooldown.judgment.duration+cooldown.judgment.remains)&buff.liadrins_righteousness.remains<(cooldown.judgment.duration+cooldown.judgment.remains)
TRe=seal_of_truth,if=talent.empowered_seals.enabled&!seal.truth&buff.liadrins_righteousness.remains>buff.maraads_truth.remains/seal_of_righteousness,if=talent.empowered_seals.enabled&!seal.righteousness&buff.maraads_truth.remains>buff.liadrins_righteousness.remains


Rotation Configurations:
Code: Select all
CS>J>HW>AS>HoW>LH>SS+DR<2>Cons name=seal_of_righteousness
CS>J>HW>AS>HoW>LH>SS+DR<2>Cons>TRe name=Base>TR_empty
CS>J>HW>AS>HoW>LH>SS+DR<2>TRd>Cons>TRe name=(CS-SS)>TRd>(Cons-TRe)
CS>J>HW>AS>HoW>LH>TRd>SS+DR<2>Cons>TRe name=(CS-LH)>TRd>(SS-TRe)
CS>J>HW>AS>HoW>TRd>LH>SS+DR<2>Cons>TRe name=(CS-HoW)>TRd>(LH-TRe)
CS>J>HW>AS>TRd>HoW>LH>SS+DR<2>Cons>TRe name=(CS-AS)>TRd>(HoW-TRe)
CS>J>HW>TRd>AS>HoW>LH>SS+DR<2>Cons>TRe name=(CS-HW)>TRd>(AS-TRe)
CS>J>TRd>HW>AS>HoW>LH>SS+DR<2>Cons>TRe name=(CS-J)>TRd>(HW-TRe)
CS>TRd>J>HW>AS>HoW>LH>SS+DR<2>Cons>TRe name=CS>TRd>(J-TRe)
TRd>CS>J>HW>AS>HoW>LH>SS+DR<2>Cons>TRe name=TRd>Base>TRe
CS>J>HW>AS>HoW>LH>SS+DR<2>TRu>Cons>TRe name=(CS-SS)>TRu>(Cons-TRe)
CS>J>HW>AS>HoW>LH>TRu>SS+DR<2>Cons>TRe name=(CS-LH)>TRu>(SS-TRe)
CS>J>HW>AS>HoW>TRu>LH>SS+DR<2>Cons>TRe name=(CS-HoW)>TRu>(LH-TRe)
CS>J>HW>AS>TRu>HoW>LH>SS+DR<2>Cons>TRe name=(CS-AS)>TRu>(HoW-TRe)
CS>J>HW>TRu>AS>HoW>LH>SS+DR<2>Cons>TRe name=(CS-HW)>TRu>(AS-TRe)
CS>J>TRu>HW>AS>HoW>LH>SS+DR<2>Cons>TRe name=(CS-J)>TRu>(HW-TRe)
CS>TRu>J>HW>AS>HoW>LH>SS+DR<2>Cons>TRe name=CS>TRu>(J-TRe)
TRu>CS>J>HW>AS>HoW>LH>SS+DR<2>Cons>TRe name=TRu>Base>TRe


Footer: empty


Final imported profile: http://pastebin.com/UwVYXDuA

HTML Report: https://www.dropbox.com/s/tqufrvnlx895l ... .html?dl=0

Relevant Plots:
Image

Commentary
DPS error ~5, TMI error ~28, build 18935

Very similar story here. Not much variation in TMI, nor in DPS once both seals are engaged. Only slight improvement over RT methods in DPS. Note that I accidentally mislabeled the baseline here "seal_of_righteousness," it's actually "seal_of_truth." I'm just bad at copy/paste.

Picking winners, it seems logical to take (CS-AS)>TRd>(HoW-TRe) since it's top DPS and tied for min TMI (barely). We'll also take the TMI winner, (CS-SS)>TRd>(Cons-TRe), to the playoffs. We choose that one because the two give essentially identical survivability, but TRd is slightly higher DPS.
theckhd
Mon Sep 29, 2014 12:09 pm

Re: Theck's Simcraft Thread - WoD/6.x

Now it's time to throw everything together and look at three-seal rotations. While there are six permutations to consider, there are really only two we care much about: IRT and TRI. IRT will emphasize survival since I is first, and TRI will emphasize DPS since T is first. In this post, we consider IRT.

The shorthands also start to get a little insane. Also, we need to make a slight change to the "empty" versions - we can't just check for "buff.seal2.remains<buff.seal1.remains&buff.seal2.remains<buff.seal3.remains". Assuming we start in seal1, seal2 and seal3 will both have a remaining time of 0 at the beginning, and the second conditional will always be false. The same is true for the conditionals for seal3. To avoid this problem, we just change all of the < signs to <= signs, so that 0<=0 evaluates to true. In practice, the only time when they'll actually be equal in duration is when they're both down.

While posting, I thought of one minor flaw in this. In theory we could get a case with 2 empty GCDs back to back and both seal2 and seal3 down, and the sim might swap to seal2 in the first GCD and seal3 in the second. I should probably add some code to eliminate that possibility, which may be as simple as turning the <= back into < signs in the last seal's conditionals. I doubt it matters much in practice, because we'll almost never have 2 empty GCDs back to back anyway.

Default Talents: 0032221
Default Glyphs: alabaster_shield/focused_shield/final_wrath

Actions Header:
Code: Select all
actions.precombat=flask,type=greater_draenic_stamina_flask
actions.precombat+=/food,type=talador_surf_and_turf
actions.precombat+=/blessing_of_kings,if=(!aura.str_agi_int.up)&(aura.mastery.up)
actions.precombat+=/blessing_of_might,if=!aura.mastery.up
actions.precombat+=/seal_of_insight
actions.precombat+=/sacred_shield
actions.precombat+=/snapshot_stats
actions=/auto_attack
actions+=/eternal_flame,if=buff.eternal_flame.remains<2&buff.bastion_of_glory.react>2&(holy_power>=3|buff.divine_purpose.react|buff.bastion_of_power.react)
actions+=/eternal_flame,if=buff.bastion_of_power.react&buff.bastion_of_glory.react>=5
actions+=/divine_protection,if=buff.seraphim.down
actions+=/seraphim,if=buff.divine_protection.down&cooldown.divine_protection.remains>0
actions+=/shield_of_the_righteous,if=(holy_power>=5|buff.divine_purpose.react|incoming_damage_1500ms>=health.max*0.3)&(!talent.seraphim.enabled|cooldown.seraphim.remains>5)

Actions Footer:
Code: Select all
actions+=/sacred_shield


Custom Shorthands:
Code: Select all
IRTd=seal_of_insight,if=talent.empowered_seals.enabled&!seal.insight&buff.uthers_insight.remains<cooldown.judgment.remains/seal_of_righteousness,if=talent.empowered_seals.enabled&!seal.righteousness&buff.uthers_insight.remains>cooldown.judgment.remains&buff.liadrins_righteousness.down/seal_of_truth,if=talent.empowered_seals.enabled&!seal.truth&buff.uthers_insight.remains>cooldown.judgment.remains&buff.liadrins_righteousness.remains>cooldown.judgment.remains&buff.maraads_truth.down

IRTu=seal_of_insight,if=talent.empowered_seals.enabled&!seal.insight&buff.uthers_insight.remains<(cooldown.judgment.duration+cooldown.judgment.remains)/seal_of_righteousness,if=talent.empowered_seals.enabled&!seal.righteousness&buff.uthers_insight.remains>(cooldown.judgment.duration+cooldown.judgment.remains)&buff.liadrins_righteousness.remains<(cooldown.judgment.duration+cooldown.judgment.remains)/seal_of_truth,if=talent.empowered_seals.enabled&!seal.truth&buff.uthers_insight.remains>(cooldown.judgment.duration+cooldown.judgment.remains)&buff.liadrins_righteousness.remains>(cooldown.judgment.duration+cooldown.judgment.remains)&buff.maraads_truth.remains<(cooldown.judgment.duration+cooldown.judgment.remains)

IRTe=seal_of_insight,if=talent.empowered_seals.enabled&!seal.insight&buff.uthers_insight.remains<buff.liadrins_righteousness.remains&buff.uthers_insight.remains<buff.maraads_truth.remains/seal_of_righteousness,if=talent.empowered_seals.enabled&!seal.righteousness&buff.liadrins_righteousness.remains<buff.uthers_insight.remains&buff.liadrins_righteousness.remains<buff.maraads_truth.remains/seal_of_truth,if=talent.empowered_seals.enabled&!seal.truth&buff.maraads_truth.remains<buff.uthers_insight.remains&buff.maraads_truth.remains<buff.liadrins_righteousness.remains


Rotation Configurations:
Code: Select all
CS>J>HW>AS>HoW>LH>SS+DR<2>Cons name=seal_of_insight
CS>J>HW>AS>HoW>LH>SS+DR<2>Cons>IRTe name=Base>IRT_empty
CS>J>HW>AS>HoW>LH>SS+DR<2>IRTd>Cons>IRTe name=(CS-SS)>IRTd>(Cons-IRTe)
CS>J>HW>AS>HoW>LH>IRTd>SS+DR<2>Cons>IRTe name=(CS-LH)>IRTd>(SS-IRTe)
CS>J>HW>AS>HoW>IRTd>LH>SS+DR<2>Cons>IRTe name=(CS-HoW)>IRTd>(LH-IRTe)
CS>J>HW>AS>IRTd>HoW>LH>SS+DR<2>Cons>IRTe name=(CS-AS)>IRTd>(HoW-IRTe)
CS>J>HW>IRTd>AS>HoW>LH>SS+DR<2>Cons>IRTe name=(CS-HW)>IRTd>(AS-IRTe)
CS>J>IRTd>HW>AS>HoW>LH>SS+DR<2>Cons>IRTe name=(CS-J)>IRTd>(HW-IRTe)
CS>IRTd>J>HW>AS>HoW>LH>SS+DR<2>Cons>IRTe name=CS>IRTd>(J-IRTe)
IRTd>CS>J>HW>AS>HoW>LH>SS+DR<2>Cons>IRTe name=IRTd>Base>IRTe
CS>J>HW>AS>HoW>LH>SS+DR<2>IRTu>Cons>IRTe name=(CS-SS)>IRTu>(Cons-IRTe)
CS>J>HW>AS>HoW>LH>IRTu>SS+DR<2>Cons>IRTe name=(CS-LH)>IRTu>(SS-IRTe)
CS>J>HW>AS>HoW>IRTu>LH>SS+DR<2>Cons>IRTe name=(CS-HoW)>IRTu>(LH-IRTe)
CS>J>HW>AS>IRTu>HoW>LH>SS+DR<2>Cons>IRTe name=(CS-AS)>IRTu>(HoW-IRTe)
CS>J>HW>IRTu>AS>HoW>LH>SS+DR<2>Cons>IRTe name=(CS-HW)>IRTu>(AS-IRTe)
CS>J>IRTu>HW>AS>HoW>LH>SS+DR<2>Cons>IRTe name=(CS-J)>IRTu>(HW-IRTe)
CS>IRTu>J>HW>AS>HoW>LH>SS+DR<2>Cons>IRTe name=CS>IRTu>(J-IRTe)
IRTu>CS>J>HW>AS>HoW>LH>SS+DR<2>Cons>IRTe name=IRTu>Base>IRTe


Footer: empty


Final imported profile: http://pastebin.com/bWTwEW5A

HTML Report: https://www.dropbox.com/s/4tounmzk999gv ... .html?dl=0

Relevant Plots:
Image

Commentary
DPS error ~4, TMI error ~32, build 18935

Again, we see that the single-seal configuration (insight) wins the day for TMI. Of the three-seal queues, (CS-HW)>IRTd>(AS-IRTe) ekes out a DPS victory at a cost of a few thousand TMI. IRTd>Base>IRTe is a close second though, and does slightly better in TMI. The (CS-SS)>IRT(u/d)>(Cons-IRTe) queues are the lowest-TMI of the three-seal options, but with a DPS loss.

Contenders going on to the playoffs:
(CS-HW)>IRTd>(AS-IRTe) DPS winner
(CS-SS)>IRTu>(Cons-IRTe) TMI winner
IRTd>Base>IRTe wild card
theckhd
Mon Sep 29, 2014 12:47 pm

Re: Theck's Simcraft Thread - WoD/6.x

Finally, let's look at TRI queues.

Default Talents: 0032221
Default Glyphs: alabaster_shield/focused_shield/final_wrath

Actions Header:
Code: Select all
actions.precombat=flask,type=greater_draenic_stamina_flask
actions.precombat+=/food,type=talador_surf_and_turf
actions.precombat+=/blessing_of_kings,if=(!aura.str_agi_int.up)&(aura.mastery.up)
actions.precombat+=/blessing_of_might,if=!aura.mastery.up
actions.precombat+=/seal_of_truth
actions.precombat+=/sacred_shield
actions.precombat+=/snapshot_stats
actions=/auto_attack
actions+=/eternal_flame,if=buff.eternal_flame.remains<2&buff.bastion_of_glory.react>2&(holy_power>=3|buff.divine_purpose.react|buff.bastion_of_power.react)
actions+=/eternal_flame,if=buff.bastion_of_power.react&buff.bastion_of_glory.react>=5
actions+=/divine_protection,if=buff.seraphim.down
actions+=/seraphim,if=buff.divine_protection.down&cooldown.divine_protection.remains>0
actions+=/shield_of_the_righteous,if=(holy_power>=5|buff.divine_purpose.react|incoming_damage_1500ms>=health.max*0.3)&(!talent.seraphim.enabled|cooldown.seraphim.remains>5)

Actions Footer:
Code: Select all
actions+=/sacred_shield


Custom Shorthands:
Code: Select all
TRId=seal_of_truth,if=talent.empowered_seals.enabled&!seal.truth&buff.maraads_truth.remains<cooldown.judgment.remains/seal_of_righteousness,if=talent.empowered_seals.enabled&!seal.righteousness&buff.maraads_truth.remains>cooldown.judgment.remains&buff.liadrins_righteousness.down/seal_of_insight,if=talent.empowered_seals.enabled&!seal.insight&buff.uthers_insight.remains>cooldown.judgment.remains&buff.liadrins_righteousness.remains>cooldown.judgment.remains&buff.uthers_insight.down
TRIu=seal_of_truth,if=talent.empowered_seals.enabled&!seal.truth&buff.maraads_truth.remains<(cooldown.judgment.duration+cooldown.judgment.remains)/seal_of_righteousness,if=talent.empowered_seals.enabled&!seal.righteousness&buff.maraads_truth.remains>(cooldown.judgment.duration+cooldown.judgment.remains)&buff.liadrins_righteousness.remains<(cooldown.judgment.duration+cooldown.judgment.remains)/seal_of_insight,if=talent.empowered_seals.enabled&!seal.insight&buff.maraads_truth.remains>(cooldown.judgment.duration+cooldown.judgment.remains)&buff.liadrins_righteousness.remains>(cooldown.judgment.duration+cooldown.judgment.remains)&buff.uthers_insight.remains<(cooldown.judgment.duration+cooldown.judgment.remains)
TRIe=seal_of_truth,if=talent.empowered_seals.enabled&!seal.truth&buff.maraads_truth.remains<=buff.liadrins_righteousness.remains&buff.maraads_truth.remains<=buff.uthers_insight.remains/seal_of_righteousness,if=talent.empowered_seals.enabled&!seal.righteousness&buff.liadrins_righteousness.remains<=buff.uthers_insight.remains&buff.liadrins_righteousness.remains<=buff.maraads_truth.remains/seal_of_insight,if=talent.empowered_seals.enabled&!seal.insight&buff.uthers_insight.remains<=buff.maraads_truth.remains&buff.uthers_insight.remains<=buff.liadrins_righteousness.remains


Rotation Configurations:
Code: Select all
CS>J>HW>AS>HoW>LH>SS+DR<2>Cons name=seal_of_truth
CS>J>HW>AS>HoW>LH>SS+DR<2>Cons>TRIe name=Base>TRI_empty
CS>J>HW>AS>HoW>LH>SS+DR<2>TRId>Cons>TRIe name=(CS-SS)>TRId>(Cons-TRIe)
CS>J>HW>AS>HoW>LH>TRId>SS+DR<2>Cons>TRIe name=(CS-LH)>TRId>(SS-TRIe)
CS>J>HW>AS>HoW>TRId>LH>SS+DR<2>Cons>TRIe name=(CS-HoW)>TRId>(LH-TRIe)
CS>J>HW>AS>TRId>HoW>LH>SS+DR<2>Cons>TRIe name=(CS-AS)>TRId>(HoW-TRIe)
CS>J>HW>TRId>AS>HoW>LH>SS+DR<2>Cons>TRIe name=(CS-HW)>TRId>(AS-TRIe)
CS>J>TRId>HW>AS>HoW>LH>SS+DR<2>Cons>TRIe name=(CS-J)>TRId>(HW-TRIe)
CS>TRId>J>HW>AS>HoW>LH>SS+DR<2>Cons>TRIe name=CS>TRId>(J-TRIe)
TRId>CS>J>HW>AS>HoW>LH>SS+DR<2>Cons>TRIe name=TRId>Base>TRIe
CS>J>HW>AS>HoW>LH>SS+DR<2>TRIu>Cons>TRIe name=(CS-SS)>TRIu>(Cons-TRIe)
CS>J>HW>AS>HoW>LH>TRIu>SS+DR<2>Cons>TRIe name=(CS-LH)>TRIu>(SS-TRIe)
CS>J>HW>AS>HoW>TRIu>LH>SS+DR<2>Cons>TRIe name=(CS-HoW)>TRIu>(LH-TRIe)
CS>J>HW>AS>TRIu>HoW>LH>SS+DR<2>Cons>TRIe name=(CS-AS)>TRIu>(HoW-TRIe)
CS>J>HW>TRIu>AS>HoW>LH>SS+DR<2>Cons>TRIe name=(CS-HW)>TRIu>(AS-TRIe)
CS>J>TRIu>HW>AS>HoW>LH>SS+DR<2>Cons>TRIe name=(CS-J)>TRIu>(HW-TRIe)
CS>TRIu>J>HW>AS>HoW>LH>SS+DR<2>Cons>TRIe name=CS>TRIu>(J-TRIe)
TRIu>CS>J>HW>AS>HoW>LH>SS+DR<2>Cons>TRIe name=TRIu>Base>TRIe


Footer: empty


Final imported profile: http://pastebin.com/Y3sjHH2v

HTML Report: https://www.dropbox.com/s/r0hx76dakfr78 ... .html?dl=0

Relevant Plots:
Image

Commentary:
DPS error ~5, TMI error ~31, build 18935

Not surprisingly, these are higher-DPS than the IRT queues, but slightly worse for TMI.

Our DPS winners here are (CS-HW)>TRId>(AS-TRIe) and TRId>Base>TRIe. Curiously, they both do relatively well for TMI. The reverse is true of the lowest-TMI configurations - (CS-SS)>TRIu>(Cons-TRIe) and Base>TRI_empty are both good for TMI, but on the lower half of the DPS plot.

For the playoffs, we'll take:
(CS-HW)>TRId>(AS-TRIe) (DPS)
(CS-SS)>TRIu>(Cons-TRIe) (TMI)
TRId>Base>TRIe (wild card)
theckhd
Mon Sep 29, 2014 2:08 pm

L100 Talents - Empowered Seals - The Playoffs

Time for the playoffs!



Default Talents: 0032221
Default Glyphs: alabaster_shield/focused_shield/final_wrath

Actions Header:
Code: Select all
actions.precombat=flask,type=greater_draenic_stamina_flask
actions.precombat+=/food,type=talador_surf_and_turf
actions.precombat+=/blessing_of_kings,if=(!aura.str_agi_int.up)&(aura.mastery.up)
actions.precombat+=/blessing_of_might,if=!aura.mastery.up
actions=/auto_attack
actions+=/eternal_flame,if=buff.eternal_flame.remains<2&buff.bastion_of_glory.react>2&(holy_power>=3|buff.divine_purpose.react|buff.bastion_of_power.react)
actions+=/eternal_flame,if=buff.bastion_of_power.react&buff.bastion_of_glory.react>=5
actions+=/divine_protection,if=buff.seraphim.down
actions+=/seraphim,if=buff.divine_protection.down&cooldown.divine_protection.remains>0
actions+=/shield_of_the_righteous,if=(holy_power>=5|buff.divine_purpose.react|incoming_damage_1500ms>=health.max*0.3)&(!talent.seraphim.enabled|cooldown.seraphim.remains>5)

Actions Footer:
Code: Select all
actions+=/sacred_shield


Custom Shorthands: All of the previous ones

Rotation Configurations:
Code: Select all
#one-seal
actions.precombat+=/seal_of_insight/sacred_shield/snapshot_stats
CS>J>HW>AS>HoW>LH>SS+DR<2>Cons
name=seal_of_insight

actions.precombat+=/seal_of_righteousness/sacred_shield/snapshot_stats
CS>J>HW>AS>HoW>LH>SS+DR<2>Cons
name=seal_of_righteousness

actions.precombat+=/seal_of_truth/sacred_shield/snapshot_stats
CS>J>HW>AS>HoW>LH>SS+DR<2>Cons
name=seal_of_truth

#two-seal winners
#IR best DPS
actions.precombat+=/seal_of_insight/sacred_shield/snapshot_stats
CS>J>HW>AS>HoW>LH>SS+DR<2>Cons>IRe
name=Base>IR_empty

#IR best survival
actions.precombat+=/seal_of_insight/sacred_shield/snapshot_stats
CS>J>HW>AS>HoW>LH>SS+DR<2>IRd>Cons>IRe
name=(CS-SS)>IRd>(Cons-IRe)

#IT best DPS
actions.precombat+=/seal_of_insight/sacred_shield/snapshot_stats
ITd>CS>J>HW>AS>HoW>LH>SS+DR<2>Cons>ITe
name=ITd>Base>ITe

#IT best survival
actions.precombat+=/seal_of_insight/sacred_shield/snapshot_stats
CS>J>HW>AS>HoW>LH>SS+DR<2>ITd>Cons>ITe
name=(CS-SS)>ITd>(Cons-ITe)

#IT wild card
actions.precombat+=/seal_of_insight/sacred_shield/snapshot_stats
CS>J>HW>AS>HoW>LH>SS+DR<2>Cons>ITe
name=Base>IT_empty

#RT best DPS
actions.precombat+=/seal_of_righteousness/sacred_shield/snapshot_stats
CS>J>HW>RTd>AS>HoW>LH>SS+DR<2>Cons>RTe
name=(CS-HW)>RTd>(AS-RTe)

#RT best survival
actions.precombat+=/seal_of_righteousness/sacred_shield/snapshot_stats
RTd>CS>J>HW>AS>HoW>LH>SS+DR<2>Cons>RTe
name=RTd>Base>RTe

#TR best DPS
actions.precombat+=/seal_of_truth/sacred_shield/snapshot_stats
CS>J>HW>AS>TRd>HoW>LH>SS+DR<2>Cons>TRe
name=(CS-AS)>TRd>(HoW-TRe)

#TR best survival
actions.precombat+=/seal_of_truth/sacred_shield/snapshot_stats
CS>J>HW>AS>HoW>LH>SS+DR<2>TRd>Cons>TRe
name=(CS-SS)>TRd>(Cons-TRe)

#three-seal
#IRT best DPS
actions.precombat+=/seal_of_insight/sacred_shield/snapshot_stats
CS>J>HW>IRTd>AS>HoW>LH>SS+DR<2>Cons>IRTe
name=(CS-HW)>IRTd>(AS-IRTe)

#IRT best survival
actions.precombat+=/seal_of_insight/sacred_shield/snapshot_stats
CS>J>HW>AS>HoW>LH>SS+DR<2>IRTu>Cons>IRTe
name=(CS-SS)>IRTu>(Cons-IRTe)

#IRT wild card
actions.precombat+=/seal_of_insight/sacred_shield/snapshot_stats
IRTd>CS>J>HW>AS>HoW>LH>SS+DR<2>Cons>IRTe
name=IRTd>Base>IRTe

#TRI best DPS
actions.precombat+=/seal_of_truth/sacred_shield/snapshot_stats
CS>J>HW>TRId>AS>HoW>LH>SS+DR<2>Cons>TRI
name=(CS-HW)>TRId>(AS-TRIe)

#TRI best survival
actions.precombat+=/seal_of_truth/sacred_shield/snapshot_stats
CS>J>HW>AS>HoW>LH>SS+DR<2>TRIu>Cons>TRIe
name=(CS-SS)>TRIu>(Cons-TRIe)

#TRI survival wild card
actions.precombat+=/seal_of_truth/sacred_shield/snapshot_stats
TRId>CS>J>HW>AS>HoW>LH>SS+DR<2>Cons>TRIe
name=TRId>Base>TRIe


Footer: empty


Final imported profile: http://pastebin.com/wBq8GeEc

HTML Report: https://www.dropbox.com/s/6vnt7ui9djgty ... .html?dl=0

Relevant Plots:
Image

Commentary:
DPS error ~5, TMI Error ~29, build 18935

Obviously, we've simmed all of these before, but now we have them all together on one plot. Unsurprisingly, our TRd and RTd examples come out on top for DPS and near the bottom for TMI. Also unsurprisingly, the single-seal Insight configuration is the best TMI but the worst DPS.

The highest-DPS three-seal rotation, (CS-HW)>TRId>(AS-TRIe), can't manage to beat the 2-seal versions in DPS, and offers no apparent TMI benefit over them either. The next best TRI rotation, TRId>Base>TRIe, offers a paltry 2k TMI reduction at the cost of about 450 DPS.

On the other end of things, (CS-SS)>IRTu>(Cons-IRTe) and IRTd>Base>IRTe are both pretty good for TMI, but don't quite beat out the less complicated IRd configuration. They do add some oomph though, in the form of a little over 1000 DPS.

Ultimately, this leaves us with an odd quandary: which configuration is best? The issue is that no one setup optimizes everything. If we're optimizing for DPS, we probably use TRd right behind our holy power generators. If we're optimizing for survival, we either switch back to Insight, or perhaps twist Insight and Righteousness for a little more oomph. I'm not sure that we'd want to use a "middle-of-the-road" option that puts us in the middle of both graphs, though IRTd>Base>IRTe doesn't do a bad job of pulling that off.

What I think we're going to have to do is split the prot APL into three different possibilities. One is a "max DPS" queue that would use (CS-AS)>TRd>(HoW-TRe). Another is a max survival queue that would just use Seal of Insight and ignore seal twisting altogether.

But for our default queue, I think we want to split the difference and give an average view of Empowered Seals. For that queue, I think we use IRTd>Base>IRTe. It's near the middle of the pack in DPS, but a healthy distance ahead of the next grouping of configurations, and it's got a relatively low TMI. It's also relatively easy to understand and play compared to any of the other 3-seal combinations, which is probably a good thing for a default.

With that, we can put together an action priority list that works regardless of talent choice and is at least relatively optimized for each one. That's what we'll do in the next post.
theckhd
Mon Sep 29, 2014 4:00 pm

Re: Theck's Simcraft Thread - WoD/6.x

So, to recap the last few days of posts.

1) We started with the base rotation

CS>J>AS>Cons>HW

2) We checked execute rotations and found that, using "FW" for HW with Final Wrath glyph, the optimum was

CS>J>AS>HoW>FW>Cons>HW

3) We checked L90 talents and found that ES, LH, and HPr fit in as follows:

CS>J>AS>ES>HoW>LH>FW>Cons>HW>HPr

4) We checked L75 talents and found that with Sanctified Wrath, HW had a higher priority than AS. Using "SW" for HW with SW talented, we have

CS>J>SW>AS>ES>HoW>LH>FW>Cons>HW>HPr

5) We checked L45 talents and found that Selfless Healer was sort of irrelevant, at least with a simple stochastic "use when available" model. We also found that Sacred Shield refreshes didn't have much of an impact on the rotation yet because there were plenty of empty GCDs in which to refresh it, so we slotted it ahead of Consecration. We also noted that we may want to revisit these later. But with what we have, the rotation is:

CS>J>SW>AS>ES>HoW>LH>FW>SS2>Cons>HW>HPr>SH

6) We tested Seraphim, and found that the chaining vs. "use as available" models didn't differ that much. That said, Divine Protection was not glyphed, and the boss was putting out a lot more magic damage than was intended. So we'll probably want to revisit this just to see updated data. Nonetheless, we chose to use the chaining version figuring that it didn't hurt, and was probably stronger. This doesn't affect the rotation proper, but it does affect how we implement the cooldowns section of the APL.

7) We tested Empowered Seals and dug through a giant mess of simulations. Out of it, we concluded that
  • The max survival setup was to just use Seal of Insight full-time.
  • The max DPS setup was to twist Truth and Righteousness after our HPGs.
  • One possible middle ground is to twist all three seals at the top of the priority, which gives a moderate DPS increase for a small TMI sacrifice. That said, I'm still open to suggestions here.
  • Also, we may want to revisit these sims with a higher SS priority to see if that helps reduce the TMI impact on seal twisting.

From all of that, here's what I have for the default APL:

Precombat:
Code: Select all
actions.precombat=flask,type=greater_draenic_stamina_flask
actions.precombat+=/food,type=talador_surf_and_turf
actions.precombat+=/blessing_of_kings,if=(!aura.str_agi_int.up)&(aura.mastery.up)
actions.precombat+=/blessing_of_might,if=!aura.mastery.up
actions.precombat+=/seal_of_insight
actions.precombat+=/sacred_shield
# Snapshot raid buffed stats before combat begins and pre-potting is done.
actions.precombat+=/snapshot_stats
actions.precombat+=/potion,name=draenic_armor


Default APL:
Code: Select all
actions=/auto_attack
actions+=/speed_of_light,if=movement.remains>1
actions+=/blood_fury
actions+=/berserking
actions+=/arcane_torrent
# This line will shortcut to a high-DPS (but low-survival) action list. Change 0 to 1 if you want to do this all the time.
actions+=/run_action_list,name=max_dps,if=role.attack|0
# This line will shortcut to a high-survival (but low-DPS) action list. Change 0 to 1 if you want it to do this all the time.
actions+=/run_action_list,name=max_survival,if=0
actions+=/potion,name=draenic_armor,if=buff.shield_of_the_righteous.down&buff.seraphim.down&buff.divine_protection.down&buff.guardian_of_ancient_kings.down&buff.ardent_defender.down
# Standard survival priority list starts here
# This section covers off-GCD spells.
actions+=/holy_avenger
actions+=/divine_protection,if=buff.seraphim.down
actions+=/seraphim,if=buff.divine_protection.down&cooldown.divine_protection.remains>0
actions+=/guardian_of_ancient_kings,if=buff.holy_avenger.down&buff.shield_of_the_righteous.down&buff.divine_protection.down
actions+=/ardent_defender,if=buff.holy_avenger.down&buff.shield_of_the_righteous.down&buff.divine_protection.down&buff.guardian_of_ancient_kings.down
actions+=/eternal_flame,if=buff.eternal_flame.remains<2&buff.bastion_of_glory.react>2&(holy_power>=3|buff.divine_purpose.react|buff.bastion_of_power.react)
actions+=/eternal_flame,if=buff.bastion_of_power.react&buff.bastion_of_glory.react>=5
actions+=/shield_of_the_righteous,if=(holy_power>=5|buff.divine_purpose.react|incoming_damage_1500ms>=health.max*0.3)&(!talent.seraphim.enabled|cooldown.seraphim.remains>5)
# GCD-bound spells start here
actions+=/seal_of_insight,if=talent.empowered_seals.enabled&!seal.insight&buff.uthers_insight.remains<cooldown.judgment.remains
actions+=/seal_of_righteousness,if=talent.empowered_seals.enabled&!seal.righteousness&buff.uthers_insight.remains>cooldown.judgment.remains&buff.liadrins_righteousness.down
actions+=/seal_of_truth,if=talent.empowered_seals.enabled&!seal.truth&buff.uthers_insight.remains>cooldown.judgment.remains&buff.liadrins_righteousness.remains>cooldown.judgment.remains&buff.maraads_truth.down
actions+=/crusader_strike
actions+=/judgment
actions+=/holy_wrath,if=talent.sanctified_wrath.enabled
actions+=/avengers_shield
actions+=/execution_sentence
actions+=/hammer_of_wrath
actions+=/lights_hammer
actions+=/holy_wrath,if=glyph.final_wrath.enabled&target.health.pct<=20
actions+=/sacred_shield,if=target.dot.sacred_shield.remains<2
actions+=/consecration,if=target.debuff.flying.down&!ticking
actions+=/holy_wrath
actions+=/holy_prism
actions+=/seal_of_insight,if=talent.empowered_seals.enabled&!seal.insight&buff.uthers_insight.remains<=buff.liadrins_righteousness.remains&buff.uthers_insight.remains<=buff.maraads_truth.remains
actions+=/seal_of_righteousness,if=talent.empowered_seals.enabled&!seal.righteousness&buff.liadrins_righteousness.remains<=buff.uthers_insight.remains&buff.liadrins_righteousness.remains<=buff.maraads_truth.remains
actions+=/seal_of_truth,if=talent.empowered_seals.enabled&!seal.truth&buff.maraads_truth.remains<buff.uthers_insight.remains&buff.maraads_truth.remains<buff.liadrins_righteousness.remains
actions+=/sacred_shield
actions+=/flash_of_light,if=talent.selfless_healer.enabled&buff.selfless_healer.stack>=3


You'll notice I have /run_action_list calls at the beginning to divert to the max_dps and max_survival APLs; as of yet I don't have a way to enable those short of editing the APL directly in a profile and/or setting role=attack (but then you won't get DTPS or TMI data). Nonetheless, here are those APLs:

max_dps:
Code: Select all
actions.max_dps=potion,name=draenic_strength,if=buff.holy_avenger.react|buff.bloodlust.react|target.time_to_die<=60
# Max-DPS priority list starts here.
# This section covers off-GCD spells.
actions.max_dps+=/holy_avenger
actions.max_dps+=/seraphim
actions.max_dps+=/shield_of_the_righteous,if=holy_power>=5|buff.divine_purpose.react|(talent.holy_avenger.enabled&holy_power>=3)
# #GCD-bound spells start here.
actions.max_dps+=/holy_wrath,if=glyph.final_wrath.enabled&target.health.pct<=20
actions.max_dps+=/hammer_of_wrath
actions.max_dps+=/holy_wrath,if=talent.sanctified_wrath.enabled
actions.max_dps+=/execution_sentence
actions.max_dps+=/crusader_strike
actions.max_dps+=/judgment
actions.max_dps+=/avengers_shield
actions.max_dps+=/seal_of_truth,if=talent.empowered_seals.enabled&!seal.truth&buff.maraads_truth.remains<cooldown.judgment.remains
actions.max_dps+=/seal_of_righteousness,if=talent.empowered_seals.enabled&!seal.righteousness&buff.maraads_truth.remains>cooldown.judgment.remains&buff.liadrins_righteousness.down
actions.max_dps+=/lights_hammer
actions.max_dps+=/sacred_shield,if=target.dot.sacred_shield.remains<2
actions.max_dps+=/consecration,if=target.debuff.flying.down&!ticking
actions.max_dps+=/holy_wrath
actions.max_dps+=/holy_prism
actions.max_dps+=/seal_of_truth,if=talent.empowered_seals.enabled&!seal.truth&buff.maraads_truth.remains<buff.liadrins_righteousness.remains
actions.max_dps+=/seal_of_righteousness,if=talent.empowered_seals.enabled&!seal.righteousness&buff.liadrins_righteousness.remains<buff.maraads_truth.remains
actions.max_dps+=/sacred_shield
actions.max_dps+=/flash_of_light,if=talent.selfless_healer.enabled&buff.selfless_healer.stack>=3


max_survival:
Code: Select all
actions.max_survival=potion,name=draenic_armor,if=buff.shield_of_the_righteous.down&buff.seraphim.down&buff.divine_protection.down&buff.guardian_of_ancient_kings.down&buff.ardent_defender.down
# Max survival priority list starts here
# This section covers off-GCD spells.
actions.max_survival+=/holy_avenger
actions.max_survival+=/divine_protection,if=buff.seraphim.down
actions.max_survival+=/seraphim,if=buff.divine_protection.down&cooldown.divine_protection.remains>0
actions.max_survival+=/guardian_of_ancient_kings,if=buff.holy_avenger.down&buff.shield_of_the_righteous.down&buff.divine_protection.down
actions.max_survival+=/ardent_defender,if=buff.holy_avenger.down&buff.shield_of_the_righteous.down&buff.divine_protection.down&buff.guardian_of_ancient_kings.down
actions.max_survival+=/eternal_flame,if=buff.eternal_flame.remains<2&buff.bastion_of_glory.react>2&(holy_power>=3|buff.divine_purpose.react|buff.bastion_of_power.react)
actions.max_survival+=/eternal_flame,if=buff.bastion_of_power.react&buff.bastion_of_glory.react>=5
actions.max_survival+=/shield_of_the_righteous,if=(holy_power>=5|buff.divine_purpose.react|incoming_damage_1500ms>=health.max*0.3)&(!talent.seraphim.enabled|cooldown.seraphim.remains>5)
# GCD-bound spells start here
actions.max_survival+=/crusader_strike
actions.max_survival+=/judgment
actions.max_survival+=/holy_wrath,if=talent.sanctified_wrath.enabled
actions.max_survival+=/avengers_shield
actions.max_survival+=/flash_of_light,if=talent.selfless_healer.enabled&buff.selfless_healer.stack>=3
actions.max_survival+=/sacred_shield,if=target.dot.sacred_shield.remains<2
actions.max_survival+=/execution_sentence
actions.max_survival+=/hammer_of_wrath
actions.max_survival+=/lights_hammer
actions.max_survival+=/holy_wrath,if=glyph.final_wrath.enabled&target.health.pct<=20
actions.max_survival+=/consecration,if=target.debuff.flying.down&!ticking
actions.max_survival+=/holy_wrath
actions.max_survival+=/holy_prism
actions.max_survival+=/sacred_shield



There are probably some tweaks yet to be done on the max_dps and max_survival APLs. I'm making some rough assumptions on the order of both of those queues based on what we saw in the sims I've already run, but there's no guarantee that the order is exactly correct. For example, I've basically guessed at the order of the first four abilities in the max_dps queue. And I've bumped Sacred Shield and Selfless Healer up in priority artificially in the max_survival queue.

Now that we have a fairly solid baseline APL, let's recall the things we still want to test. Most of these will probably be done by simple hand-comparisons of profiles we tweak manually.
  • Avenger's Shield - with and without Focused Shield
  • Sacred Shield - optimal position for refreshing w/ empowered seals
  • Sacred Shield - optimal duration remaining at which to refresh
  • Seraphim/SotR - try different lockout periods before Seraphim cooldown is up.
  • Seraphim - with DP glyphed
  • AoE rotations
Fundus
Tue Sep 30, 2014 12:02 am

Re: Theck's Simcraft Thread - WoD/6.x

Long time reader, first time poster here. Also relatively new to Sim-C, sorry.

I thought I'd contribute a couple sims I ran due to some small oddities I noticed. I'm using Theck's default APL from above and minor modifications of it as listed below. I was planning to look at variations of Empowered Seals vs Seraphim, but figured I'd also throw in the chaining of Seraphim and DP vs the "as available" Seraphim/DP usage with the glyph of DP this time. Also using the newest Sim-C (build level 18935).

So for completeness:
Glyphs: alabaster_shield/divine_protection/final_wrath

Seraphim_chain: the default APL with Seraphim talented
Seraphim_PRN: the "as needed" or "as available" with the "if" conditions commented out
Empowered_Seals_Avg: the default APL with Empowered Seals talented (IRTd>Base>IRTe)
Empowered_Seals_Insight: Empowered Seals and Insight only with the seal switching commented out
No_100: No lvl 100 talent selected, for a baseline to compare.

I used the TMI_Standard_T17M boss and the default gear set listed by Theck in this thread.

Results in Google drive (sorry it's not fancier):
Results Image here
Imported Profile here
Full report here

DPS, DTPS, and HPS+APS all come out about where I would have expected given Theck's previous postings. When I get to TMI, I'm not sure I can explain the results that I'm getting. I'm seeing using Seraphim and DP as available as a 3k TMI improvement over chaining them. Furthermore Sim-C is saying that Seraphim/DP as available is 1k TMI below even Empowered Seals using only Insight. To add even more oddity, the switching Empowered Seals que (IRTd>Base>IRTe) in the default APL returns a 1k higher TMI than having no level 100 talent at all.

I realize the TMI variations here are relatively minor, but my only idea for the variations comes back to Sacred Shield. The uptime is highest (96%) for Seraphim/DP as available and lowest (83%) for the switching Empowered Seals, with the others in between. Perhaps this further raises the question of the best time to refresh Sacred Shield with Empowered Seals? It's also entirely possible I've made a simple mistake or am missing something somewhere. If so, or if I've forgotten to mention something important to replicating the results, please let me know.

I was also hoping to test different lockout times on Seraphim, but won't have time tonight.
Schroom
Tue Sep 30, 2014 12:16 am

Re: Theck's Simcraft Thread - WoD/6.x

ok, so I'm relieved that my very early sims showing only SoI without swapping still proves best TMI. (no time for siming atm. busy at work, so reading your stuff is answering a lot of questions :) )

what I am concluding here, for "how to play with empS in a real Raid environment" is, if you are not on max DPS in order to beat an enrage timer, not carrying of TMI, but max "support" as I call it (lower your TMI as much as possible and do the most DPS with that), use SoI if tanking the Boss, if not tanking after your mate taunted, "twist Truth and Righteousness after our HPGs".

the twisting bot actually only if you ave the time before you need to retaunt the boss. I don't see much SoT/SoR switching during offtanking on an encounter like Garrosh HM in example ^^

I also read here that swapping between all 3 seals in order to maintain all 3 buffs is just not worth it, for either best TMi or best DPS. which, I must say, I am relieved. because having this at the top of all our talents would have been pretty crushing for me, as I don't like that playstyle with swapping 3 seals at all.

questions:

EmpS with only SoI w/o swapping is best TMI fo all lvl 100 talents then ?

Do you have any new information about the question that came up a couple of weeks ago: "is TMI still the right metric in WoD" ?
Fundus
Tue Sep 30, 2014 8:02 am

Re: Theck's Simcraft Thread - WoD/6.x

I had similar questions after catching up with this thread last night. Your first question is part of what I was trying to answer in my previous post. My sims using Theck's default gear list and default APL are showing Seraphim to be the lowest TMI for the level 100 talents, assuming glyphed DP and use as available, not chaining. While the TMI difference between Seraphim and EmpS using Insight is quite small, I can't truly explain why Seraphim is doing better in my sims vs Theck's previous Seraphim sims. My best guess is that the bug causing previous sims to be overly focused on magic damage led to the poor showing for Seraphim. That makes some basic sense to me, since Seraphim would seem to increase physical mitigation more than magical (+bonus armor, +mastery/block, +crit/parry). Still, I'll be interested to see others' results and if they have similar conclusions.
marsbubble
Tue Sep 30, 2014 8:28 am

Re: Theck's Simcraft Thread - WoD/6.x

Were the previous sims done with the ardent defender nerf, or was that a surprise to everyone else as well?
xstratax
Tue Sep 30, 2014 10:29 am

Re: Theck's Simcraft Thread - WoD/6.x

For the sims, Ardent Defender is irrelevant, as we are not using any CDs that are not explicitly listed.
Fundus
Tue Sep 30, 2014 10:56 am

Re: Theck's Simcraft Thread - WoD/6.x

The current build of Sim-C (build level 18935) does not include the Ardent Defender nerf as far as I see. It's also true that the sims that Theck posted so far don't include Ardent Defender at all, but the default APL does:
Code: Select all
actions+=/ardent_defender,if=buff.holy_avenger.down&buff.shield_of_the_righteous.down&buff.divine_protection.down&buff.guardian_of_ancient_kings.down

Still, Ardent Defender has only a 2.5% uptime in the sims I ran using that APL, and it's similar between all of them. I doubt it will shift the order of the results any, but once it's updated we can re-sim.