Register

Simulationcraft - Feral rotation discussion and script

Face-rippin fun.

Moderator: Forum Administrators

Exalted
User avatar
Posts: 1145
Joined: Fri Jun 04, 2010 4:28 am

Simulationcraft - Feral rotation discussion and script

Postby Leafkiller » Mon Aug 20, 2012 5:41 am

Rather than keep the most recent working copy of the SimulationCraft feral script in a separate thread, I am moving it here, and making this thread sticky.

In general, I will only posts updates to the script when it is demonstrably better than the previous script that was posted here. This is the script I am using to optimize my Ovale script rather than the one that has been checked into SimulationCraft. Eventually this script, or a version that is close to it will be checked into SimulationCraft. The primary issue we are facing right now is that this script is very complex and is difficult, if not impossible, to execute without an addon. Currently DroodFocus has changes that support this script, and of course my Ovale script supports it. I will update this post as I learn about additional addons that make it possible to execute this script.

The dps gains of this script over the script that is currently checked into SimulationCraft is at least 2% for all three level 90 talents.

Spoiler: show
Code: Select all
#!./simc

druid="Druid_Feral_T14H"
origin="unknown"
level=90
race=troll
spec=feral
role=attack
position=back
professions=engineering=600/inscription=600
talents=010102
glyphs=savagery

$(rip_remains)=(dot.rip.remains+(8-(dot.rip.ticks_added*2)))

actions.precombat=flask,type=spring_blossoms
actions.precombat+=/food,type=sea_mist_rice_noodles
actions.precombat+=/mark_of_the_wild,if=!aura.str_agi_int.up
actions.precombat+=/healing_touch,if=!buff.dream_of_cenarius_damage.up&talent.dream_of_cenarius.enabled
actions.precombat+=/cat_form
actions.precombat+=/savage_roar
actions.precombat+=/snapshot_stats
actions.precombat+=/virmens_bite_potion
actions.precombat+=/treants,if=talent.force_of_nature.enabled

actions=auto_attack
actions+=/berserking
actions+=/use_item,name=eternal_blossom_grips,if=buff.heart_of_the_wild.up
#actions+=/heart_of_the_wild,if=enabled
actions+=/virmens_bite_potion,if=buff.heart_of_the_wild.up|target.time_to_die<=40
actions+=/wrath,if=cast_time<buff.heart_of_the_wild.remains

actions+=/cat_form,if=buff.cat_form.down
actions+=/healing_touch,if=talent.dream_of_cenarius.enabled&buff.predatory_swiftness.up&buff.predatory_swiftness.remains<=1.5&buff.dream_of_cenarius_damage.down
actions+=/savage_roar,if=buff.savage_roar.down
actions+=/skull_bash_cat

actions+=/healing_touch,if=talent.dream_of_cenarius.enabled&buff.predatory_swiftness.up&combo_points>=4&buff.dream_of_cenarius_damage.stack<2
actions+=/healing_touch,if=talent.dream_of_cenarius.enabled&prev.natures_swiftness

actions+=/use_item,name=eternal_blossom_grips,sync=tigers_fury
actions+=/tigers_fury,if=energy<=35&!buff.omen_of_clarity.react
actions+=/berserk,if=buff.tigers_fury.up|(target.time_to_die<15&cooldown.tigers_fury.remains>6)
actions+=/natures_vigil,if=buff.berserk.up&talent.natures_vigil.enabled
actions+=/incarnation,if=buff.berserk.up&talent.incarnation.enabled

actions+=/ferocious_bite,if=combo_points>=1&dot.rip.ticking&dot.rip.remains<=2&target.health.pct<=25
actions+=/faerie_fire,if=debuff.weakened_armor.stack<3

actions+=/thrash_cat,if=target.time_to_die>=6&buff.omen_of_clarity.react&dot.thrash_cat.remains<3&buff.dream_of_cenarius_damage.down

actions+=/ferocious_bite,if=(target.time_to_die<=4&combo_points>=5)|(target.time_to_die<=1&combo_points>=3)

actions+=/savage_roar,if=buff.savage_roar.remains<=3&combo_points>0&buff.dream_of_cenarius_damage.down&target.health.pct<25

actions+=/natures_swiftness,if=talent.dream_of_cenarius.enabled&buff.dream_of_cenarius_damage.down&buff.predatory_swiftness.down&combo_points>=5&target.health.pct<=25
actions+=/virmens_bite_potion,if=(talent.dream_of_cenarius.enabled&combo_points>=5&target.health.pct<=25&buff.dream_of_cenarius_damage.up)|(!talent.dream_of_cenarius.enabled&buff.berserk.up&target.health.pct<=25)|target.time_to_die<=40
actions+=/rip,if=combo_points>=5&buff.virmens_bite_potion.up&buff.dream_of_cenarius_damage.up&dot.rip.multiplier<tick_multiplier&target.health.pct<=25&target.time_to_die>30
actions+=/rip,if=combo_points>=5&tick_multiplier%dot.rip.multiplier>1.14&target.health.pct<=25&target.time_to_die>30
actions+=/pool_resource,wait=0.1,if=combo_points>=5&dot.rip.ticking&target.health.pct<=25&((energy<50&buff.berserk.down)|(energy<25&buff.berserk.remains>1))&talent.dream_of_cenarius.enabled
actions+=/ferocious_bite,if=combo_points>=5&dot.rip.ticking&target.health.pct<=25

actions+=/rip,if=combo_points>=5&target.time_to_die>=6&dot.rip.remains<2.0&buff.dream_of_cenarius_damage.up
actions+=/rip,if=combo_points>=5&target.time_to_die>=6&dot.rip.remains<6.0&buff.dream_of_cenarius_damage.up&dot.rip.multiplier<=tick_multiplier&target.health.pct>25

actions+=/natures_swiftness,if=talent.dream_of_cenarius.enabled&buff.dream_of_cenarius_damage.down&buff.predatory_swiftness.down&combo_points>=5&dot.rip.remains<3&(buff.berserk.up|dot.rip.remains+1.9<=cooldown.tigers_fury.remains)&target.health.pct>25
actions+=/rip,if=combo_points>=5&target.time_to_die>=6&dot.rip.remains<2.0&(buff.berserk.up|dot.rip.remains+1.9<=cooldown.tigers_fury.remains)

actions+=/savage_roar,if=buff.savage_roar.remains<=3&combo_points>0&talent.dream_of_cenarius.enabled&buff.savage_roar.remains+2>dot.rip.remains
actions+=/savage_roar,if=buff.savage_roar.remains<=3&combo_points>0&!talent.dream_of_cenarius.enabled&!(dot.rip.remains<2.0&combo_points>=5&(buff.berserk.up|dot.rip.remains+1.9<=cooldown.tigers_fury.remains))

actions+=/thrash_cat,if=target.time_to_die>=6&buff.omen_of_clarity.react&dot.thrash_cat.remains<3

actions+=/ravage,extend_rip=1,if=dot.rip.ticking&dot.rip.remains<=4
actions+=/shred,extend_rip=1,if=dot.rip.ticking&dot.rip.remains<=4

actions+=/savage_roar,if=buff.savage_roar.remains<=6&combo_points>=5&buff.savage_roar.remains+2<=$(rip_remains)

actions+=/pool_resource,wait=0.1,if=talent.dream_of_cenarius.enabled&combo_points>=5&((energy<50&buff.berserk.down)|(energy<25&buff.berserk.remains>1))&buff.savage_roar.remains-6>=$(rip_remains)&$(rip_remains)>=4.5
actions+=/pool_resource,wait=0.1,if=talent.dream_of_cenarius.enabled&combo_points>=5&((energy<50&buff.berserk.down)|(energy<25&buff.berserk.remains>1))&buff.savage_roar.remains+6>=$(rip_remains)&$(rip_remains)>=6.5
actions+=/ferocious_bite,if=talent.dream_of_cenarius.enabled&combo_points>=5&buff.savage_roar.remains-6>=$(rip_remains)&$(rip_remains)>=4
actions+=/ferocious_bite,if=talent.dream_of_cenarius.enabled&combo_points>=5&buff.savage_roar.remains+6>=$(rip_remains)&$(rip_remains)>=6
actions+=/pool_resource,wait=0.1,if=talent.dream_of_cenarius.enabled&combo_points>=5&((energy<50&buff.berserk.down)|(energy<25&buff.berserk.remains>1))&$(rip_remains)>=10.5
actions+=/ferocious_bite,if=talent.dream_of_cenarius.enabled&combo_points>=5&$(rip_remains)>=10

actions+=/ferocious_bite,if=combo_points>=5&($(rip_remains)>10|($(rip_remains)>6&buff.berserk.up))&dot.rip.ticking

actions+=/rake,if=target.time_to_die>3&dot.rake.remains<6.0&buff.dream_of_cenarius_damage.up&dot.rake.multiplier<=tick_multiplier
actions+=/rake,if=target.time_to_die-dot.rake.remains>3&tick_multiplier%dot.rake.multiplier>1.12
actions+=/rake,if=target.time_to_die-dot.rake.remains>3&dot.rake.remains<3.0&(buff.berserk.up|(cooldown.tigers_fury.remains+0.8)>=dot.rake.remains|energy>60)

actions+=/ravage,if=buff.omen_of_clarity.react
actions+=/shred,if=buff.omen_of_clarity.react
actions+=/ravage,if=((combo_points<5&dot.rip.remains<3.0)|(combo_points=0&buff.savage_roar.remains<2))
actions+=/shred,if=((combo_points<5&dot.rip.remains<3.0)|(combo_points=0&buff.savage_roar.remains<2))
actions+=/thrash_cat,if=target.time_to_die>=15&dot.thrash_cat.remains<3&buff.berserk.up&talent.soul_of_the_forest.enabled&talent.dream_of_cenarius.enabled
actions+=/ravage,if=talent.dream_of_cenarius.enabled&buff.predatory_swiftness.remains>1&!(energy+(energy.regen*(buff.predatory_swiftness.remains-1))<(4-combo_points)*20)
actions+=/ravage,if=!talent.dream_of_cenarius.enabled&talent.soul_of_the_forest.enabled&combo_points<5&(energy+(energy.regen*(4-combo_points))>(5-combo_points)*20)
actions+=/ravage,if=target.time_to_die<=8.5
actions+=/shred,if=talent.dream_of_cenarius.enabled&buff.predatory_swiftness.remains>1&!(energy+(energy.regen*(buff.predatory_swiftness.remains-1))<(4-combo_points)*20)
actions+=/shred,if=!talent.dream_of_cenarius.enabled&talent.soul_of_the_forest.enabled&combo_points<5&(energy+(energy.regen*(4-combo_points))>(5-combo_points)*20)
actions+=/shred,if=target.time_to_die<=8.5
actions+=/thrash_cat,if=target.time_to_die>=6&combo_points>=5&dot.thrash_cat.remains<6&(buff.tigers_fury.up|buff.berserk.up|buff.natures_vigil.up)
actions+=/thrash_cat,if=target.time_to_die>=6&combo_points>=5&dot.thrash_cat.remains<6&cooldown.tigers_fury.remains<=3.0
actions+=/thrash_cat,if=target.time_to_die>=6&combo_points>=5&dot.thrash_cat.remains<6&energy.time_to_max<=1.0
actions+=/ravage,if=(buff.tigers_fury.up|buff.berserk.up|buff.natures_vigil.up)
actions+=/ravage,if=cooldown.tigers_fury.remains<=3.0
actions+=/ravage,if=energy.time_to_max<=1.0
actions+=/shred,if=(buff.tigers_fury.up|buff.berserk.up|buff.natures_vigil.up)
actions+=/shred,if=cooldown.tigers_fury.remains<=3.0
actions+=/shred,if=energy.time_to_max<=1.0
actions+=/treants,if=talent.force_of_nature.enabled
actions+=/natures_swiftness,if=buff.natures_vigil.up&!buff.berserk.up&!buff.predatory_swiftness.up
actions+=/healing_touch,if=buff.natures_vigil.up&(buff.predatory_swiftness.up|buff.natures_swiftness.up)&!buff.berserk.up

head=eternal_blossom_headpiece,id=86925,gems=agile_primal_80agi_160hit_180agi,reforge=exp_crit
neck=choker_of_the_unleashed_storm,id=86953
shoulders=eternal_blossom_spaulders,id=86927,gems=80agi_160hit_60agi,enchant=520agi_100crit,reforge=haste_mastery
back=legbreaker_greatcloak,id=86963,enchant=180hit,reforge=crit_exp
chest=eternal_blossom_raiment,id=86923,gems=80agi_160mastery_80agi_160mastery_120mastery,enchant=80all
wrists=bracers_of_unseen_strikes,id=86954,enchant=180agi,reforge=haste_mastery
hands=eternal_blossom_grips,id=86924,enchant=170mastery,addon=synapse_springs_mark_ii,reforge=hit_mastery
waist=stalkers_cord_of_eternal_autumn,id=87180,gems=160agi_160agi,reforge=crit_mastery
legs=legguards_of_failing_purification,id=90504,gems=160agi_80agi_160hit_120agi,enchant=285agi_165crit,reforge=hit_exp
feet=boots_of_the_still_breath,id=86943,gems=160agi,enchant=140mastery,reforge=haste_mastery
finger1=regails_band_of_the_endless,id=90503,reforge=haste_mastery
finger2=painful_thorned_ring,id=86974,reforge=exp_crit
trinket1=terror_in_the_mists,id=87167
trinket2=bottle_of_infinite_stars,id=87057
main_hand=gaorei_staff_of_the_legendary_protector,id=87156,gems=500agi,enchant=dancing_steel,reforge=exp_hit,addon=7932sp

# Gear Summary
# gear_strength=80
# gear_agility=17296
# gear_stamina=20502
# gear_intellect=80
# gear_spirit=80
# gear_expertise_rating=2537
# gear_hit_rating=2545
# gear_crit_rating=5124
# gear_haste_rating=1351
# gear_mastery_rating=8406
# gear_armor=18644
# meta_gem=agile_primal
# tier14_2pc_melee=1
# tier14_4pc_melee=1
# hands=eternal_blossom_grips,heroic=1,addon=synapse_springs_mark_ii
# main_hand=gaorei_staff_of_the_legendary_protector,heroic=1,weapon=staff_3.30speed_13314min_19972max,enchant=dancing_steel


Here is aggixx's AOE script for those who are interested:
Spoiler: show
Code: Select all
actions.precombat=flask,type=spring_blossoms
actions.precombat+=/food,type=sea_mist_rice_noodles
actions.precombat+=/mark_of_the_wild,if=!aura.str_agi_int.up
actions.precombat+=/healing_touch,if=!buff.dream_of_cenarius_damage.up&talent.dream_of_cenarius.enabled
actions.precombat+=/cat_form
actions.precombat+=/savage_roar
actions.precombat+=/snapshot_stats
actions.precombat+=/virmens_bite_potion
actions.precombat+=/treants,if=talent.force_of_nature.enabled

actions=auto_attack
actions+=/savage_roar,if=buff.savage_roar.remains<=1
actions+=/savage_roar,if=buff.savage_roar.remains<=3&combo_points>0
actions+=/use_item,name=eternal_blossom_grips,sync=tigers_fury
actions+=/tigers_fury,if=energy<=35&!buff.omen_of_clarity.react
actions+=/berserk,if=buff.tigers_fury.up
actions+=/virmens_bite_potion,if=buff.berserk.up
actions+=/thrash_cat,if=buff.tigers_fury.up&dot.thrash_cat.remains<9
actions+=/pool_resource,wait=0.1,for_next=1
actions+=/thrash_cat,if=dot.thrash_cat.remains<3
actions+=/savage_roar,if=buff.savage_roar.remains<9&combo_points>=5
actions+=/rip,if=combo_points>=5
actions+=/rake,cycle_targets=1,if=active_enemies<8&dot.rake.remains<3
actions+=/swipe_cat,if=buff.savage_roar.remains<=5
actions+=/swipe_cat,if=(buff.tigers_fury.up|buff.berserk.up)
actions+=/swipe_cat,if=cooldown.tigers_fury.remains<3
actions+=/swipe_cat,if=buff.omen_of_clarity.react
actions+=/swipe_cat,if=energy.time_to_max<=1

Exalted
User avatar
Posts: 1331
Joined: Fri Nov 25, 2011 7:49 pm

Re: Simulationcraft - Feral rotation discussion

Postby aggixx » Mon Aug 20, 2012 4:56 pm

Well, first off, I'm kind of off on a tangent in working on the action priority at the moment. I found that I had made a typo in one of the lines that was leading it to perform in a much different manner than intended, but was leading to a large DPS gain. This is the line I'm talking about:
actions+=/healing_touch,if=(buff.natures_swiftness.up)&talent.dream_of_cenarius.enabled&buff.dream_of_cenarius_damage.down&(((target.Fluffy_Pillow.time_to_die>=(8.5+action.healing_touch.gcd)&buff.tigers_fury.up&target.Fluffy_Pillow.dot.rake.remains<(12.0+action.healing_touch.gcd)&(target.Fluffy_Pillow.dot.rake.remains>=action.healing_touch.gcd|target.Fluffy_Pillow.dot.rake.multiplier<(tick_multiplier*1.5)))))

You can see that in the corresponding rake line that !dot.rake.ticking is there to say "If there's no rake on the target for me to compare against, then I should just cast rake."
actions+=/rake,if=target.time_to_die>=8.5&dot.rake.remains<12.0&(!dot.rake.ticking|dot.rake.multiplier<tick_multiplier)&buff.dream_of_cenarius_damage.up

When I transferred this over to the healing_touch line, I intended to type "target.Fluffy_Pillow.dot.rake.remains<=action.healing_touch.gcd" to copy over the meaning of the conditional in the rake line. After examining this later I realized it was extraneous because if there is no rake on the target, dot.rake.multiplier returns 0.

But at this point, I found out that the I had typed the less than sign as a greater than sign and that the line was not working as intended. It essentially functions as "if I can DoC a rake while TF is up, do it." Removing the entire italicized portion above turned out to be neutral (no big surprise really), but what really confuses me is that changing "buff.tigers_fury.up" to "buff.tigers_fury.remains>=action.healing_touch.gcd" is a DPS loss, so the line must be serving some purpose other than just what I think it's trying to achieve.

With all that explained, essentially what I'm trying to do is deconstruct what I've learned from this entire mistake and figure out exactly why it's a DPS gain and how to abuse it into a potentially bigger DPS gain.

I did spend some time trying to approach it from the angle of "optimize DoC rip uptime and then optimize DoC rake uptime" but I ended up coming back to this for the time being because it was really bothering me that I couldn't figure it out.

Leafkiller wrote:I gather that your supposition that tick_multiplier applies to the spell being cast was true which is why you had to multiply by 1.5 on the HTs.

Yep. I asked in IRC and, long story short, Zakalwe confirmed that dot.rake.multiplier is the percent damage increase that the player had when they applied the rake that is currently on the target, and tick_multiplier is the multiplier that the current action in the list it is checking (in this case, rake) would have if you were to cast it at that moment.

Leafkiller wrote:I noticed in several places you have the same conditionals in two actions in a row with the first one having a check for DoC. I assume this is simply for debugging purposes since the second conditional will take care of that case.

That's correct. Internally, I have the two lines labelled so that I can see how many times the spell is DoC'd and how many times it is not. I didn't bother to remove it in the commited profile.

Leafkiller wrote:Did you try moving the 12 second Rake conditional ahead of the Rip extend conditionals?

I have not, but moving rake priority around, particularly the DoC'd ones, is on my list of things after I figure out this TF thing.

Leafkiller wrote:When you finished putting the Rake HT code back in, what were the counts/ratios of DoCed Rakes and Rips at? Did that approach help out or was it a red herring?

Like I said above, I put that at a standstill for now to go back to the TF issue.

Edit: Starfox pointed out the prev.natures_swiftness conditional, which allows you to take out all of the HT,if=buff.natures_swiftness.up.... lines and put one line at the top of the rotation like so:
actions+=/healing_touch,if=prev.natures_swiftness

Because the NS is only executed while the GCD is ready the conditionals can't change between the time when you activate NS and activate the healing_touch. In a way, this basically emulates a NS+HT macro that a player would use, and also sort of does what you were talking about creating an "NS+HT action". Adding an actions+=/NS line is essentially a trigger of a NS_HT combo, minus all of the work.
Image

Exalted
User avatar
Posts: 1331
Joined: Fri Nov 25, 2011 7:49 pm

Re: Simulationcraft - Feral rotation discussion

Postby aggixx » Mon Aug 20, 2012 5:59 pm

Just going to start double posting rather than editing into an already large post. Anyway, here's my current hypothesis on what's going on:

Currently the profile that I'm working on will clip any number of rake ticks if it is capable of casting a TF DoC rake, so perhaps by encouraging it to cast a DoC rake near when it activates TF, even if it isn't able to get it TFed, it makes it so that the next time TF comes up it's only clipping one or two ticks max to put up a TF DoC rake.

I "split" the "buff.tigers_fury.up" line into two lines, one of "buff.tigers_fury.remains>=action.healing_touch.gcd" and one of "cooldown.tigers_fury.remains>24", that way that I can tweak the number of seconds that it will go past the TF with a PS DoC Rake.

PS: So many acronyms! Thank god I don't have to say anything like OoC PS NS TF DoC rake.

Edit: Alright, done with that whole deal. I was able to pick up about 75 DPS each time I dropped the cd.tf.remains down by 1 second, and then once I got to >21, it was losing about 120 DPS per second. Going to commit this change, which is a total of about 250 DPS gain and also is quite a lot easier to read.

There's still an issue with this line though:
healing_touch,if=buff.predatory_swiftness.up&talent.dream_of_cenarius.enabled&buff.dream_of_cenarius_damage.down&(target.Fluffy_Pillow.health.pct<=25|(target.Fluffy_Pillow.dot.rip.remains>4&set_bonus.tier14_4pc_melee))&(((target.Fluffy_Pillow.time_to_die>=(8.5+action.healing_touch.gcd)&cooldown.tigers_fury.remains>21&target.Fluffy_Pillow.dot.rake.remains<(12.0+action.healing_touch.gcd))))


While it's a nice DPS gain, it lacks any conditional that checks tick_multipliers, so often time it uses the healing_touch at the completely wrong time. You can usually see something in the sample sequence like so (this happens during the BitW berserk):

QappppQ
Ferocious Bite, Healing Touch, Shred, Shred, Shred, Shred, Ferocious Bite.

Any attempt I've tried to implement a multiplier conditional into it has turned in to a fairly significant DPS loss (500-1000 DPS).
Image

Exalted
User avatar
Posts: 1331
Joined: Fri Nov 25, 2011 7:49 pm

Re: Simulationcraft - Feral rotation discussion

Postby aggixx » Mon Aug 20, 2012 11:57 pm

Leafkiller wrote:Can you try removing the tick_multiplier test and simply clipping Rake at <=12 seconds if there is a DoC buff up? I am curious what impact this will have on DPS. It should give slightly higher DoC uptime on Rake trading it off with some lost shreds. If it is at least dps neutral, then it will be a lot easier to express in Ovale. It might also pick up some of the DoC procs that you are using for the aggressive FBs just before the fillers

In the newest action list I was able to remove the threshold entirely for a DPS gain (same thing as boost it to 15), but adding a 12 second multiplier-less line was a 1k DPS loss, and taking the multiplier off of the 15 second line was about a 2.5k DPS loss.

Leafkiller wrote:Did you try moving the 12 second Rake conditional ahead of the Rip extend conditionals?

400 DPS loss. I'm not sure if fixing the lack of a tick_multiplier conditional the PS line would have an effect on this outcome.
Image

Exalted
User avatar
Posts: 1145
Joined: Fri Jun 04, 2010 4:28 am

Re: Simulationcraft - Feral rotation discussion

Postby Leafkiller » Tue Aug 21, 2012 2:03 am

It looks like the dps is about 900 higher than last time I checked. It is kind of sad that so much work has gone into optimizing DoC for such huge gains, and we are all expecting a nerf...

I will check out your current changes later.

Edit:

==============
I was reading through looking for the Rake changes and the following caught my eye:
M healing_touch,if=buff.predatory_swiftness.up&talent.dream_of_cenarius.enabled&buff.dream_of_cenarius_damage.down&(((combo_points>=1&dot.rip.ticking&target.Fluffy_Pillow.dot.rip.remains<=(2+action.healing_touch.gcd)&target.health.pct<=25)))&(energy.time_to_max>=action.healing_touch.gcd|combo_points>=3)&(!buff.omen_of_clarity.up|combo_points>=5)

I can't help but question the inclusion of "energy.time_to_max>=action.healing_touch.gcd." If Rip only has 2+action.healing_touch.gcd seconds left, and we have the change to refresh it with DoC, worrying about energy capping seems wrong.

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

On:
c rake,if=target.time_to_die>=8.5&buff.dream_of_cenarius_damage.up&(dot.rake.multiplier<tick_multiplier)

You never clip the Rake if it already has DoC on it. Perhaps you could add an additional rake action such as: rake,if=target.time_to_die>=8.5&buff.dream_of_cenarius_damage.up&dot.rake.remains<14.0&(dot.rake.multiplier<=tick_multiplier)

* the 14.0 is only a guess, and could be lower...

Exalted
User avatar
Posts: 1331
Joined: Fri Nov 25, 2011 7:49 pm

Re: Simulationcraft - Feral rotation discussion

Postby aggixx » Tue Aug 21, 2012 2:27 am

Leafkiller wrote:It looks like the dps is about 900 higher than last time I checked. It is kind of sad that so much work has gone into optimizing DoC for such huge gains, and we are all expecting a nerf...


True, but I have not much else to do anyway! :D

About that line: Yeah, that's something I was looking at too, but for a complexity reduction. It really was kind of a silly amount of min-maxing for a small DPS gain. I actually just committed a change to it to make it a little less complicated, I replaced these lines:
actions+=/healing_touch,label=ht_fb1,if=buff.predatory_swiftness.up&talent.dream_of_cenarius.enabled&buff.dream_of_cenarius_damage.down&(((combo_points>=1&dot.rip.ticking&target.Fluffy_Pillow.dot.rip.remains<=(2+action.healing_touch.gcd)&target.health.pct<=25)))&(energy.time_to_max>=action.healing_touch.gcd|combo_points>=3)&(!buff.omen_of_clarity.up|combo_points>=5)
actions+=/ferocious_bite,if=combo_points>=1&dot.rip.ticking&dot.rip.remains<=2&target.health.pct<=25
actions+=/natures_swiftness,label=ns_fb,if=!buff.predatory_swiftness.up&talent.dream_of_cenarius.enabled&buff.dream_of_cenarius_damage.down&talent.natures_swiftness.enabled&(((combo_points>=5&target.Fluffy_Pillow.dot.rip.remains>action.healing_touch.gcd&target.Fluffy_Pillow.health.pct<=25)))
actions+=/healing_touch,label=ps_fb1,if=buff.predatory_swiftness.up&talent.dream_of_cenarius.enabled&buff.dream_of_cenarius_damage.down&(((combo_points>=5&target.Fluffy_Pillow.dot.rip.remains>action.healing_touch.gcd&target.Fluffy_Pillow.health.pct<=25)))
actions+=/ferocious_bite,if=combo_points>=5&dot.rip.ticking&target.health.pct<=25

with these lines:
actions+=/natures_swiftness,label=ns_fb,if=!buff.predatory_swiftness.up&talent.dream_of_cenarius.enabled&buff.dream_of_cenarius_damage.down&talent.natures_swiftness.enabled&(((combo_points>=5&target.Fluffy_Pillow.dot.rip.remains>action.healing_touch.gcd&target.Fluffy_Pillow.health.pct<=25)))
actions+=/healing_touch,label=ps_fb1,if=buff.predatory_swiftness.up&talent.dream_of_cenarius.enabled&buff.dream_of_cenarius_damage.down&(((combo_points>=5&target.Fluffy_Pillow.dot.rip.remains>action.healing_touch.gcd&target.Fluffy_Pillow.health.pct<=25)))
actions+=/ferocious_bite,if=combo_points>=5&dot.rip.ticking&target.health.pct<=25
actions+=/ferocious_bite,if=combo_points>=1&dot.rip.ticking&dot.rip.remains<=2&target.health.pct<=25

Worth noting that is still does try to HT a 5cp FB as long as it can get away with it, but when you're in that desperate situation where you're using a sub 5 amount of CP it doesn't bother.

Oh, by the way, the intent of that code was that, since any amount of CP less than 5 is not a guaranteed PS proc, that the proc chance and therefore the combo points have to be above certain thresholds if you're wasting energy or wasting an OOC proc.

But really, it was just unrealistically complicated for a marginal DPS gain. When I reran the change now that the rotation is a little different it's DPS neutral so I just removed it.
Image

Exalted
User avatar
Posts: 1145
Joined: Fri Jun 04, 2010 4:28 am

Re: Simulationcraft - Feral rotation discussion

Postby Leafkiller » Tue Aug 21, 2012 2:39 am

I added this edit above after your last post, so here it is again:

On:
c rake,if=target.time_to_die>=8.5&buff.dream_of_cenarius_damage.up&(dot.rake.multiplier<tick_multiplier)

You never clip the Rake if it already has DoC on it. Perhaps you could add an additional rake action such as: rake,if=target.time_to_die>=8.5&buff.dream_of_cenarius_damage.up&dot.rake.remains<14.0&(dot.rake.multiplier<=tick_multiplier)

* the 14.0 is only a guess, and could be lower...

===========
Edit:

Have you run the current action list with the other level 90 talents recently? It occurred to me that:
h ferocious_bite,if=(target.time_to_die<=4&combo_points>=5)|target.time_to_die<=1
may be too aggressive if one of the other two talents is being used (just in case DoC is nerfed enough that the other talents become viable again).

Exalted
User avatar
Posts: 1331
Joined: Fri Nov 25, 2011 7:49 pm

Re: Simulationcraft - Feral rotation discussion

Postby aggixx » Tue Aug 21, 2012 3:12 am

On the rake suggestion: I tried your suggestion, and added a !prev.rake conditional so it wouldn't cast two rakes in a row, and got about a 300 DPS gain out of it with the inital 14 second threshold. Will see if I can get more out of it by tweaking.

On the FB thing: I don't think that the aggressiveness of that FB line is directly related to DoC. I found that those thresholds could be lowered from the live values for a large DPS gain without DoC at both 85 and 90 (the values used were found to be optimal without DoC). I guess it just happens to synergize with DoC well, so you might even be able to take the values lower if DoC is talented.

Edit: Optimal value for that rake change seems to be 12 seconds, not too surprisingly. Also not surprisingly, it nukes rake's average DPET by more than 100k damage, but rakes percent damage done goes up about 2% to 35%. Committed the change, you'll see it not as it's own individual line but merged into the old DoC line.

Edit: Went to sleep shortly making that change, but it occurred to me that that change has very drastic implications on the rest of the rotation. I'd be surprised if there isn't a ton of other tweaks that can be made to it's favor.

Things that are on the list to try:
  • Change Rake NS usage. NSing a Rake is probably quite devalued because of the sort of DoC Rake uptime this rotation has.
  • Change Rake PS usage. Especially looking at the cd.tf.remains line that I added yesterday. If my hypothesis was somewhat accurate on why it was a gain then it should no longer be a gain, or at least as much of one.
  • Change or remove other rake lines.

Edit: I ran some stat weights, something that I hadn't done since newer iterations of the rotation. I did statweights for both before the aggressive rake change and after. Here's the stat weights I got if anyone's curious, take them with a grain of salt though because I only did 25k iterations which isn't as accurate as it could be for a scale factor run. The margin of error for these are +/- 0.19 for Wdps, and +/- 0.06 for everything else.
Pre-rake change:
  • Agility: 5.58
  • Wdps: 5.50
  • Strength: 2.25
  • Mastery: 2.21
  • AP: 2.08
  • Crit: 1.90
  • Exp/Hit: 1.88
  • Haste: 1.45
Post-rake change:
  • Agility: 5.60
  • Wdps: 5.23
  • Mastery: 2.28
  • Strength: 2.22
  • AP: 2.06
  • Crit: 1.95
  • Exp/Hit: 1.84
  • Haste: 1.65
So it seems like the changes gave a huge boost to haste's value, a small boost to crit and mastery, and a small drop for Exp/Hit. Wdps also takes a huge drop (presumably because it's trading Shred [a Wdps ability] for Rake [an AP ability]), although it's still within the margin of error.

By the way, thanks for starting this thread. I think it's a really nice resource for communicating ideas.
Image

Exalted
User avatar
Posts: 1331
Joined: Fri Nov 25, 2011 7:49 pm

Re: Simulationcraft - Feral rotation discussion

Postby aggixx » Tue Aug 21, 2012 2:29 pm

It seems that NSing a rake pre-BitW if Rip isn't falling off soon is still a gain, but a rather small one. Using NS on only rips pre-BitW is about a 190 DPS loss.

Edit: Found out that disabling this line:
actions+=/rake,label=rake1,if=target.time_to_die>=8.5&dot.rake.remains<9.0&buff.tigers_fury.up&(dot.rake.multiplier<tick_multiplier)

If talent.doc.enabled is DPS neutral, so I went ahead and did it for simplification's sake.
Image

Posts: 45
Joined: Fri Jul 29, 2011 5:04 pm

Re: Simulationcraft - Feral rotation discussion

Postby BoldTM » Tue Aug 21, 2012 5:25 pm

Is there any place i can have a look at the updated action list?

Also DoC nerf confirmed. dropping from 50% to 25%

Exalted
User avatar
Posts: 1331
Joined: Fri Nov 25, 2011 7:49 pm

Re: Simulationcraft - Feral rotation discussion

Postby aggixx » Tue Aug 21, 2012 5:37 pm

BoldTM wrote:Is there any place i can have a look at the updated action list?

Also DoC nerf confirmed. dropping from 50% to 25%


So they reverted it to what it was 2 builds ago? Nice Blizzard, nice.

You can find the action list here under Action Priority List.

Edit: Going to commit the TF rake change and then start working on the 25% rotation.
Image

Exalted
User avatar
Posts: 1145
Joined: Fri Jun 04, 2010 4:28 am

Re: Simulationcraft - Feral rotation discussion

Postby Leafkiller » Tue Aug 21, 2012 6:16 pm

actions+=/rake,label=rake1,if=target.time_to_die>=8.5&dot.rake.remains<9.0&buff.tigers_fury.up&(dot.rake.multiplier<tick_multiplier)


Did you remove it or just add a qualifier to make sure it is not used when your spec includes DoC? I am pretty sure you will want it if DoC is not part of your spec.

My prediction - even at 25%, DoC will still be the best level 90 talent. Hopefully you will have some data on that soon.

Edit: I am glad you are finding this thread useful. It always help to be able to discuss the rotation with others and this forum is a good place to get quality feedback.

Exalted
User avatar
Posts: 1331
Joined: Fri Nov 25, 2011 7:49 pm

Re: Simulationcraft - Feral rotation discussion

Postby aggixx » Tue Aug 21, 2012 6:28 pm

Yes, I added &!talent.dream_of_cenarius.enabled to that rake line.

I agree that it should still be the best. It was non-negligibly better back before they buffed it to 50%, and those numbers were based on completely broken conditional lines. If I remember correctly, you could essentially out DPS the other two talents with 25% DoC by just casting HT whenever you had PS up.
Image

Exalted
User avatar
Posts: 1650
Joined: Mon May 24, 2010 10:21 pm

Re: Simulationcraft - Feral rotation discussion

Postby Tinderhoof » Tue Aug 21, 2012 6:32 pm

aggixx wrote:So they reverted it to what it was 2 builds ago? Nice Blizzard, nice.

Don't sweat this to much. Remember they buffed Rake 35% before this knowing we were going to take a hit. We won't be topping any meters, but maybe at least putting Rake on 2 targets may be worth while in T15 when we get some more stats.

Exalted
User avatar
Posts: 1331
Joined: Fri Nov 25, 2011 7:49 pm

Re: Simulationcraft - Feral rotation discussion

Postby aggixx » Tue Aug 21, 2012 6:36 pm

I'm not mad about it or anything, objectively 25% isn't too bad of a place for it to be at (maybe still a little too good, tbd). I just think it's funny how they almost doubled it when it was already a little on the strong side.
Image

Honored
Posts: 166
Joined: Mon Aug 01, 2011 6:20 pm

Re: Simulationcraft - Feral rotation discussion

Postby Sorcerer » Tue Aug 21, 2012 6:47 pm

Still bothers me they don't want to flip the coin with DoC mechanics for cats.

Can anyone do the simc comparing current 25% DoC vs HoTW with "higher tier stats' aka scaling of each?

Exalted
User avatar
Posts: 1331
Joined: Fri Nov 25, 2011 7:49 pm

Re: Simulationcraft - Feral rotation discussion

Postby aggixx » Tue Aug 21, 2012 7:51 pm

Unless I'm misunderstanding, it's probably more important to figure out how they compare with in T14 first ;)

Here's preliminary results of the DoC nerf. I'm still learning spell_querys and spell_data overrides in SimC, so there's a possibility I made the change wrong, but I did do a test profile and the DoC rakes were hitting 26% harder than non-DoC ones.

I have to note that feral in the raid sim on simulationcraft.org does about 1k less than when it's simmed locally because of the %age of the time it spends in execute range changing, so it's about a 3.5k DPS loss. It's... surprisingly resilient to such a huge nerf. Will do a quick talent comparison and then see what optimizing there is to do around the new 25% mark.

Edit: I'm not convinced of the accuracy of these results, but here is the talent comparison:
https://dl.dropbox.com/u/1086121/simc_p ... 16010.html
Image

Exalted
User avatar
Posts: 1145
Joined: Fri Jun 04, 2010 4:28 am

Re: Simulationcraft - Feral rotation discussion

Postby Leafkiller » Tue Aug 21, 2012 9:28 pm

The difference seems too small to me. I am trying to visualize the numbers, but can't explain them yet. I know some of the dps gains were independent of DoC, but not that much.

Exalted
User avatar
Posts: 1331
Joined: Fri Nov 25, 2011 7:49 pm

Re: Simulationcraft - Feral rotation discussion

Postby aggixx » Wed Aug 22, 2012 2:08 am

Althor just put up the new DBC data for build 16010 and I was able to redo the sims and get accurate results:

25k iterations DPS: https://dl.dropbox.com/u/1086121/simc_p ... 16010.html
Talent comparison: https://dl.dropbox.com/u/1086121/simc_p ... 010_2.html
Image

Honored
Posts: 132
Joined: Wed Mar 31, 2010 6:51 pm

Re: Simulationcraft - Feral rotation discussion

Postby Dabeasty » Wed Aug 22, 2012 2:59 am

So now, if we execute our insanely hard rotation perfectly in raid conditions we are only 7k behind the fire mage?

Normality resumes...

Honored
Posts: 98
Joined: Sun May 29, 2011 2:58 am

Re: Simulationcraft - Feral rotation discussion

Postby Terias » Wed Aug 22, 2012 3:48 am

4k DPS advantage over nature's vigil.

Trying to weigh my future carpal tunnel syndrome against doing 4k less dps in a patchwerk boss fight.

What am I talking about, I'll still be maximizing ps proc use to heal people anyway.

Bring on the pain.

Exalted
User avatar
Posts: 1331
Joined: Fri Nov 25, 2011 7:49 pm

Re: Simulationcraft - Feral rotation discussion

Postby aggixx » Wed Aug 22, 2012 4:06 am

Had raids tonight plus had to wait for DBC data, so I didn't really get anything done as far as action list changes. Hoping to dive into it to tomorrow and pickup some of that lost DPS ;)
Image

Posts: 45
Joined: Fri Jul 29, 2011 5:04 pm

Re: Simulationcraft - Feral rotation discussion

Postby BoldTM » Wed Aug 22, 2012 9:53 am

Tried to search for Heart of the Wild functionality within the Action list and could not find anything. Did a quick test on beta and just pressed the HotW button, equipped the PvP Int staff and fired away Wraths and Moonfires. After the buff was removed i had 95K DPS, for that period ie no feral abilities was used. That is alot more then i have in feral. Altough the talent is 6 min CD(so roughly only once per combat) it is quite significant dps increase during those 45 seconds.

Is that something that are in the sims now?

Edit: Reforged to haste and got 10K more dps. Haste will give us alot of dps boost in caster so with bloodlust and a haste trinket instead of my agility we can push out alot.

Exalted
User avatar
Posts: 1650
Joined: Mon May 24, 2010 10:21 pm

Re: Simulationcraft - Feral rotation discussion

Postby Tinderhoof » Wed Aug 22, 2012 12:35 pm

What you are seeing is a bug. HotW on use has been crap, and they either broke something trying to fix it, or its just a straight up bug. Don't count on these numbers sticking around.

Posts: 45
Joined: Fri Jul 29, 2011 5:04 pm

Re: Simulationcraft - Feral rotation discussion

Postby BoldTM » Wed Aug 22, 2012 12:52 pm

Yes and No. It was not good enough for any specc to use it. Guardians had better dps when staying in bear rather then going feral etc. However the last build they have changed that so it actually benefits to outside your specc during those 45 seconds.

The issue is that for Moonkins to go Cat or Cat go Moonkin means we are doing the same role, dps. That means for us to use the HotW we need to be better then we are doing. Of course we should not go dps but rather tank or healing but i think we have the same "translation" logic as guardians.

But yes it could be a bit OP at the moment but so was DoC. The idea is that it should not be as dps increase to use it "just" in rotation but rather we should also do our hybrid thing and that should be why we are choosing HotW. DoC should be selected if we are healing continuesly, HotW if we are tanking, healing or dpsing during a short amount of time, Nature Vigil aoe healing etc. We should not press the buttons only to increase our DPS but rather to be using its utility.

So basically, its not that it is a bug but rather a design that are very hard to balance.

Next

Return to Kitty DPS

Who is online

Users browsing this forum: Robd and 6 guests