Ravenholdt-TC / Rogue

Anything you want to add into the dashboard should be done here.
4 stars 0 forks source link

[APL] Exsanguinate Feedback #52

Closed ccjara closed 6 years ago

ccjara commented 7 years ago

Hello fellow TCs.

I am an avid exsang player, and I want to share my feedback and improvements on the current APL.

As we currently have two profiles for Assassination it would make sense to me that those profiles have optimised items and maybe even their custom APL (to increase sim speed but also to be more flexible - the unified APL has become quite cluttered with various set bonusses and legendaries).

As of writing this, the current exsanguinate profile is this.

Improvements

Gear

This (old) build uses the above mentioned default profile and extends it with the following:

copy="TC_Improved_Items"

back=fanged_slayers_shroud,id=147170,bonus_id=3562/1497/3528,enchant=binding_of_agility
wrist=sinewstitched_wristguards,id=147041,bonus_id=1512/3563
waist=cinch_of_sizzling_flesh,id=147039,bonus_id=1522/3563
legs=bonespur_studded_legwraps,id=147035,bonus_id=1512/3563
feet=duskwalkers_footpads,id=137030,bonus_id=1811/3570
main_hand=the_kingslayers,id=128870,bonus_id=741,gem_id=147110/140815/151189,relic_id=1512:3563/1527:3445/1512:3563

It featured duskwalkers and mantle. To get the cooldown as close to exsang as possible I replaced zoldycks with duskwalkers and the toxic blades relic with MA. This reduces the cd of vendetta down to ~48s which is okay, as we are using vendetta much earlier than exsang in the opener. It will cover all of the exsanguinated bleeds and will be up before the next exsang. Also considering bloodlust, the cooldowns are fairly synced. I also replaced some items with more crit / vers heavy gear which also nets a couple of thousand dps.

As of August 25th, mantle got nerfed. Before the nerf, it simmed considerably above zoldycks. But now, zoldycks is the clear winner unless you abuse the vanish bug, but we can't / shouldn't rely on bugs; they will get fixed eventually.

So, as a further step, mantle is replaced with zoldycks and the other slots are changed to accommodate this:

copy="TC_Improved_Items_Zoldycks"

back=shroud_of_the_drowned_adherent,id=146985,bonus_id=1512/3563,enchant=binding_of_agility
wrists=zoldyck_family_training_shackles,id=137098,bonus_id=3570
shoulders=fanged_slayers_shoulderpads,id=147174,bonus_id=1512/3563

Just with the change of a couple of items the bleed build outdamages its counterpart

I have created a very concise APL from scratch and therefore it is very specific to the configured gear and 2210131, which is a good guess of being the 'best' talent choice.

Unfortunately I cannot copy= it, because somehow previously defined actions are still present so it will scew the results, which is why I will post my complete profile:

rogue="TC_Improved_Final"
spec=assassination
level=110
race=pandaren
role=attack
position=back
talents=2210131
artifact=43:0:0:0:0:323:4:324:4:325:4:326:4:327:4:328:4:329:4:330:4:331:4:332:1:333:1:334:1:335:1:337:1:346:1:347:1:1276:1:1384:1:1577:4:1578:1:1579:1:1580:1:1651:1

head=fanged_slayers_helm,id=147172,bonus_id=1512/3563
neck=locket_of_splintered_souls,id=147014,bonus_id=1512/3563,enchant=mark_of_the_hidden_satyr
shoulders=fanged_slayers_shoulderpads,id=147174,bonus_id=1512/3563
back=shroud_of_the_drowned_adherent,id=146985,bonus_id=1512/3563,enchant=binding_of_agility
chest=fanged_slayers_chestguard,id=147169,bonus_id=1512/3563
wrists=zoldyck_family_training_shackles,id=137098,bonus_id=3570
hands=fanged_slayers_handguards,id=147171,bonus_id=1512/3563
waist=cinch_of_sizzling_flesh,id=147039,bonus_id=1522/3563
legs=bonespur_studded_legwraps,id=147035,bonus_id=1512/3563
feet=duskwalkers_footpads,id=137030,bonus_id=1811/3570
finger1=yathaes_thumb_ring,id=147021,bonus_id=1512/3563,enchant=binding_of_critical_strike
finger2=band_of_rescinded_truths,id=147194,bonus_id=1512/3563,enchant=binding_of_critical_strike
trinket1=engine_of_eradication,id=147015,bonus_id=1512/3563
trinket2=specter_of_betrayal,id=151190,bonus_id=1522/3563
main_hand=the_kingslayers,id=128870,bonus_id=741,gem_id=147110/140815/151189,relic_id=1512:3563/1527:3445/1512:3563
off_hand=the_kingslayers,id=128869

# Default consumables
potion=prolonged_power
flask=seventh_demon
food=lavish_suramar_feast
augmentation=defiled

# Executed before combat begins. Accepts non-harmful actions only.
actions.precombat=flask
actions.precombat+=/augmentation
actions.precombat+=/food
# Snapshot raid buffed stats before combat begins and pre-potting is done.
actions.precombat+=/snapshot_stats
actions.precombat+=/apply_poison
actions.precombat+=/stealth
actions.precombat+=/potion

# Executed every time the actor is available.
actions+=/call_action_list,name=cds
actions+=/call_action_list,name=maintain
actions+=/call_action_list,name=finish,if=cooldown.exsanguinate.remains>5|cooldown.kingsbane.remains<1
actions+=/call_action_list,name=build,if=combo_points.deficit>1|energy.deficit<=40

# Builders
actions.build=mutilate

# Cooldowns
actions.cds=potion,if=target.health.percent<=30
actions.cds+=/use_item,name=specter_of_betrayal,if=!stealthed.rogue
actions.cds+=/vendetta,if=energy.deficit>=60

actions.cds+=/vanish,if=combo_points>=cp_max_spend&cooldown.exsanguinate.up
actions.cds+=/exsanguinate,if=dot.garrote.remains>20&dot.rupture.remains>30
actions.cds+=/kingsbane,if=dot.rupture.ticking&buff.envenom.up

# Finishers
actions.finish=/envenom,if=combo_points>=4&(debuff.vendetta.up|debuff.surge_of_toxins.remains<1|energy.deficit<25)

# Maintain
actions.maintain+=/garrote,if=refreshable&(!exsanguinated|remains<=0.25)|(cooldown.exsanguinate.remains<=1&dot.rupture.remains>34)
actions.maintain+=/rupture,if=refreshable&(combo_points>=2&(!exsanguinated|remains<0.5))|(combo_points>=cp_max_spend&cooldown.exsanguinate.remains<=5)

It can be summarized as follows (among 'best practices' such as EP clipping):

See also the sample sequence table for more details.

The simmed dps for this profile (same build) was ~1.28m dps which puts it even further ahead.

The pawn string of the final profile is: ( Pawn: v1: "TC_Improved_Final": Class=Rogue, Spec=Assassination, Agility=24.75, CritRating=28.35, HasteRating=11.44, MasteryRating=21.10, Versatility=22.61 )

Which shows that it still needs crit badly, but based on the apparent 'rule' of only using ToS items, there isn't much room to improve the gear. Replacing Engine with a similar ilvl EoC (930) for example would increase the dps further to 1.3M. And even then this build demands more crit (Crit > Agi)!

Remarks

Even though I optimised the hell out of garrote and rupture in the regard of expiration, I am fairly positive that it is actually possible to increase the uptime and also increase the dps outcome, but for now this was the best I have achieved so far.

Obviously this profile is not 'ready for use', but I hope it can inspire you to apply some optimisations to the exsang profile. It has a lot of potential, such as cooldown syncing (vanish / zoldycks / exsang), proper EP clipping, dot uptimes, reducing energy & cp overflow.

mrdmnd commented 7 years ago

This is a fantastic post, and we'll look into implementing it directly.

Thank you! -Deimos/Synecdoche

Mystler commented 7 years ago

First of all, thank you for the very detailed feedback post and your suggestions. I appreciate that a lot.

I have had a look at your suggested gear optimizations today and pushed a bunch of improvements in simulationcraft/simc@c7b9dc4110c82fdbd4804b8b48b68c04dc4764f6. These changes are based on your input but I had to make some adjustments because your changes were a bit of "cheating". Default profile rules require unforged gear as it drops at the corresponding difficulty level. In your suggestions, you were using a 940 belt from Goroth and a 930 relic from Skorpyron. I decreased the item level of the belt and used a 910 Mythic+ MA relic instead of the NH one to match the rules. Furthermore, with that and recent changes, Mantle+Boots seems to be the best legendary setup for the Exsanguinate default profile.

So far, I haven't had the time to look at your APL. It would be quite cool if you can also look at porting your intentions and ideas to the current APL. This would facilitate review and implementation in the long run. Otherwise, I will have a closer look at it when I have more time.

ccjara commented 7 years ago

Thanks for your feedback. I'm sorry about the gear violation with the belt, that was an unintended oversight. It is very tedious to get the correct item string, even by using wowhead. About the MA relic: I first wanted to see how it performs under perfect conditions, later on I forgot to adjust it. My bad.

I will see what I can do to optimise the existing APL.

ccjara commented 7 years ago

I've analysed the profile and the reason Zoldycks sims far lower than expected is because the opener and further cooldown usage is broken with it (among other minor things). The Mantle opener can also be fine tuned. This however is a more complicated case, there are a lot of T19 / Mantle conditions that need I still need to unroll and understand, but for now I can provide some simple changes which will bump the dps to 1.25M (+30k) using Mantle + Boots. I've clarified them with a t20 condition.

diff --git a/profiles/Tier20M/Rogue_Assassination_Exsg_T20M.simc b/profiles/Tier20M/Rogue_Assassination_Exsg_T20M.simc
index 845ad64..cd57546 100644
--- a/profiles/Tier20M/Rogue_Assassination_Exsg_T20M.simc
+++ b/profiles/Tier20M/Rogue_Assassination_Exsg_T20M.simc
@@ -54,7 +54,9 @@ actions.cds+=/berserking,if=debuff.vendetta.up
 actions.cds+=/arcane_torrent,if=dot.kingsbane.ticking&!buff.envenom.up&energy.deficit>=15+variable.energy_regen_combined*gcd.remains*1.1
 actions.cds+=/marked_for_death,target_if=min:target.time_to_die,if=target.time_to_die<combo_points.deficit*1.5|(raid_event.adds.in>40&combo_points.deficit>=cp_max_spend)
 actions.cds+=/vendetta,if=!artifact.urge_to_kill.enabled|energy.deficit>=60-variable.energy_regen_combined
-actions.cds+=/exsanguinate,if=prev_gcd.1.rupture&dot.rupture.remains>4+4*cp_max_spend&!stealthed.rogue|dot.garrote.pmultiplier>1&!cooldown.vanish.up&buff.subterfuge.up
+actions.cds+=/exsanguinate,if=!set_bonus.tier20_4pc&(prev_gcd.1.rupture&dot.rupture.remains>4+4*cp_max_spend&!stealthed.rogue|dot.garrote.pmultiplier>1&!cooldown.vanish.up&buff.subterfuge.up)
+actions.cds+=/exsanguinate,if=set_bonus.tier20_4pc&dot.garrote.remains>20&dot.rupture.remains>4+4*cp_max_spend
 # Nightstalker w/o Exsanguinate: Vanish Envenom if Mantle & T19_4PC, else Vanish Rupture
 actions.cds+=/vanish,if=talent.nightstalker.enabled&combo_points>=cp_max_spend&!talent.exsanguinate.enabled&mantle_duration=0&((equipped.mantle_of_the_master_assassin&set_bonus.tier19_4pc)|((!equipped.mantle_of_the_master_assassin|!set_bonus.tier19_4pc)&(dot.rupture.refreshable|debuff.vendetta.up)))
 actions.cds+=/vanish,if=talent.nightstalker.enabled&combo_points>=cp_max_spend&talent.exsanguinate.enabled&cooldown.exsanguinate.remains<1&(dot.rupture.ticking|time>10)
@@ -84,6 +86,7 @@ actions.maintain+=/rupture,cycle_targets=1,if=combo_points>=4&refreshable&(pmult
 actions.maintain+=/call_action_list,name=kb,if=combo_points.deficit>=1+(mantle_duration>=gcd.remains+0.2)
 actions.maintain+=/pool_resource,for_next=1
 actions.maintain+=/garrote,cycle_targets=1,if=(!talent.subterfuge.enabled|!(cooldown.vanish.up&cooldown.vendetta.remains<=4))&combo_points.deficit>=1&refreshable&(pmultiplier<=1|remains<=tick_time)&(!exsanguinated|remains<=tick_time*2)&target.time_to_die-remains>4
+actions.maintain+=/garrote,if=set_bonus.tier20_4pc&talent.exsanguinate.enabled&prev_gcd.1.rupture&cooldown.exsanguinate.remains<1

 head=fanged_slayers_helm,id=147172,bonus_id=1512/3563
 neck=locket_of_splintered_souls,id=147014,bonus_id=1512/3563,enchant=mark_of_the_hidden_satyr

The idea here is that it is always worth it to refresh garrote regardless of duration with T20 4P. As a result we should only cast exsang if both dots have been stretched to max duration, which is guaranteed as we will always have enough energy for a garrote. We cast this garrote after rupture because this sequence is both compatible with nightstalker and subterfuge (for vanish usage) and also ensures our two dots are at their max durations just before exsang is cast.

Mystler commented 7 years ago

Thanks for these improvements. I added them in https://github.com/simulationcraft/simc/commit/faafa5a44ea4f483974265bf54d0a77cf45ba818.