Stenhaldi wrote:FoN has to be a bit more careful about when it can burn combo points on ferocious bite. I tested a "common sense" change that casts ferocious bite much less aggressively unless TF is coming up soon, and compensates by refreshing savage roar earlier if needed. The specific numbers I put in are kind of arbitrary and are not going to be optimal, but this was my change (green indicates added line, red indicates removed line).

I'm using a 561-geared profile with Re-Origination and Haromm's, with HotW and either SotF or FoN. This change was a ~400 dps increase to the SotF profile and a much larger ~1800 dps increase to the FoN profile.

This tells me that DoC does better with more aggressive FB usage than HotW. Probably due to less finishers going off and thus less DoC usage. I haven't been able to find a single (well technically 2 since you need the pool as well) line that plays well with all specs so this may have to be spec specific.

# Pool to 50 energy for Ferocious Bite.actions.advanced+=/pool_resource,if=combo_points>=5&!(energy>=90|(buff.berserk.up&energy>=25))&dot.rip.ticking# Ferocious Bite if we will energy cap before being able to spend our CP on Rip or Savage Roar.actions.advanced+=/ferocious_bite,if=combo_points>=5&dot.rip.ticking

... for the best DPS (all 4 permutations). Note that this does require the savageroar<=12 line (which unless our energy regen drops below 10, will fire during the pooling for FB energy anytime SR is <=12) and probably my moved Rake filler as well. Don't know if anything else has an effect on it.

Stenhaldi wrote:I also picked up another ~300 dps (in the FoN profile) by pooling to 90 energy for ferocious bite instead of 50:

This actually is a much larger ~2100 gain in DoC(w/ sotf), probably again because of better usage of DoC (higher post finisher energy so more likely to get to next finisher before PS goes down).

Stenhaldi wrote:Casting ferocious bite close to 100 energy is a sensible thing to do in any case (since it lets you regenerate CP quicker to rip if something procs), but I'm surprised that this particular implementation worked because if I understand pool_resource correctly, it could lock out rake refreshes (which are lower in the action list) for up to ~7 seconds. If that's correct, then surely there is a better way than this to ensure that ferocious bites cast close to 100 energy. As one meager attempt, I moved ferocious bite below rake in the priority list:

This picked up another ~200 dps.

DPS neutral in DoC+SotF. I see the ~200 gain in HotW+SotF. Haven't tried any other combos yet.

Stenhaldi wrote:I also decided to rework the thrash logic, because the heavy clearcast emphasis for thrash never made much sense to me (10 energy is nothing compared to other considerations). Thrash is like a mini-ferocious bite, so I gave it similar logic and moved it just above ferocious bite in the priority.

Those numbers are just guesses but this already picks up ~1000 dps.

In DoC+SotF I'm showing a ~2000 DPS loss in my current script (my changes + yours) or ~1000 DPS loss in the base T16N sample profile with just this set of changes.In HotW+SotF its DPS neutral in my current script or ~1000 DPS gain in base T16N profile.

Making your SR + FB changes (and none of mine) cuts the gain to only ~400 DPS in HotW+SotF. Changing Rake>Mangle to filler (per my post) brings it to a ~300 DPS loss. So I think it has more to do with bringing Thrash above the Rake>Mangle line and using FB less.

However, some of the way you implemented the conditionals seems to work well in the traditional thrash place (just above fillers). Currently they're DPS neutral in DoC+SotF but some tweaking might find some improvement. Gonna experiment more later but running out of time before raid.

As a final observation, it's not worth forcing filler just for TF (or presumably NV).

This picks up ~500 dps.

Showing similar in DoC+SotF as well.

EDIT: Moving the buff.feral_fury.react filler line with the rest of the fillers (ie below thrash and FB if you moved that) is a ~400 DPS up

Stenhaldi wrote:Incidentally, is it possible to define variables within the action list (without hardcoding them into the module)? The thrash and ferocious bite conditions would be much cleaner and more transparent if they were written in terms of variables like expected_time_to_5cp and max_time_to_5cp and all the information about combo points, energy, TF cooldown, and clearcasting were put into those variables.

While I think lots of minor improvements are good, we should be careful to avoid overfitting the rotation. Many of these DPS gains can be DPS losses with different ilvl gear or trinkets.

I like the idea of a longer FB pool -- I often find myself waiting at 5cp when I've got no procs active, but I rarely pool when I've got procs active because refreshing/clipping is almost always a better option.

I think much of the logic should work differently based on what procs are up. You might SR immediately if Rune is active but SR will fade before the duration ends, depending on the number of CP available. Or you might build CP during Rune with Mangle instead of Rake if you have 4pT15 active. Early SR refreshes might be better than FB during proc downtime.

If we had running number that showed our "kitty power" (relative to out of combat before pull), I'd imagine our priority list looks different at 1x than it does at 3x.

raffy wrote:While I think lots of minor improvements are good, we should be careful to avoid overfitting the rotation. Many of these DPS gains can be DPS losses with different ilvl gear or trinkets.

Yeah, I normally don't worry much about optimizing simulations -- and by the same token, I normally trust my own estimates over simulation results for ranking trinkets, talents, or anything highly sensitive to the action priority. But at this point, the trinket effects are getting difficult to model and yet I'm in a position where I don't trust the simulation results either because they don't play the way I play. This is why I'm looking at ways to make the simulation play closer to the way I do.

raffy wrote:While I think lots of minor improvements are good, we should be careful to avoid overfitting the rotation. Many of these DPS gains can be DPS losses with different ilvl gear or trinkets.

I like the idea of a longer FB pool -- I often find myself waiting at 5cp when I've got no procs active, but I rarely pool when I've got procs active because refreshing/clipping is almost always a better option.

I think much of the logic should work differently based on what procs are up. You might SR immediately if Rune is active but SR will fade before the duration ends, depending on the number of CP available. Or you might build CP during Rune with Mangle instead of Rake if you have 4pT15 active. Early SR refreshes might be better than FB during proc downtime.

If we had running number that showed our "kitty power" (relative to out of combat before pull), I'd imagine our priority list looks different at 1x than it does at 3x.

I've been wanting to try that kind of logic for a bit now (even have jeshu musing on a way to give us that functionality in ovale) but I'm not quire sure how to do it in Simcraft.

As far as the changes to Simc go, I've merged the best of mine and Stenhaldi's:

2nd changes (All changed together because on their own they have no DPS change but are all required for the FB change; also requires the Rake change from the 1st set of changes):Feral Fury filler line moved below Thrash (no net change by itself)Added new SR line (small to no net change by itself or w/ feral fury change):actions.advanced+=/savage_roar,if=buff.savage_roar.remains<=12&combo_points>=5&energy.time_to_max<=1.0&buff.savage_roar.remains<=dot.rip.remains+6&dot.rip.tickingNon-execute FB Moved just above fillers and modify to:# Pool to 90 energy for Ferocious Bite.actions.advanced+=/pool_resource,if=combo_points>=5&!(energy>=90|(buff.berserk.up&energy>=25))&dot.rip.ticking# Ferocious Bite if we reach 90 energy without having to do something else firstactions.advanced+=/ferocious_bite,if=combo_points>=5&dot.rip.tickingResults:DoC+SotF: +800 DPSHotW+SotF: +1000 DPSDoC+FoN: +1650 DPSHotW+FoN: +2100 DPS

5th change (this was actually a DPS loss for DoC+SotF before the 3rd and 4th change above):Removed using fillers during TF (and NV)Results:DoC+SotF: -0 DPS (teensie downgrade but well within the margin of error)HotW+SotF: +550 DPSDoC+FoN: +150 DPSHotW+FoN: +750 DPS

# This default action priority list is automatically created based on your character.# It is a attempt to provide you with a action list that is both simple and practicable,# while resulting in a meaningful and good simulation. It may not result in the absolutely highest possible dps.# Feel free to edit, adapt and improve it to your own needs.# SimulationCraft is always looking for updates and improvements to the default action lists.

# By default the simulation will use the "Basic" action list, if you would like to instead use the "Advanced" action list do so here.actions=swap_action_list,name=advanced

actions.basic=auto_attackactions.basic+=/skull_bash_cat# Keep Rip from falling off during execute range.actions.basic+=/ferocious_bite,if=dot.rip.ticking&dot.rip.remains<=3&target.health.pct<=25actions.basic+=/faerie_fire,if=debuff.weakened_armor.stack<3# Proc Dream of Cenarius at 4+ CP or when PS is about to expire.actions.basic+=/healing_touch,if=talent.dream_of_cenarius.enabled&buff.predatory_swiftness.up&buff.dream_of_cenarius.down&(buff.predatory_swiftness.remains<1.5|combo_points>=4)actions.basic+=/savage_roar,if=buff.savage_roar.remains<3actions.basic+=/virmens_bite_potion,if=(target.health.pct<30&buff.berserk.up)|target.time_to_die<=40actions.basic+=/tigers_fury,if=energy<=35&!buff.omen_of_clarity.reactactions.basic+=/berserk,if=buff.tigers_fury.upactions.basic+=/berserking,if=buff.tigers_fury.up# Overwrite Rip during execute range if it's at least 15% stronger than the current.actions.basic+=/rip,if=combo_points>=5&target.health.pct<=25&action.rip.tick_damage%dot.rip.tick_dmg>=1.15actions.basic+=/ferocious_bite,if=combo_points>=5&target.health.pct<=25&dot.rip.tickingactions.basic+=/rip,if=combo_points>=5&dot.rip.remains<2# Ferocious Bite if we will energy cap before being able to spend our CP on Rip or Savage Roar.actions.basic+=/ferocious_bite,if=combo_points>=5&energy.time_to_max<dot.rip.remains-2&energy.time_to_max<buff.savage_roar.remains-3actions.basic+=/thrash_cat,if=buff.omen_of_clarity.react&dot.thrash_cat.remains<3# Rake if it hits harder than Mangle and we won't apply a weaker bleed to the target.actions.basic+=/rake,if=action.rake.tick_damage>action.mangle_cat.hit_damage&action.rake.tick_damage>=dot.rake.tick_dmg# Rake if it's about to fall off or we can apply a stronger Rake.actions.basic+=/rake,if=dot.rake.remains<3|action.rake.tick_damage>dot.rake.tick_dmgactions.basic+=/run_action_list,name=filler,if=buff.feral_fury.reactactions.basic+=/pool_resource,for_next=1actions.basic+=/thrash_cat,if=dot.thrash_cat.remains<3&(dot.rip.remains>6|combo_points>=5)# Conditions under which we should execute a CP generator.actions.basic+=/run_action_list,name=filler,if=buff.omen_of_clarity.reactactions.basic+=/run_action_list,name=filler,if=(combo_points<5&dot.rip.remains<3.0)|(combo_points=0&buff.savage_roar.remains<2)actions.basic+=/run_action_list,name=filler,if=target.time_to_die<=8.5actions.basic+=/run_action_list,name=filler,if=buff.tigers_fury.up|buff.berserk.up|buff.natures_vigil.upactions.basic+=/run_action_list,name=filler,if=cooldown.tigers_fury.remains<=3actions.basic+=/run_action_list,name=filler,if=energy.time_to_max<=1.0

actions.advanced=auto_attackactions.advanced+=/skull_bash_catactions.advanced+=/berserking# Keep Rip from falling off during execute range.actions.advanced+=/ferocious_bite,if=dot.rip.ticking&dot.rip.remains<=3&target.health.pct<=25actions.advanced+=/faerie_fire,if=debuff.weakened_armor.stack<3# Proc Dream of Cenarius at 4+ CP or when PS is about to expire.actions.advanced+=/healing_touch,if=talent.dream_of_cenarius.enabled&buff.predatory_swiftness.up&buff.dream_of_cenarius.down&(buff.predatory_swiftness.remains<1.5|combo_points>=4)actions.advanced+=/savage_roar,if=buff.savage_roar.downactions.advanced+=/tigers_fury,if=energy<=35&!buff.omen_of_clarity.reactactions.advanced+=/berserk,if=buff.tigers_fury.up|(target.time_to_die<18&cooldown.tigers_fury.remains>6)actions.advanced+=/thrash_cat,if=buff.omen_of_clarity.react&dot.thrash_cat.remains<3&target.time_to_die>=6actions.advanced+=/ferocious_bite,if=target.time_to_die<=1&combo_points>=3actions.advanced+=/savage_roar,if=buff.savage_roar.remains<=3&combo_points>0&target.health.pct<25# Potion near or during execute range when Rune is up and we have 5 CP.actions.advanced+=/virmens_bite_potion,if=(combo_points>=5&(target.time_to_die*(target.health.pct-25)%target.health.pct)<15&buff.rune_of_reorigination.up)|target.time_to_die<=40# Overwrite Rip if it's at least 15% stronger than the current.actions.advanced+=/rip,if=combo_points>=5&action.rip.tick_damage%dot.rip.tick_dmg>=1.15&target.time_to_die>30actions.advanced+=/rip,if=combo_points>=4&action.rip.tick_damage%dot.rip.tick_dmg>=0.95&target.time_to_die>30&buff.rune_of_reorigination.up&buff.rune_of_reorigination.remains<=1.5# Pool 50 energy for Ferocious Bite.actions.advanced+=/pool_resource,if=combo_points>=5&target.health.pct<=25&dot.rip.ticking&!(energy>=50|(buff.berserk.up&energy>=25))actions.advanced+=/ferocious_bite,if=combo_points>=5&dot.rip.ticking&target.health.pct<=25actions.advanced+=/rip,if=combo_points>=5&target.time_to_die>=6&dot.rip.remains<2&(buff.berserk.up|dot.rip.remains+1.9<=cooldown.tigers_fury.remains)actions.advanced+=/savage_roar,if=buff.savage_roar.remains<=3&combo_points>0&buff.savage_roar.remains+2>dot.rip.remainsactions.advanced+=/savage_roar,if=buff.savage_roar.remains<=6&combo_points>=5&buff.savage_roar.remains+2<=dot.rip.remains&dot.rip.tickingactions.advanced+=/savage_roar,if=buff.savage_roar.remains<=12&combo_points>=5&energy.time_to_max<=1.0&buff.savage_roar.remains<=dot.rip.remains+6&dot.rip.ticking# Rake if it hits harder than Mangle and we won't apply a weaker bleed to the target.actions.advanced+=/rake,if=action.rake.tick_damage>action.mangle_cat.hit_damage&action.rake.tick_damage>=dot.rake.tick_dmg# Refresh Rake as Re-Origination is about to end if Rake has <9 seconds left.actions.advanced+=/rake,if=buff.rune_of_reorigination.up&dot.rake.remains<9&buff.rune_of_reorigination.remains<=1.5# Rake if we can apply a stronger Rake or if it's about to fall off and clipping the last tick won't waste too much damage.actions.advanced+=/rake,if=target.time_to_die-dot.rake.remains>3&(action.rake.tick_damage>dot.rake.tick_dmg|(dot.rake.remains<3&action.rake.tick_damage%dot.rake.tick_dmg>=0.75))actions.advanced+=/pool_resource,for_next=1actions.advanced+=/thrash_cat,if=target.time_to_die>=6&dot.thrash_cat.remains<3&(dot.rip.remains>=8&buff.savage_roar.remains>=12|buff.berserk.up|combo_points>=5)&dot.rip.tickingactions.advanced+=/pool_resource,for_next=1actions.advanced+=/thrash_cat,if=target.time_to_die>=6&dot.thrash_cat.remains<9&buff.rune_of_reorigination.up&buff.rune_of_reorigination.remains<=1.5&dot.rip.ticking# Pool to 90 energy for Ferocious Bite.actions.advanced+=/pool_resource,if=combo_points>=5&!(energy>=90|(buff.berserk.up&energy>=25))&dot.rip.ticking# Ferocious Bite if we reach 90 energy without having to do something else firstactions.advanced+=/ferocious_bite,if=combo_points>=5&dot.rip.tickingactions.advanced+=/run_action_list,name=filler,if=buff.omen_of_clarity.reactactions.advanced+=/run_action_list,name=filler,if=buff.feral_fury.react# Conditions under which we should execute a CP generator.actions.advanced+=/run_action_list,name=filler,if=(combo_points<5&dot.rip.remains<3.0)|(combo_points=0&buff.savage_roar.remains<2)actions.advanced+=/run_action_list,name=filler,if=target.time_to_die<=8.5actions.advanced+=/run_action_list,name=filler,if=buff.berserk.upactions.advanced+=/run_action_list,name=filler,if=cooldown.tigers_fury.remains<=3actions.advanced+=/run_action_list,name=filler,if=energy.time_to_max<=1.0

For profiles using DoC, 4pT16, Rune of Re-Origination and either Haromm's Talisman or Ticking Ebon Detonator, the following opener is higher DPS than the normal:Healing TouchCat FormSavage RoarVirmen's BiteProwlTiger's FurySavage RoarRavageBerserk / Synapse SpringsRip

Alpheus wrote:That opening looks terribly clumsy. Does the wasted energy from the early TF trade positively for the faster rip?

With a normal opener and a best case scenario, you get to 5 CP in 3 GCDs, this is fairly likely but not guaranteed (maybe 6% chance of needing a 4th CP generator). And you end up with a Rip that looks something like this:

Whereas with the other opener, it only takes you 2 GCDs to get to 5 CP but the first is a non-hostile attack meaning it does not consume DoC and does not proc your trinkets. The resulting rip looks like this:

So your rip has an extra ~6k agility (more with a higher level TED, that's a 553 one) and is buffed by Dream of Cenarius. That rip is then 35-45% better than the normal opener and is applied 1 second earlier. You're trading 1 second of TF uptime and 60 energy for a Rip that does about 2-3 million more damage.

Also I'd like to say, while it was quite a significant gain for Ticking Ebon Detonator (about a 1% DPS gain) it was a very small amount for Haromm's, and Haromm's opener will likely end up getting changed.

Alpheus wrote:That opening looks terribly clumsy. Does the wasted energy from the early TF trade positively for the faster rip?

With a normal opener and a best case scenario, you get to 5 CP in 3 GCDs, this is fairly likely but not guaranteed (maybe 6% chance of needing a 4th CP generator). And you end up with a Rip that looks something like this:

Whereas with the other opener, it only takes you 2 GCDs to get to 5 CP but the first is a non-hostile attack meaning it does not consume DoC and does not proc your trinkets. The resulting rip looks like this:

So your rip has an extra ~6k agility (more with a higher level TED, that's a 553 one) and is buffed by Dream of Cenarius. That rip is then 35-45% better than the normal opener and is applied 1 second earlier. You're trading 1 second of TF uptime and 60 energy for a Rip that does about 2-3 million more damage.

Also I'd like to say, while it was quite a significant gain for Ticking Ebon Detonator (about a 1% DPS gain) it was a very small amount for Haromm's, and Haromm's opener will likely end up getting changed.

TED has a slightly lower RPPM than rune if I see correctly. Does it mean both should be up for the pull (assuming max rune).

No, TED is not guaranteed to be up for the pull like rune is. If I did the math correctly the chance is only 42%, but worse case if it doesn't proc you can clip again later during the rune proc anyway.

I hope to be posting numbers on trinkets some time this evening. It does affect things, obviously, but nearly as significantly as you might think; the tiger's fury was still casting which means it was still granting the 60 energy and 4-piece buffs, it was only the damage buff that was absent.

I will say raffy and my trinket numbers are very very close (relatively speaking).

Note that rake does NOT cycle targets because simc puts the combo points on the player. If raffy has this implemented correctly in simcraft, I'd be very interested in seeing the results with different active enemies values (and different talents as its likely to have a large effect on it). Note that for the second rake line active_enemies<=5 is better until you get 2pt16 (and might be other active_enemies that'd be different without that set bonus).

My cleave encounter still needs more work too, and possibly split into multiple encounters, because it's hard to have one action list for Sustained AoE (few and many) and Primary Target + Periodic AoE (short and long duration), etc... especially when Hotwcane is involved.

Rake cycling works and the combos are on the target, I just have non-boss Rake disabled for the cleave encounter because I didn't add any options yet to signify that the main target is non-primary. There's definitely a difference between Tortos+Bats and cleaving a wave of 8 identical adds.

If curious, you can play with this yourself in Catus: you can edit the script inside, Catus/Cache/dl.dropbox/Encounter-Cleave.txt That file is reloaded each time the Cleave encounter is run and there is very basic error handling for incorrect script syntax. I have very incomplete script support, but it's getting better each update. The syntax is virtually the same beyond the different prefix: "main:" vs "actions.main+=/". I'm trying to move everything over to Feral-specific functions, like the rip_power(t), rake_damage(t), things above to help reduce script verbosity. You can debug what it's doing with the Combat Log. You can add the field "debug" like "rake,if=blah,debug=RakeTest1" to get inline prints in the combat log when that action is fired. The combat log also includes when action list swaps occur.

After getting a chance to try the aoe in ovale in actual raids (h tot 10) the finisher logic needed some work so I mostly integrated the finisher logic from the main script with a few changes (FB at low energy instead of high or not at all depending on spec/berserk)

actions.aoe=swap_action_list,name=default,if=active_enemies<3actions.aoe+=/auto_attack# Keep Rip from falling off during execute range.actions.aoe+=/ferocious_bite,if=dot.rip.ticking&dot.rip.remains<=3&target.health.pct<=25&energy<=35# Proc Dream of Cenarius when PS is about to expire.actions.aoe+=/healing_touch,if=talent.dream_of_cenarius.enabled&buff.predatory_swiftness.up&buff.dream_of_cenarius.down&buff.predatory_swiftness.remains<1.5actions.aoe+=/faerie_fire,cycle_targets=1,if=debuff.weakened_armor.stack<3actions.aoe+=/savage_roar,if=buff.savage_roar.down|(buff.savage_roar.remains<3&combo_points>0)|(buff.feral_rage.up&buff.feral_rage.remains<=1&talent.soul_of_the_forest.enabled)actions.aoe+=/tigers_fury,if=energy<=35&!buff.omen_of_clarity.reactactions.aoe+=/berserk,if=buff.tigers_fury.upactions.aoe+=/thrash_cat,if=buff.omen_of_clarity.react&dot.thrash_cat.remains<3&target.time_to_die>=6actions.aoe+=/swipe_cat,if=buff.omen_of_clarity.reactactions.aoe+=/savage_roar,if=buff.savage_roar.remains<=3&combo_points>0&target.health.pct<25# Overwrite Rip if it's at least 15% stronger than the current.actions.aoe+=/rip,if=combo_points>=5&action.rip.tick_damage%dot.rip.tick_dmg>=1.15&target.time_to_die>30&(talent.dream_of_cenarius.enabled|talent.soul_of_the_forest.enabled|active_enemies<=6)actions.aoe+=/ferocious_bite,if=combo_points>=5&dot.rip.ticking&target.health.pct<=25&energy<=35# Use 4 or more CP to apply Rip if Rune of Reorigination is about to expire and it's at least close to the current rip in damage.actions.aoe+=/rip,if=combo_points>=4&action.rip.tick_damage%dot.rip.tick_dmg>=0.95&target.time_to_die>30&buff.rune_of_reorigination.up&buff.rune_of_reorigination.remains<=1.5&(talent.dream_of_cenarius.enabled|talent.soul_of_the_forest.enabled|active_enemies<=6)actions.aoe+=/rip,if=combo_points>=5&target.time_to_die>=6&dot.rip.remains<2&(talent.dream_of_cenarius.enabled|talent.soul_of_the_forest.enabled|active_enemies<=6)actions.aoe+=/savage_roar,if=buff.savage_roar.remains<=3&combo_points>0&buff.savage_roar.remains+2>dot.rip.remainsactions.aoe+=/savage_roar,if=buff.savage_roar.remains<=6&combo_points>=5&buff.savage_roar.remains+2<=dot.rip.remains&dot.rip.tickingactions.aoe+=/savage_roar,if=buff.savage_roar.remains<=12&combo_points>=5&energy.time_to_max<=1.0&buff.savage_roar.remains<=dot.rip.remains+6&dot.rip.tickingactions.aoe+=/healing_touch,if=talent.dream_of_cenarius.enabled&buff.predatory_swiftness.up&buff.dream_of_cenarius.down&(buff.rune_of_reorigination.up&dot.thrash_cat.remains<10|dot.thrash_cat.remains<4)actions.aoe+=/pool_resource,for_next=1actions.aoe+=/thrash_cat,if=(buff.rune_of_reorigination.up&dot.thrash_cat.remains<9)|dot.thrash_cat.remains<3actions.aoe+=/swipe_cat,if=buff.feral_fury.reactactions.aoe+=/ferocious_bite,if=combo_points>=5&dot.rip.ticking&talent.dream_of_cenarius.enabled&talent.soul_of_the_forest.enabled&buff.berserk.upactions.aoe+=/rake,if=buff.rune_of_reorigination.up&active_enemies<=8&dot.rake.remains<3&target.time_to_die>=15actions.aoe+=/rake,if=active_enemies<=4&dot.rake.remains<3&target.time_to_die>=15actions.aoe+=/swipe_cat,if=dot.rip.ticking&dot.rip.remains<=6&target.health.pct<=25actions.aoe+=/swipe_cat,if=cooldown.tigers_fury.remains<=3actions.aoe+=/swipe_cat,if=buff.tigers_fury.up|buff.berserk.upactions.aoe+=/swipe_cat,if=energy.time_to_max<=1.0

Its pretty much identical to the main rotation now with the following exceptions:Swipe as filler (duh!)Clearcast Swipe if you're not using Clearcasting on Thrash (ie prioritized over finishers)Don't FB except to refresh rip in execute range (and do so at lowest energy possible) unless berserk is up, feral fury is not up and you're DoC+SotFDon't clip Rake early, just refresh or don't use at all depending on number of targets and rune procAlways refresh Thrash (as opposed to only when it won't cost rip uptime)HT used before Thrash for DoC instead of CP >=4Thrash prioritized over Rake

There were some minor gains with slightly more aggressive SR usage for DoC+SotF (only like 0.3% DPS) but I didn't include them as almost no AoE fights are sustained for minutes like simc is doing. I'll probably try some catus simming to see what it does in the cleave encounter there.

The non-SR'd Rake tick in the report you (aggixx) sent me comes from:- SR fades- OoC procs- GCD is available- SR is down, but we're below 25 energy- Rake/Thrash (or whatever) gets CastPossibly the "savage_roar,if=down" line needs a pool_resource guard. Maybe this is too rare of an occurrence, but I don't think any player would actually use an OoC proc before restoring SR.

aggixx wrote:So after what literally amounts to hours and hours of works, raffy and I seem to have worked our what we think is optimal usage for Force of Nature. The usage depends somewhat on your gear, but the basic idea is like this:

You're at (or are about to reach) 3 charges.

The encounter is going to end within ~20 seconds.

At least one of your trinkets is up.

Now on the last line, typically what would happen is your Agility trinket procs and you spend 2 charges (remember, you're goal in between trinket procs is to keep from hitting 3 charges). Some amount of time later, your 3rd treant may finish recharging, at which point you should use it if the trinket proc is still up at that time. After the proc ends, you'll go back to keeping it from hitting max charges until you get another trinket proc.

Now there are two trinkets that present a special case in how you should use your charges (instead of just using them at any point during the trinket proc):Rune of Re-Origination: Use them at the end of the proc (ideally about 1 second before the proc ends). This way the Rake benefits from the vastly increased mastery, and then after the proc fades they get your crit and haste back and they're auto attack does a bit more damage than if you had summoned it at the start of the proc.Renataki's Soul Charm: Similar to Rune but for a different reason, you want to also use your charges at the end of this proc. This will get you an extremely hard hitting rake, which dwarfs the loss in auto attack damage that you would have otherwise had if you had used your charges earlier in the trinket proc.

In all of the trinket pairs that I tested, it was worth expending your charges when either trinket procs, but conceivably if one of your trinkets greatly outshadows the other in item level that may be unadvisable. That would be something you would have to sim for yourself.

Finally, I should say that if you're dealing with procs that are longer than 15 seconds, it would be beneficial to wait until 15 seconds remains on the proc to allow for a small chance of multiple procs being active at the same time, but that is of course assuming you're not losing the benefit of some other buff because of it.

Edit: Just discovered something that makes me think this post isn't entirely accurate. Take with a grain of salt.

I have just started trying out FoN, and I am a little confused on the optimal usage. Should I use all 3 charges when the conditions are met, or only use 1 charge when I hit 3 charges and save the other 2 for trinkets? I have been looking all over, and this is the best info I have found so far, but I am not 100% sure what you mean by it. Also what was discovered that makes the post not accurate, and which part?

You want to wait until the end of the trinket proc to use FoN. If neither of your trinkets are Rune or Renataki's then you should dump all of your charges immediately if your 2nd trinket procs while you're waiting for the first trinket to reach its end. If you're using Ticking Ebon Detonator, you want to dump all of your charges the second it procs (in addition to using them when your other trinket is about to end).