Assassination Rogue DPS Rotation, Cooldowns, and Abilities — Shadowlands 9.2
On this page, you will learn how to optimize the rotation of your Assassination Rogue in both single-target and multiple-target situations. We also have advanced sections about cooldowns, procs, etc. in order to minmax your DPS. All our content is updated for World of Warcraft — Shadowlands 9.2.
If you were looking for TBC Classic content, please refer to our TBC Classic DPS Rogue rotation.
Assassination Rogue Rotation
Welcome to our Rotation page for Assassination Rogues. Here you will find out more about your rotational priorities in both single-target and multi-target situations which you will apply in both Raiding and Mythic+ scenarios.
If you are just starting out you might want to get more comfortable with your Assassination Rogue by using a more simplified yet still effective build and rotation. You can find out more about it in our Easy Mode section.
For information about Mythic+ as an Assassination Rogue and the rotation you need to use in this game mode, please refer to our Mythic+ page.
The content on this page is purely PvE-related. If you are looking for PvP Rotation Tips, please visit our PvP page below.
Rotation with two Legendaries and the Set Bonus
Patch 9.2 offers two new powers that replace the previous Domination Shard system. Whereas the Domination bonuses barely affected gameplay at all, Assassination will see some major shifts not only in the talent, covenant and legendary setup, but rotational priorities will shift alongside them.
Two major changes are happening as a result of these newly added power-systems:
- Shiv will become a DPS cooldown on AoE, whereas you previously did not use it for anything except priority-target damage;
- Vendetta will have a much lower cooldown as Duskwalker's Patch will become the BiS Legendary with the Assassination Rogue 4-Piece.
In addition to the active changes to these two cooldowns, Vendetta now functions very similar to Exsanguinate whenever it is used. It will actively shorten the duration of your bleeds and double their tick-rate, meaning you will be spending a lot more time refreshing your bleeds. Newly applied bleeds during Vendetta will immediately have the reduced duration and increased tickrate as well.
More important, however, is the fact that as Vendetta runs out, these duration and tick-rate increases do not get reverted. Instead you will keep the benefits even after Vendetta expires. This means we will want to refresh our bleed effects shortly before Vendetta expires to gain more than 20 seconds of the set bonus effect. This behavior is intended, and will noticeable improve your DPS when done correctly.
Single Target Ability Priority List for Assassination Rogue
- Apply Slice and Dice with 1+ Combo Points.
- Maintain Slice and Dice by casting Envenom with 4+ Combo Points.
- Maintain Rupture with 4+ Combo Points.
- Maintain Garrote.
- Activate Vendetta when available.
- Use your Covenant Ability on cooldown.
- Activate Vanish on cooldown if using Subterfuge or with 5 Combo Points in order to facilitate Master Assassin-empowered Envenoms.
- Use Shiv on cooldown.
- Cast Envenom with 4-5 Combo Points (5-6 with Deeper Stratagem).
- Cast Fan of Knives when Hidden Blades is talented and above 19 stacks.
- Cast Ambush to generate Combo Points whenever it is usable.
- Cast Mutilate to generate Combo Points.
Multiple Target Ability Priority List for Assassination Rogue
- Apply Slice and Dice with 1+ Combo Points.
- Maintain Crimson Tempest with 4-5 Combo Points.
- Maintain Rupture on up to 4 targets.
- Maintain Slice and Dice by casting Envenom with 4-5 Combo Points.
- Activate Vendetta when available.
- Use your Covenant Ability on cooldown.
- Use Shiv on cooldown if you have the Assassination Rogue 2-Piece.
- Activate Vanish and apply Garrote empowered by Subterfuge to as many targets as possible.
- Maintain Garrote on up to 3 targets (try to not overwrite empowered ones).
- Use excess CP to apply further Ruptures to additional targets.
- Cast Envenom with 4-5 Combo Points.
- Cast Fan of Knives when 4+ targets are within range to generate Combo Points, or to reapply Deadly Poison to every target.
- Cast Mutilate if there are less than 4 targets in range to generate Combo Points.
- You will only ever cast Slice and Dice once per fight. You will naturally maintain it whenever you cast Envenom as a regular part of your rotation thanks to Cut to the Chase.
- Optimal usage of finishers is at 4-5 Combo Points with Vigor, or 5-6 Combo Points with Deeper Stratagem.
- If Rupture is about to fall off, it can be reapplied with any number of Combo Points to maintain uptime. It is best to apply it with 5 Combo Points, however, for maximum Energy efficiency and rotational fluidity.
- Use Vanish to apply full duration Nightstalker-empowered Ruptures or Subterfuge empowered Garrotes. When talented into Master Assassin, pool Combo Points before vanishing for a Envenom > Mutilate > Envenom sequence.
- You should never have more than 80 Energy when activating your Vendetta on a target. Try to activate Vendetta on a target that will live for the entire duration of the debuff.
- If talented into Subterfuge you will want to delay your Vendetta for about 20 seconds to line up with Vanish.
- Try to refresh Rupture and Slice and Dice before using Shiv. The goal is to get three 4-5 Combo Point Envenoms inside the 9-second duration of Shiv.
- Make sure to snapshot your bleeds right before Vendetta ends when using Assassination Rogue 4-Piece.
For more information on your opening sequence, please refer to our dedicated section.
Your Lethal Poison should always be Deadly Poison.
You have two choices for your non-lethal poison, Crippling Poison and Numbing Poison. For raiding you will want to use Numbing Poison unless your raid wants you to slow a specific group of targets. For Mythic+ you will want to use the poison that best suits your tank's needs. Crippling Poison allows your tank to more easily kite enemies, whereas Numbing Poison slows their attack speed instead.
Notable Mechanics for Assassination Rogue
The 50% damage buff from Nightstalker and the 80% damage buff from Subterfuge are removed when you overwrite the bleed you empowered by re-applying an un-empowered bleed. Therefore it is best to let the bleed run its full duration before refreshing it.
When you refresh Rupture, Garrote, Crimson Tempest, Envenom or Slice and Dice before they expire, the remaining duration is added to the newly applied effect, up to 30% of the newly applied base duration. This mechanic is called "Pandemic".
Example — You can safely refresh a 5-Combo Point Rupture when it has 7.2 seconds or less remaining, because its base duration is 24 seconds. Deeper Stratagem allows for 6 Combo Point Ruptures, which last 28 seconds. 6-Combo Point Ruptures can be refreshed safely when they have 8.4 seconds or less remaining.
Safe Pandemic refresh timing is based off the newly applied base duration and not the original length of the effect. Therefore, a 2 Combo Point Rupture can benefit from full Pandemic if it is refreshed by a 4-5 Combo Point Rupture. We explain how to take advantage of this in the opening sequence later in the guide.
Academic Information for Assassination Rogue
The Interaction Between Combo Points and Energy
As an Assassination Rogue, many of your abilities require Energy to be utilized. Your Energy bar has a maximum capacity of 120 Energy (170 Energy when you have Vigor talented). Your baseline rate of Energy regeneration is 10 Energy per second, however it is increased by:
- current Haste rating (Haste and Haste-enhancing buffs);
- the Venomous Wounds passive;
- the passive regeneration increase of Vigor.
Higher Energy regeneration allows for higher uptimes on Envenom, which awards much higher DPS over an extended encounter.
It is very important to avoid resource overflow. Capping Energy and overcapping Combo Points is an egregious error and special care should be taken to avoid wasting precious resources. "Pooling" higher levels of Energy, however, can be very beneficial (providing you do not cap), as it allows you to store resources in anticipation of a window of high burst. This can help reduce the patchiness of your debuff/buff uptimes which will result in more consistent and smoother damage output.
Combo Point generation is increased by Seal Fate, which causes your critical hits with melee Combo generators to add an additional Combo Point on your target per critical hit. This means Mutilate can generate up to 4 Combo Points if the main hand and the off-hand both critically strike. Fan of Knives can generate the maximum number of Combo Points with a single cast if it critically strikes 4 or more targets. You should never cast a Combo Point generator at or above 4 Combo Points, unless it is Garrote or Poisoned Knife (as neither of these benefits from Seal Fate). Do not use Poisoned Knife to reach 5 Combo Points, unless you are out of range of the boss and in danger of hitting the Energy cap.
Pooling Energy and Combo Points
It can be very beneficial to "pool" your Energy and Combo Points, which involves auto-attacking while your Energy regenerates. The advantage this provides is variable, meaning that pooling does not always result in damage gained. Situations where pooling Energy and Combo Points is beneficial include:
- before the cooldown on Shiv recharges, to allow for immediate use and optimized burst;
- before an important add spawns, so you can apply as much instant pressure as possible;
- to assist with Envenom uptime, by chaining two Envenoms so that the buff does not drop;
- an encounter-specific buff or damage phase is imminent.
Pooling Energy is not a magical DPS gain by itself. It allows you to slightly adjust the timing of your abilities so that you fit more attacks during periods of increased damage (provided you can properly identify when such periods are going to come).
All Rogues have a solid number of defensive cooldowns, making them the best candidate for soaking required mechanics and dealing with heavy incoming damage.
- Feint reduces AoE damage taken by 40% for 5 seconds for 35 Energy. When talented into Elusiveness, it also reduces all other damage by 30%. Feint is fantastic for dealing with predictable raid damage.
- Cloak of Shadows provides magic immunity for 1 second, followed by 4 seconds where all spells will miss you. Cloak of Shadows has a variety of uses, both pre-emptive and reactive, such as solo soaking mechanics or clearing debuffs that would force you out of melee range.
- Evasion increases your Dodge chance by 100% for 10 seconds. This can be useful if you have to tank some adds or the boss for a few seconds. In rare cases it can be used to negate physical ranged attacks or spells.
- Cheat Death is a talent that allows you to escape lethal damage once every 6 minutes. The damage cannot exceed more than twice your maximum health. Cheat Death is great for soaking mechanics that pierce immunities and damage reductions, as it guarantees your survival. It is also great for encounters with bursty damage that might take you by surprise, as you get a free get out of jail free card at least once in the encounter.
- Crimson Vial provides a respectable amount of healing on a 30-second cooldown.
Do not forget about this defensive toolkit, as it can be a major asset for both individual and raid-wide survivability.
Opening Sequences for Assassination Rogue
Assassination has different openers based on your choice of talents.
When using Master Assassin:
- Start from Stealth.
- Cast Mutilate or Serrated Bone Spike if you are Necrolord.
- Apply Slice and Dice.
- Cast Mutilate.
- Apply Garrote.
- Apply Rupture.
- Activate Vendetta.
- Use your Covenant ability.
- Cast Mutilate until 4+ CP.
- Cast Shiv
- Activate Vanish.
- Cast Envenom.
- Cast Mutilate until 4+CP.
- Cast Envenom.
- Continue with normal priority.
When using Subterfuge:
- Start from Stealth.
- Apply Garrote.
- Use Slice and Dice.
- Cast Ambush.
- Use your Covenant ability.
- Cast Mutilate if not yet at 4+ CP.
- Apply Rupture with 4+ CP.
- Activate Vendetta.
- Cast Shiv.
- Cast Mutilate until you are at 4+ CP.
- Cast Envenom with 4+ CP.
- Cast Mutilate until 4+ CP.
- Cast Envenom.
- Activate Vanish when Garrote has less than 5.4 seconds left on its duration.
- Continue with normal priority.
Extended Assassination Rotation
The fully inclusive rotation is a lot more extensive than the one listed above, but gives only marginal gains at best. As such, it is included here (in raw simc format).
# Default consumables potion=phantom_fire flask=spectral_flask_of_power food=feast_of_gluttonous_hedonism augmentation=veiled temporary_enchant=main_hand:shaded_sharpening_stone/off_hand:shaded_sharpening_stone # This default action priority list is automatically created based on your character. # It is a attempt to provide you with a action list that is both simple and practicable, # while resulting in a meaningful and good simulation. It may not result in the absolutely highest possible dps. # Feel free to edit, adapt and improve it to your own needs. # SimulationCraft is always looking for updates and improvements to the default action lists. # Executed before combat begins. Accepts non-harmful actions only. actions.precombat=apply_poison 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+=/marked_for_death,precombat_seconds=10,if=!covenant.venthyr&raid_event.adds.in>15 actions.precombat+=/fleshcraft,if=soulbind.pustule_eruption|soulbind.volatile_solvent actions.precombat+=/variable,name=vendetta_cdr,value=1-(runeforge.duskwalkers_patch*(0.45+(set_bonus.tier28_4pc*0.1))) # The average CDR is 0.22 but due to the RNG nature of CP gen, 2x this value is optimal for syncing logic actions.precombat+=/variable,name=flagellation_cdr,value=1-(runeforge.obedience*0.44) # Determine which (if any) stat buff trinket we want to attempt to sync with Vendetta. actions.precombat+=/variable,name=trinket_sync_slot,value=1,if=trinket.1.has_stat.any_dps&(!trinket.2.has_stat.any_dps|trinket.1.cooldown.duration>=trinket.2.cooldown.duration)|trinket.1.is.inscrutable_quantum_device|(trinket.1.is.shadowgrasp_totem&covenant.venthyr) actions.precombat+=/variable,name=trinket_sync_slot,value=2,if=trinket.2.has_stat.any_dps&(!trinket.1.has_stat.any_dps|trinket.2.cooldown.duration>trinket.1.cooldown.duration)|trinket.2.is.inscrutable_quantum_device|(trinket.2.is.shadowgrasp_totem&covenant.venthyr) actions.precombat+=/stealth actions.precombat+=/slice_and_dice,precombat_seconds=1,if=!talent.nightstalker.enabled # Executed every time the actor is available. # Restealth if possible (no vulnerable enemies in combat) actions=stealth # Interrupt on cooldown to allow simming interactions with that actions+=/kick actions+=/variable,name=single_target,value=spell_targets.fan_of_knives<2 # Combined Energy Regen needed to saturate actions+=/variable,name=regen_saturated,value=energy.regen_combined>35 actions+=/call_action_list,name=stealthed,if=stealthed.rogue actions+=/call_action_list,name=cds # Put SnD up initially for Cut to the Chase, refresh with Envenom if at low duration actions+=/slice_and_dice,if=!buff.slice_and_dice.up&combo_points>=1 actions+=/envenom,if=buff.slice_and_dice.up&buff.slice_and_dice.remains<5&combo_points>=4 actions+=/call_action_list,name=dot actions+=/call_action_list,name=direct actions+=/arcane_torrent,if=energy.deficit>=15+energy.regen_combined actions+=/arcane_pulse actions+=/lights_judgment actions+=/bag_of_tricks # Cooldowns # If adds are up, snipe the one with lowest TTD. Use when dying faster than CP deficit or without any CP. actions.cds=marked_for_death,line_cd=1.5,target_if=min:target.time_to_die,if=raid_event.adds.up&(!variable.single_target|target.time_to_die<30)&(target.time_to_die<combo_points.deficit*1.5|combo_points.deficit>=cp_max_spend) # If no adds will die within the next 30s, use MfD for max CP. Attempt to sync with Flagellation if possible. actions.cds+=/marked_for_death,if=raid_event.adds.in>30-raid_event.adds.duration&combo_points.deficit>=cp_max_spend&!cooldown.shiv.ready&(!covenant.venthyr|debuff.flagellation.up|cooldown.flagellation.remains>15) # Sync Vendetta window with Nightstalker+Exsanguinate if applicable actions.cds+=/variable,name=vendetta_nightstalker_condition,value=!talent.nightstalker.enabled|!talent.exsanguinate.enabled|cooldown.exsanguinate.remains<5-2*talent.deeper_stratagem.enabled # Wait on Vendetta for Garrote with MA, unless we are at max CP for Flagellation actions.cds+=/variable,name=vendetta_ma_condition,value=!talent.master_assassin.enabled|dot.garrote.ticking|covenant.venthyr&combo_points.deficit=0 # Sync Vendetta with Flagellation and Sepsis as long as we won't lose a cast over the fight duration actions.cds+=/variable,name=vendetta_covenant_condition,if=covenant.kyrian|covenant.necrolord|covenant.none,value=1 actions.cds+=/variable,name=vendetta_covenant_condition,if=covenant.venthyr,value=floor((fight_remains-20)%(120*variable.vendetta_cdr))>floor((fight_remains-20-cooldown.flagellation.remains)%(120*variable.vendetta_cdr))|buff.flagellation_buff.up|debuff.flagellation.up|fight_remains<20 actions.cds+=/variable,name=vendetta_covenant_condition,if=covenant.night_fae,value=floor((fight_remains-20)%(120*variable.vendetta_cdr))>floor((fight_remains-20-cooldown.sepsis.remains)%(120*variable.vendetta_cdr))|dot.sepsis.ticking|fight_remains<20 # Fleshcraft for Pustule Eruption if not stealthed or in a cooldown cycle actions.cds+=/fleshcraft,if=(soulbind.pustule_eruption|soulbind.volatile_solvent)&!stealthed.all&!debuff.vendetta.up&master_assassin_remains=0&(energy.time_to_max_combined>2|!debuff.shiv.up) # Sync Flagellation with Vendetta as long as we won't lose a cast over the fight duration actions.cds+=/flagellation,if=!stealthed.rogue&(cooldown.vendetta.remains<3&variable.vendetta_ma_condition&effective_combo_points>=4&target.time_to_die>10|debuff.vendetta.up|fight_remains<24) actions.cds+=/flagellation,if=!stealthed.rogue&effective_combo_points>=4&(floor((fight_remains-24)%(cooldown*variable.flagellation_cdr))>floor((fight_remains-24-cooldown.vendetta.remains*variable.vendetta_cdr)%(cooldown*variable.flagellation_cdr))) # Sync Sepsis with Vendetta as long as we won't lose a cast over the fight duration, but prefer targets that will live at least 10s actions.cds+=/sepsis,if=!stealthed.rogue&dot.garrote.ticking&(cooldown.vendetta.remains<1&target.time_to_die>10|debuff.vendetta.up|fight_remains<10) actions.cds+=/sepsis,if=!stealthed.rogue&(floor((fight_remains-10)%cooldown)>floor((fight_remains-10-cooldown.vendetta.remains*variable.vendetta_cdr)%cooldown)) actions.cds+=/vendetta,if=!stealthed.rogue&dot.rupture.ticking&!debuff.vendetta.up&variable.vendetta_nightstalker_condition&variable.vendetta_ma_condition&variable.vendetta_covenant_condition # Exsanguinate when not stealthed and both Rupture and Garrote are up for long enough. actions.cds+=/exsanguinate,if=!stealthed.rogue&(!dot.garrote.refreshable&dot.rupture.remains>4+4*cp_max_spend|dot.rupture.remains*0.5>target.time_to_die)&target.time_to_die>4 # Shiv if DoTs are up; if Night Fae attempt to sync with Sepsis or Vendetta if we won't waste more than half Shiv's cooldown actions.cds+=/shiv,if=!debuff.shiv.up&(dot.garrote.ticking&dot.rupture.ticking)&(!covenant.night_fae|((cooldown.sepsis.ready|cooldown.sepsis.remains>12)+(cooldown.vendetta.ready|cooldown.vendetta.remains*variable.vendetta_cdr>12)=2)) actions.cds+=/potion,if=buff.bloodlust.react|fight_remains<30|debuff.vendetta.up actions.cds+=/blood_fury,if=debuff.vendetta.up actions.cds+=/berserking,if=debuff.vendetta.up actions.cds+=/fireblood,if=debuff.vendetta.up actions.cds+=/ancestral_call,if=debuff.vendetta.up actions.cds+=/call_action_list,name=vanish,if=!stealthed.all&master_assassin_remains=0 actions.cds+=/use_item,name=windscar_whetstone,if=spell_targets.fan_of_knives>desired_targets|raid_event.adds.in>60|fight_remains<7 # Sync the priority stat buff trinket with Vendetta, otherwise use on cooldown actions.cds+=/use_items,slots=trinket1,if=variable.trinket_sync_slot=1&(debuff.vendetta.up|fight_remains<=20)|(variable.trinket_sync_slot=2&!trinket.2.cooldown.ready)|!variable.trinket_sync_slot actions.cds+=/use_items,slots=trinket2,if=variable.trinket_sync_slot=2&(debuff.vendetta.up|fight_remains<=20)|(variable.trinket_sync_slot=1&!trinket.1.cooldown.ready)|!variable.trinket_sync_slot # Direct damage abilities # Envenom at 4+ (5+ with DS) CP. Immediately on 2+ targets, with Vendetta, or with TB; otherwise wait for some energy. Also wait if Exsg combo is coming up. actions.direct=envenom,if=effective_combo_points>=4+talent.deeper_stratagem.enabled&(debuff.vendetta.up|debuff.shiv.up|debuff.flagellation.up|energy.deficit<=25+energy.regen_combined|!variable.single_target|effective_combo_points>cp_max_spend)&(!talent.exsanguinate.enabled|cooldown.exsanguinate.remains>2) actions.direct+=/variable,name=use_filler,value=combo_points.deficit>1|energy.deficit<=25+energy.regen_combined|!variable.single_target # Apply SBS to all targets without a debuff as priority, preferring targets dying sooner after the primary target actions.direct+=/serrated_bone_spike,if=variable.use_filler&!dot.serrated_bone_spike_dot.ticking actions.direct+=/serrated_bone_spike,target_if=min:target.time_to_die+(dot.serrated_bone_spike_dot.ticking*600),if=variable.use_filler&!dot.serrated_bone_spike_dot.ticking # Keep from capping charges or burn at the end of fights actions.direct+=/serrated_bone_spike,if=variable.use_filler&master_assassin_remains<0.8&(fight_remains<=5|cooldown.serrated_bone_spike.max_charges-charges_fractional<=0.25) # When MA is not at high duration, sync with damage buffs without overwriting Lead by Example actions.direct+=/serrated_bone_spike,if=!set_bonus.tier28_2pc&variable.use_filler&master_assassin_remains<0.8&(soulbind.lead_by_example.enabled&!buff.lead_by_example.up&debuff.vendetta.up|buff.marrowed_gemstone_enhancement.up|!variable.single_target&debuff.shiv.up) actions.direct+=/serrated_bone_spike,if=set_bonus.tier28_2pc&variable.use_filler&master_assassin_remains<0.8&debuff.grudge_match.up&!buff.lead_by_example.up&raid_event.adds.in>5 # Fan of Knives at 19+ stacks of Hidden Blades or against 4+ targets. actions.direct+=/fan_of_knives,if=variable.use_filler&(buff.hidden_blades.stack>=19|(!priority_rotation&spell_targets.fan_of_knives>=4+stealthed.rogue)) # Fan of Knives to apply poisons if inactive on any target (or any bleeding targets with priority rotation) at 3T actions.direct+=/fan_of_knives,target_if=!dot.deadly_poison_dot.ticking&(!priority_rotation|dot.garrote.ticking|dot.rupture.ticking),if=variable.use_filler&spell_targets.fan_of_knives>=3 actions.direct+=/echoing_reprimand,if=variable.use_filler&cooldown.vendetta.remains>10 actions.direct+=/ambush,if=variable.use_filler&(master_assassin_remains=0&!runeforge.doomblade|buff.blindside.up) # Tab-Mutilate to apply Deadly Poison at 2 targets actions.direct+=/mutilate,target_if=!dot.deadly_poison_dot.ticking,if=variable.use_filler&spell_targets.fan_of_knives=2 actions.direct+=/mutilate,if=variable.use_filler # Damage over time abilities # Limit secondary Garrotes for priority rotation if we have 35 energy regen or Garrote will expire on the primary target actions.dot=variable,name=skip_cycle_garrote,value=priority_rotation&(dot.garrote.remains<cooldown.garrote.duration|variable.regen_saturated) # Limit secondary Ruptures for priority rotation if we have 35 energy regen or Shiv is up on 2T+ actions.dot+=/variable,name=skip_cycle_rupture,value=priority_rotation&(debuff.shiv.up&spell_targets.fan_of_knives>2|variable.regen_saturated) # Limit Ruptures if Vendetta+Shiv/Master Assassin is up and we have 2+ seconds left on the Rupture DoT actions.dot+=/variable,name=skip_rupture,value=debuff.vendetta.up&(debuff.shiv.up|master_assassin_remains>0)&dot.rupture.remains>2 # Special Garrote and Rupture setup prior to Exsanguinate cast actions.dot+=/garrote,if=talent.exsanguinate.enabled&!will_lose_exsanguinate&dot.garrote.pmultiplier<=1&cooldown.exsanguinate.remains<2&spell_targets.fan_of_knives=1&raid_event.adds.in>6&dot.garrote.remains*0.5<target.time_to_die actions.dot+=/rupture,if=talent.exsanguinate.enabled&(effective_combo_points>=cp_max_spend&cooldown.exsanguinate.remains<1&dot.rupture.remains*0.5<target.time_to_die) # Garrote upkeep, also tries to use it as a special generator for the last CP before a finisher actions.dot+=/pool_resource,for_next=1 actions.dot+=/garrote,if=refreshable&combo_points.deficit>=1&(pmultiplier<=1|remains<=tick_time&spell_targets.fan_of_knives>=3)&(!will_lose_exsanguinate|remains<=tick_time*2&spell_targets.fan_of_knives>=3)&(target.time_to_die-remains)>4&master_assassin_remains=0 actions.dot+=/pool_resource,for_next=1 actions.dot+=/garrote,cycle_targets=1,if=!variable.skip_cycle_garrote&target!=self.target&refreshable&combo_points.deficit>=1&(pmultiplier<=1|remains<=tick_time&spell_targets.fan_of_knives>=3)&(!will_lose_exsanguinate|remains<=tick_time*2&spell_targets.fan_of_knives>=3)&(target.time_to_die-remains)>12&master_assassin_remains=0 # Crimson Tempest on multiple targets at 4+ CP when running out in 2-5s as long as we have enough regen and aren't setting up for Vendetta actions.dot+=/crimson_tempest,target_if=min:remains,if=spell_targets>=2&effective_combo_points>=4&energy.regen_combined>20&(!cooldown.vendetta.ready|dot.rupture.ticking)&remains<2+3*(spell_targets>=4) # Keep up Rupture at 4+ on all targets (when living long enough and not snapshot) actions.dot+=/rupture,if=!variable.skip_rupture&effective_combo_points>=4&refreshable&(pmultiplier<=1|remains<=tick_time&spell_targets.fan_of_knives>=3)&(!will_lose_exsanguinate|remains<=tick_time*2&spell_targets.fan_of_knives>=3)&target.time_to_die-remains>(4+(runeforge.dashing_scoundrel*5)+(runeforge.doomblade*5)+(variable.regen_saturated*6)) actions.dot+=/rupture,cycle_targets=1,if=!variable.skip_cycle_rupture&!variable.skip_rupture&target!=self.target&effective_combo_points>=4&refreshable&(pmultiplier<=1|remains<=tick_time&spell_targets.fan_of_knives>=3)&(!will_lose_exsanguinate|remains<=tick_time*2&spell_targets.fan_of_knives>=3)&target.time_to_die-remains>(4+(runeforge.dashing_scoundrel*5)+(runeforge.doomblade*5)+(variable.regen_saturated*6)) # Fallback AoE Crimson Tempest with the same logic as above, but ignoring the energy conditions if we aren't using Rupture actions.dot+=/crimson_tempest,if=spell_targets>=2&effective_combo_points>=4&remains<2+3*(spell_targets>=4) # Crimson Tempest on ST if in pandemic and nearly max energy and if Envenom won't do more damage due to TB/MA actions.dot+=/crimson_tempest,if=spell_targets=1&(!runeforge.dashing_scoundrel|rune_word.frost.enabled)&master_assassin_remains=0&effective_combo_points>=(cp_max_spend-1)&refreshable&!will_lose_exsanguinate&(!debuff.shiv.up|debuff.grudge_match.remains>2)&target.time_to_die-remains>4 # Stealthed Actions # Nighstalker on 3T: Crimson Tempest actions.stealthed=crimson_tempest,if=talent.nightstalker.enabled&spell_targets>=3&combo_points>=4&target.time_to_die-remains>6 # Nighstalker on 1T: Snapshot Rupture actions.stealthed+=/rupture,if=talent.nightstalker.enabled&combo_points>=4&target.time_to_die-remains>6 # Subterfuge: Apply or Refresh with buffed Garrotes actions.stealthed+=/pool_resource,for_next=1 actions.stealthed+=/garrote,target_if=min:remains,if=talent.subterfuge.enabled&!will_lose_exsanguinate&(remains<12%exsanguinated_rate|pmultiplier<=1)&target.time_to_die-remains>2 # Subterfuge + Exsg on 1T: Refresh Garrote at the end of stealth to get max duration before Exsanguinate actions.stealthed+=/pool_resource,for_next=1 actions.stealthed+=/garrote,if=talent.subterfuge.enabled&talent.exsanguinate.enabled&active_enemies=1&buff.subterfuge.remains<1.3 # Vanish # Finish with max CP for Nightstalker, unless using Deathly Shadows actions.vanish=variable,name=nightstalker_cp_condition,value=(!runeforge.deathly_shadows&effective_combo_points>=cp_max_spend)|(runeforge.deathly_shadows&combo_points<2) # Vanish with Exsg + Nightstalker: Maximum CP and Exsg ready for next GCD actions.vanish+=/vanish,if=talent.exsanguinate.enabled&talent.nightstalker.enabled&variable.nightstalker_cp_condition&cooldown.exsanguinate.remains<1 # Vanish with Nightstalker + No Exsg: Maximum CP and Vendetta up actions.vanish+=/vanish,if=talent.nightstalker.enabled&!talent.exsanguinate.enabled&variable.nightstalker_cp_condition&debuff.vendetta.up actions.vanish+=/pool_resource,for_next=1,extra_amount=45 actions.vanish+=/vanish,if=talent.subterfuge.enabled&cooldown.garrote.up&debuff.vendetta.up&(dot.garrote.refreshable|dot.garrote.pmultiplier<=1)&combo_points.deficit>=(spell_targets.fan_of_knives>?4)&raid_event.adds.in>12 # Vanish with Master Assasin: Rupture+Garrote not in refresh range, during Vendetta+Shiv. Sync with Sepsis final hit if possible. actions.vanish+=/vanish,if=(talent.master_assassin.enabled|runeforge.mark_of_the_master_assassin)&!dot.rupture.refreshable&dot.garrote.remains>3&debuff.vendetta.up&(debuff.shiv.up|debuff.vendetta.remains<4|dot.sepsis.ticking)&dot.sepsis.remains<3
- 22 Feb. 2022: Updated for Patch 9.2.
- 02 Nov. 2021: Reviewed and approved for Patch 9.1.5.
- 28 Jun. 2021: Updated for Patch 9.1.
- 09 Apr. 2021: Updated Sample Openers.
- 09 Mar. 2021: Reviewed for Patch 9.0.5.
- 13 Feb. 2021: Improved Poison section.
- 15 Jan. 2021: Removed outdated disclaimer.
- 09 Dec. 2020: Updated single-target priority list and sample Subterfuge opener.
- 23 Nov. 2020: Page updated for the Shadowlands release, added Covenant ability to rotation.
- 12 Oct. 2020: Page updated for the Shadowlands pre-patch.
- New Heartbond Lupine Flying Animation in Patch 9.2.5
- Cool New Patch 9.2.5 Windrunner Easter Egg
- Kalimdorathon: Running Kalimdor from South to North IRL
- Patch 9.2.5 Survival Guide - Everything Coming in the World of Warcraft Update
- The Ultimate Silvermoonception
- World First Hardcore Level 99 in Diablo 2 Resurrected Ladder Season 1
- Bird's Eye View of Various World of Warcraft Maps
- Enigma Arena Changes