I have a dps neutral solution that is not dependent on DoC so it will still function when you swap to HotW. I attempted to do something similar for the case where we refresh Rip with Rip instead of FB during BitW (in an attempt to get a better Rip rolling). The best I found was a slight dps loss, but I was able to remain dps neutral by including two actions:

The second goal is to address some of the feedback from people using the Ovale script. For example several people have reported that 1 second is too short for casting Healing Touch when Predatory Swiftness is about to run out. It turns out that simc agrees, as I achieved a 100 dps gain simply upping the number to 1.2 seconds. I played with some different values and they all seem pretty close together (as long as I stay below 2 seconds). 1.5 looks reasonable and should account for some lag conditions, so that is what I went with.

There is other feedback in the Ovale thread that I will be working on over the next few days and I will be updating this script. Once the simulations look good I will release a new version of the Ovale script. I will also chase down aggixx over the next couple of days to discuss what I am seeing.

Here is the most current version of my simc script (using a DoC rotation):

It is now based on the 505-2 default T14H DoC script with aggixx's HotW actions added along with the three changes listed in the first post of this thread. I also added an additional conditional to the Nature's Swiftness calls to make sure that SR has more than 4 seconds remaining. This change appears to be dps neutral but (hopefully) will help people using NS in game and not ending up using the combo points on Savage Roar.

The main thing these changes did was to fix an issue when not using DoC where Rake clipping was not happening. Also, the change to cast HT when PS was down to 1.5 seconds (instead of 1 second) is a noticeable dps increase (> 100dps) for the DoC profile.

Note, the reforging scheme in this script is optimized for DoC. I did add spell power to the main hand weapon for HotW, but you will get better results on HotW if you reforge as aggixx suggested elsewhere.

tldr: this is an improved script that has DoC and HotW support in it.

Note: nothing has been done in this script much less simc to deal with the reports that HotW has been nerfed on live.

Updated the sim script with "&buff.dream_of_cenarius_damage.down" checks on the 3 second SR refresh conditionals. This was in response to Ovale feedback and results in a 180dps increase for the DoC profile (it has no impact on the HotW rotation).

I just posted a new version of the simc script with some simplified conditionals on several of the action list items. I changed the SR at the top of the script to be <=1 rather than only firing when SR is 0, and removed the <=1 checks from the other SR conditionals. To support this, the HT on PS timeout was moved just ahead of this initial SR (so we don't miss it). I also removed the 4 second SR checks on NS since the more recent change I did to the 3 second SR checks keeps them from firing with DoC up. Also, FF is now after the emergency FB during BitW rather than right before it. All of these changes are close to dps neutral, but the script is more straightforward (easier to grasp without an addon).

There is one change I made that is a 50-60dps increase. I added a conditional to Rake to clip it at 6 seconds if DoC is up and it will be at least DPS neutral. We already had a conditional similar to this for Rip, so the concept is not a new one, just something we missed.

I ran a few different 25k iteration runs on the different talent combinations using the same setup (no reforging differences) with no FFs (someone else provides weakened armor).DoC - 121283.8 dps with 37.14 dps errorHotW (pre-nerf) - 123721.7 dps with a 34.88 dps errorNV - 116756.6 dps with a 37.05 dps errorHotW (ignoring the on-use - assuming we only benefit from the 6% passive) - 116343.7 dps with a 34.33 dps error

I have been working on matching up the Ovale script with the latest version of the simc script, and along the way I found something in the Ovale script Rip conditional that was left over from 4.3. Specifically, Ovale had (functionally - in simc notation) "dot.rip.remains+1.9<=cooldown.tigers_fury.remains" while the simc script had "dot.rip.remains<=cooldown.tigers_fury.remains". Adding this conditional to the Rip logic in simc increased dps by about 100. Seeing that, I also added the 1.9 seconds to the NS line right before Rip. That gained an additional 100dps. So the new script adds about 200dps to a DoC profile and 100dps to the other profiles.

I think this is another case where the simc rotation was not properly in sync with the Mew script.

Did I mention how tedious this work is? I found an error on my new Rake clipping conditional - it was only working outside of BitW (cut and paste error because I copied it from the Rip code where BitW does matter). Fixing this nets another 30 dps.

I was playing with the Ovale script testing the passive HotW talent and I noticed that the 3 second SR was an issue for the Rips (somethign I addressed for the DoC rotation by using the DoC buff as a limiter). To address this, I ended up separating the second SR conditional into one for DoC and one for HotW because the HotW conditional was a small dps loss for DoC. This version of the script adds about 70dps to HotW. Once I implement this in the Ovale script I will see how HotW looks on the training dummies. Hopefully it will be a little smoother.

I also found that moving the energy conditional on Rake down to 60 was a small dps increase.

Note: I defaulted this version of the script to disable calling the HotW proc in anticipation of the nerf on next Tuesday. It is still there, but commented out.

I removed the added spell power from the main hand since we are no longer going to be weapon swapping and Wrath spamming for HotW. This is partly in preparation for getting this rotation checked into simulationcraft.

Reevaluated TTD thresholds for a handful of lines and added NS+HT for NV profile (obviously you wouldn't want to do this in Ovale, heh). The TTD threshold change is negligible (I mainly wanted to add one to the OOC thrash line since it didn't have one) and since the sim doesn't support the healing to damage conversion yet I don't know about the other change either.

@aggixx, using your script I just did a 10k NV run and with NS, the number of HTs is now 7.3 (up from 4.5 without using NS). The overall dps number is down 33 but that is less than the error. It is consistent with what I have seen though, that plugging in something to cast during energy pooling has a small impact on dps - perhaps due to GCDs delaying things slightly.

The overall healing is 710525, so 20% is added damage is 142105. The mean of fight length is 453.3 for this run. So added dps is 313. Subtracting 33, we get a dps increase of 280. It makes sense to use NS to help boost the dps some.

===============

Just to make sure I am working from the same base, I did a 10k iteration NV run with the last two actions in the script commented out (comparing the overall dps with the last one I measured, although with a higher error). The overall dps without NS/PS HTs is 117366, so it continues to look like we lose 30-40 dps from the HT casting, but gain back the 310+ dps from NV.

Does not have a check for DoC, so it is using PS as a reason to ignore pooling if it can get to 4 combo points. However, When I added the DoC check to the conditional and ran an NV sim, it lost 300+ dps.

I think the conditional helps the non-DoC profiles because it is helping SotF have more 5 point finishers. I have been playing with the following to be more precise for SotF for the non-DoC profiles:

It looks to be dps neutral at the moment. I was hoping I could refine it to be a dps up for NV and HotW. We should be able to do better than relying on Predatory Swiftness procs to help SotF's need for finishers...I did try ignoring pooling entirely, but that was a loss - so some is needed. Note, I had to make the second conditional not apply to DoC profiles, presumably it conflicts with DoC's desires.

The idea is that we energy pool until such time that we have enough energy to get to 5 combo points. This one is better than the previous one, because the previous one was adding in one too many ticks of energy regen. Obviously, the logic is based on your DoC action, but generalized for SotF. It is interesting that this turns out to be a dps loss for the DoC profile, which not only tells us that DoC takes precedence over SotF (no surprise there), but also that to some degree SotF and DoC are competing since DoC only wants 4 combo points when PS is up and SotF wants 5 combo points as quickly as possible.

Note: this was done on top of the sim script you posted. The NV HT data is 7.67 heals and 737986 healed. Average fight length is 453.3 seconds. This is an improvement so the better handling of when to pool energy provides more opportunity to cast the HTs . Having played with this while working on my Ovale script, it is pretty clear why this was the case since PS was up a lot of the time and it kept using fillers when I could have been casting HT (it seems like PS is often refreshed right at the end of the Berserk time).

Nice catch, I noticed that here and there with the Ovale script but for some reason I'm dumb and never looked into it.

I think your reasoning as to why pooling is a loss may be a little off. SotF has no incentive to reach 5 combo points, but it does have an incentive to spend as much energy on CP generators as possible. The more energy that is spent on CP generators the less energy is spent on finishers which increases the talents efficiency. Although executing as many 5 point finishers as possible would work towards this goal in a way, I think the real goal is to increase your energy spent on CP generator to energy spent on finisher ratio is high as possible. Interestingly enough this would also mean that the talent is encouraging us to figure out how to stretch our finishers as thin as possible while still maintaining an efficient rotation.

Perhaps an approach where we shred aggressively whenever it would not impede our buff/debuff uptime would be a DPS gain.

I think what we are already doing is close to what you are describing. At the risk of repeating what you said, but in my terms, I see it as follows:

With SotF we want to use finishers on as many combo points as possible while wasting as little energy as possible (a fundamental principle on how we manage finishers). This means we want to use 5 point finishers whenever possible. The goal of energy pooling is to have a little extra available for tight moments in the script when you want to refresh Rip, Rake or SR. So some energy pooling is desirable. We stop energy pooling when we need more combo points, when we are in a high damage situation like having TF up, when we are anticipating the energy boost from TF, when we are in a low cost energy situation like Berserk, when we are about to energy cap, when the target is about to die, when we have an opportunity to get 4 combo points for DoC, and with my most recent code, when we have an opportunity to get to 5 combo points.

Since we want to cast as many 5 point finishers as possible for SotF while being energy efficient, in general we want to be casting more FBs. Obviously Rip and SR are more important, and we clip those when the dps gain and/or desync of the abilities outweighs the energy loss, but otherwise, the goals for SotF ends up being cast as many 5 point finishers as possible, using FB as the "filler" finisher.

Allowing for some energy pooling is helpful as it gives us moments in the script to do other things such as cast HTs, FFs etc. The new action I added is intended to allow a little pooling, often after a FB where energy is low, while adding combo points aggressively as soon as we have enough energy to get to 5. Potentially we could front load the code to try to get to 5 as quickly as possible and then allow some pooling, but this would most like result in a series of small pooling windows which makes it awkward to take advantage of the pooling times. This is likely why the Feral Spirits code I added was flashing by so quickly. With PS driving our combo point generation, there is a good chance the script would try to start and stop building combo points (this is a characteristic of the DoC conditional which we might be able to smooth out a little).

The current solution seems to address the goals in a reasonable way, but we both know that alternate approaches can often have a significant impact on overall dps. For now, I am going to implement what we currently have in Ovale, and in the meantime we can see if we can find something better. At the very least, I think our understanding of the how the various abilities interact is continuing to grow.

A little bookkeeping. I updated the script my first post to one that I made by adding my new conditionals on top of the script you posted. I put in conditionals for both Ravage and Shred for completeness although the Ravage line that checks for SotF may be meaningless (I am not sure what you put in for the 4 piece PvP set bonus handling when you tested that).

I found an issue with the action list for Incarnation profiles, fixing it was a 150 DPS gain. Had to add buff.king_of_the_jungle.down to all of the shred lines to force it to use Ravage during Incarnation, otherwise the cheaper energy cost would sometimes cause it to use Shred.

Specifically, 5 cp Thrash may work if it is moved higher in the script.Moving HT and NS higher can improve the amount of healing done at the cost of some rotational dps.

Need to do a series of simulations at 25k iterations to see what can be improved. Probably need to think about the order carefully.

Edit: I think my new conditional should be after the Thrash conditionals (separate from the DoC conditional which is higher priority). I think this will add some dps to NV and HotW. After that is determined, then some work on whether or not HT for NV can be moved earlier.