Register

Experimental simulationcraft script

Face-rippin fun.
Exalted
User avatar
Posts: 1143
Joined: Fri Jun 04, 2010 4:28 am

Experimental simulationcraft script

Postby Leafkiller » Fri Oct 05, 2012 11:45 pm

With the release of 505-2 I have started working on the simc script with a couple of goals in mind.

First off, as much as possible I am trying to express some of the current conditions on Rip and Rake without depending on checks for DoC. For example, the current script (505-2) has this line in it:
actions+=/rake,if=target.time_to_die>=8.5&buff.dream_of_cenarius_damage.up&(dot.rake.multiplier<tick_multiplier)
If you were to change the talents used to HotW instead of DoC, then no "significant" Rake clipping will occur, such as when TF is cast. By replacing this line with
actions+=/rake,if=target.time_to_die>=8.5&tick_multiplier%dot.rake.multiplier>1.12
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:
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


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):
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

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

Re: Experimental simulationcraft script

Postby Leafkiller » Sun Oct 07, 2012 3:03 pm

I just updated the script posted here.

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.

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

Re: Experimental simulationcraft script

Postby Leafkiller » Wed Oct 10, 2012 7:41 pm

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).

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

Re: Experimental simulationcraft script

Postby Leafkiller » Sat Oct 13, 2012 2:50 pm

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 error
HotW (pre-nerf) - 123721.7 dps with a 34.88 dps error
NV - 116756.6 dps with a 37.05 dps error
HotW (ignoring the on-use - assuming we only benefit from the 6% passive) - 116343.7 dps with a 34.33 dps error

This puts NV 3.7% behind DoC and, the passive HotW at 4.1% behind DoC.

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

I will be tweaking the Ovale script to be closer to the this simc script

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

Re: Experimental simulationcraft script

Postby Leafkiller » Sun Oct 14, 2012 3:20 am

Added energy>70 conditional to the core Rake action:
actions+=/rake,if=target.time_to_die>=8.5&dot.rake.remains<3.0&(buff.berserk.up|(cooldown.tigers_fury.remains+0.8)>=dot.rake.remains|energy>70)


In simc it is a slight dps up - maybe 20 dps - but (hopefully) it will help in game.

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

Re: Experimental simulationcraft script

Postby Leafkiller » Sun Oct 14, 2012 3:16 pm

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.

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

Re: Experimental simulationcraft script

Postby Leafkiller » Sun Oct 14, 2012 3:39 pm

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.

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

Re: Experimental simulationcraft script

Postby Leafkiller » Sun Oct 14, 2012 7:16 pm

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.

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

Re: Experimental simulationcraft script

Postby Leafkiller » Sun Oct 14, 2012 9:28 pm

Leafkiller wrote: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 error
HotW (pre-nerf) - 123721.7 dps with a 34.88 dps error
NV - 116756.6 dps with a 37.05 dps error
HotW (ignoring the on-use - assuming we only benefit from the 6% passive) - 116343.7 dps with a 34.33 dps error

This puts NV 3.7% behind DoC and, the passive HotW at 4.1% behind DoC.


Updated numbers:
NV - 117357 error 36.86
HotW - 117004.1 error 33.96 (passive only)
DoC - 121631.5 error 37.17

So DoC is up by 350, NV by 600 and HotW by 650.

This puts NV 3.5% behind DoC and HotW passive 3.8% behind DoC.

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

Re: Experimental simulationcraft script

Postby Leafkiller » Mon Oct 15, 2012 1:10 pm

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.

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

Re: Experimental simulationcraft script

Postby Leafkiller » Mon Oct 15, 2012 1:30 pm

Leafkiller wrote:Updated numbers:
NV - 117357 error 36.86
HotW - 117004.1 error 33.96 (passive only)
DoC - 121631.5 error 37.17


Just to see how FoN and Incarnation stack up, I am doing 1k iteration tests across the specs. While not super accurate they are good enough when the gap is large.

DoC+FoN: 120780.9 error 183.52.
DoC+Incarnaton : 118521.1 error 188.92

HotW+FoN: 116183.8 error 169.4
HotW+Incarnation: 114571.3 error 178.72

NV+FoN: 116259.2 error 178.3
NV+Incarnation: 115108 error 187.38

What you can take out of these numbers is that FoN is behind SotF (0.7% for DoC) and Incarnation is behind both SotF and FoN (2.6% behind SotF for DoC).

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

Re: Experimental simulationcraft script

Postby Leafkiller » Fri Oct 19, 2012 4:00 am

Updated to include the NV HT conditional.

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

Re: Experimental simulationcraft script

Postby aggixx » Fri Oct 19, 2012 10:41 am

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.

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

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.remains<=1
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+=/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+=/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+=/savage_roar,if=buff.savage_roar.remains<=3&combo_points>0&talent.dream_of_cenarius.enabled&buff.dream_of_cenarius_damage.down
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+=/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+=/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+=/ferocious_bite,if=(target.time_to_die<=4&combo_points>=5)|(target.time_to_die<=1&((combo_points>=2&energy>=38)|combo_points>=3))
actions+=/savage_roar,if=buff.savage_roar.remains<=6&combo_points>=5&(((dot.rip.remains+(8-(dot.rip.ticks_added*2)))>6&(talent.soul_of_the_forest.enabled|buff.berserk.up))|(dot.rip.remains+(8-(dot.rip.ticks_added*2)))>10)&dot.rip.ticking
actions+=/ferocious_bite,if=combo_points>=5&(dot.rip.remains+(8-(dot.rip.ticks_added*2)))>6&dot.rip.ticking&(talent.soul_of_the_forest.enabled|buff.berserk.up)
actions+=/ferocious_bite,if=combo_points>=5&(dot.rip.remains+(8-(dot.rip.ticks_added*2)))>10&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=buff.predatory_swiftness.remains>1&!(energy+(energy.regen*(buff.predatory_swiftness.remains-1))<(4-combo_points)*20)
actions+=/ravage,if=((combo_points<5&dot.rip.remains<3.0)|(combo_points=0&buff.savage_roar.remains<2))
actions+=/ravage,if=target.time_to_die<=8.5
actions+=/shred,if=buff.predatory_swiftness.remains>1&!(energy+(energy.regen*(buff.predatory_swiftness.remains-1))<(4-combo_points)*20)
actions+=/shred,if=((combo_points<5&dot.rip.remains<3.0)|(combo_points=0&buff.savage_roar.remains<2))
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)
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)
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)
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

# 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
Last edited by aggixx on Fri Oct 19, 2012 1:16 pm, edited 1 time in total.
Image

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

Re: Experimental simulationcraft script

Postby Leafkiller » Fri Oct 19, 2012 12:25 pm

aggixx wrote: since the sim doesn't support the healing to damage conversion yet I don't know about the other change either.


We can ballpark it by looking at the HT stats. If it is decent, then it is worth adding to Ovale. I will look at the TTD thresholds and see if any need to change in Ovale.

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

Re: Experimental simulationcraft script

Postby Leafkiller » Fri Oct 19, 2012 3:27 pm

@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.

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

Re: Experimental simulationcraft script

Postby aggixx » Sat Oct 20, 2012 5:26 am

Yeah, I was going to do the same calculation and then I guess I got sidetracked by something.
Image

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

Re: Experimental simulationcraft script

Postby Leafkiller » Mon Oct 22, 2012 1:52 am

@aggixx: I found what should be a bug in the script for non-DoC profiles. This line:

actions+=/shred,if=buff.predatory_swiftness.remains>1&!(energy+(energy.regen*(buff.predatory_swiftness.remains-1))<(4-combo_points)*20)


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:


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*(5-combo_points))>(5-combo_points)*20)


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.

I will continue to play with it and see what I can come up with.

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

Re: Experimental simulationcraft script

Postby Leafkiller » Mon Oct 22, 2012 2:52 am

This one seems to be slightly better (I need to run a sim with more iterations, I only ran 10k, but it was about 25dps better with a 57.56 error):
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)


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).

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

Re: Experimental simulationcraft script

Postby aggixx » Mon Oct 22, 2012 6:50 am

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.
Image

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

Re: Experimental simulationcraft script

Postby Leafkiller » Mon Oct 22, 2012 3:24 pm

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.

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

Re: Experimental simulationcraft script

Postby Leafkiller » Mon Oct 22, 2012 3:32 pm

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).

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

Re: Experimental simulationcraft script

Postby aggixx » Mon Oct 22, 2012 11:52 pm

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.

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

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.remains<=1
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+=/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+=/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+=/savage_roar,if=buff.savage_roar.remains<=3&combo_points>0&talent.dream_of_cenarius.enabled&buff.dream_of_cenarius_damage.down
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+=/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+=/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&buff.king_of_the_jungle.down

actions+=/ferocious_bite,if=(target.time_to_die<=4&combo_points>=5)|(target.time_to_die<=1&((combo_points>=2&energy>=38)|combo_points>=3))
actions+=/savage_roar,if=buff.savage_roar.remains<=6&combo_points>=5&(((dot.rip.remains+(8-(dot.rip.ticks_added*2)))>6&(talent.soul_of_the_forest.enabled|buff.berserk.up))|(dot.rip.remains+(8-(dot.rip.ticks_added*2)))>10)&dot.rip.ticking
actions+=/ferocious_bite,if=combo_points>=5&(dot.rip.remains+(8-(dot.rip.ticks_added*2)))>6&dot.rip.ticking&(talent.soul_of_the_forest.enabled|buff.berserk.up)
actions+=/ferocious_bite,if=combo_points>=5&(dot.rip.remains+(8-(dot.rip.ticks_added*2)))>10&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&buff.king_of_the_jungle.down
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=((combo_points<5&dot.rip.remains<3.0)|(combo_points=0&buff.savage_roar.remains<2))
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)&buff.king_of_the_jungle.down
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)&buff.king_of_the_jungle.down
actions+=/shred,if=((combo_points<5&dot.rip.remains<3.0)|(combo_points=0&buff.savage_roar.remains<2))&buff.king_of_the_jungle.down
actions+=/shred,if=target.time_to_die<=8.5&buff.king_of_the_jungle.down
actions+=/thrash_cat,if=target.time_to_die>=6&combo_points>=5&dot.thrash_cat.remains<6&(buff.tigers_fury.up|buff.berserk.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)
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.king_of_the_jungle.down
actions+=/shred,if=cooldown.tigers_fury.remains<=3.0&buff.king_of_the_jungle.down
actions+=/shred,if=energy.time_to_max<=1.0&buff.king_of_the_jungle.down
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

# 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
Image

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

Re: Experimental simulationcraft script

Postby Leafkiller » Tue Oct 23, 2012 12:33 am

Fortunately, I don't think that is an issue with the Ovale script.

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

Re: Experimental simulationcraft script

Postby Leafkiller » Tue Oct 23, 2012 2:51 am

I ran your new script with HotW + DoC and the dps is down 8k (113738)

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

Re: Experimental simulationcraft script

Postby Leafkiller » Tue Oct 23, 2012 3:21 am

Some notes to check out:

There is potential dps gain from changing the order on the fillers.

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.

Next

Return to Kitty DPS

Who is online

Users browsing this forum: Bing [Bot], Cervanteß and 3 guests