Cogspark Works · Rotation
Assassination Rogue
The priority list SimulationCraft plays this spec with · engine build 20261019-1860cd1-w8a2c73d · game data 12.1.5.70448
§1How to read this
A rotation in SimulationCraft is a priority list, not a sequence. Every time the character can act, the sim starts at the top of The main loop and does the first line whose conditions hold. Lower lines only happen when nothing above them fits.
- The page shows the list as a decision tree: set what you know about the fight and your talents, and it lights the lists the sim checks, in order.
- Cast lines use the ability. Hover, focus or tap an icon or a name for its tooltip.
- Go through another list: its lines are checked in order; when none of them fits, the sim comes back and carries on with the next line here.
- Switch to another list: the rest of this list is skipped and the choice is made from that list alone.
- Helpers are values the list works out on the spot, such as “are we holding a cooldown”. Setting one takes no time and the list carries on. The tree works out the ones your situation settles.
The list is written to perform well in the sim, not to be the only right way to play. Every line keeps its original simc text under the simc toggle at its right, and the list author’s note where there is one.
§2Decision tree
Set what you know. The tree lights the lists the sim checks, top to bottom; in each list it presses the first ability whose conditions hold and that is ready. Readiness (cooldowns, resources) isn’t in the list, so a lit ability is the first one allowed, not a promise it is cast.
- The main loop
- Cooldowns (maybe)
- Items (maybe)
- Misc cds (maybe)
- Vanish (maybe)
- Core dot
- Generate (maybe)
- Spend (maybe)
Before the pull, done once before the fight starts (6 steps)
Before the pull6 lines
- Cast Apply Poison
simc
apply_poison - Record your stats before the pull (sim bookkeeping)
simc
snapshot_stats - Set trinket sync slot to 1all of these:Check which trinket slots have Stat Values
- trinket 1 has an on-use effect that grants a stat buff
- any of these:
- trinket 2 has no on-use effect that grants a stat buff
- trinket 1's cooldown is at least trinket 2's cooldown
simc
variable,name=trinket_sync_slot,value=1,if=trinket.1.has_use_buff&(!trinket.2.has_use_buff|trinket.1.cooldown.duration>=trinket.2.cooldown.duration) - Set trinket sync slot to 2all of these:
- trinket 2 has an on-use effect that grants a stat buff
- any of these:
- trinket 1 has no on-use effect that grants a stat buff
- trinket 2's cooldown is more than trinket 1's cooldown
simc
variable,name=trinket_sync_slot,value=2,if=trinket.2.has_use_buff&(!trinket.1.has_use_buff|trinket.2.cooldown.duration>trinket.1.cooldown.duration) - Cast StealthPre-cast Slice and Dice if possible
simc
stealth - Cast Slice and Dice
simc
slice_and_dice,precombat_seconds=1
The main loop9 lines
- Cast StealthRestealth if possible (no vulnerable enemies in combat)
simc
stealth - Cast KickInterrupt on cooldown to allow simming interactions with that
simc
kick - Set single target to true when the following holds, otherwise falseFan of Knives would hit exactly 1 enemyHelper Variable to check for single target in combat
simc
variable,name=single_target,value=spell_targets.fan_of_knives=1 - Cast Thistle Tea if your Energy is below 30% or the fight ends within 10 sEdge-case check to dump thistle tea at the end of fights
simc
thistle_tea,if=energy.pct<30|fight_remains<10 - Cast Ambush if you are stealthed (Stealth, Vanish, Shadow Dance or Subterfuge) and single target is true and you have Blindside talented and you have Improved Ambush talented and you don't have Shrouded Suffocation talentedSpecial Ambush condition for the start of fights when applicable
simc
ambush,if=stealthed.rogue&variable.single_target&talent.blindside&talent.improved_ambush&!talent.shrouded_suffocation Is it true that single target is true or you don't have Scent of Blood talented or the stacks of Scent of Blood is at least the smaller of (2 times your rank in Scent of Blood times the number of enemies Fan of Knives would hit) and 20?Not set
If so, go through Cooldowns, then carry on below if nothing there fits
Cooldown list takes prioritysimc
call_action_list,name=cds,if=variable.single_target|!talent.scent_of_blood|buff.scent_of_blood.stack>=(2*talent.scent_of_blood.rank*spell_targets.fan_of_knives>?20)go through Core dot, then carry on below if nothing there fits
Maintain dots when possiblesimc
call_action_list,name=core_dotCore dot5 lines
- Cast Garrote if (Improved Garrote is active or you are stealthed (Stealth, Vanish, Shadow Dance or Subterfuge)) and (the damage bonus Garrote was applied with is at most 1 or Garrote has at most 14 s plus (6 if you have Razor Wire talented, else 0) plus (4 if single target is false, else 0) left on the target, or isn't on it)DoT list Garrote for improved garrote when applicable
simc
garrote,if=(buff.improved_garrote.up|stealthed.rogue)&(pmultiplier<=1|remains<=14+6*talent.razor_wire+4*!variable.single_target) - Cast Garrote if you are 1 or more Combo Points below maximum and (the damage bonus Garrote was applied with is at most 1 or single target is false) and Garrote is missing from the target or due for a refresh and the time until the target dies minus the time left on Garrote is more than 12 sNormal Garrote Maintanence
simc
garrote,if=combo_points.deficit>=1&(pmultiplier<=1|!variable.single_target)&refreshable&target.time_to_die-remains>12 - Cast Garrote if you don't have Crimson Tempest talented and you are 1 or more Combo Points below maximum and (the damage bonus Garrote was applied with is at most 1 or single target is false) and Garrote is missing from the target or due for a refresh and the time until the target dies minus the time left on Garrote is more than 12 starget on the first enemy where the conditions holdCycle
simc
garrote,cycle_targets=1,if=!talent.crimson_tempest&combo_points.deficit>=1&(pmultiplier<=1|!variable.single_target)&refreshable&target.time_to_die-remains>12 - Cast Rupture if you have 5 or more Combo Points and Rupture is missing from the target or due for a refresh and the time until the target dies minus the time left on Rupture is more than 12 s and (Darkest Night isn't active or Rupture isn't on the target)Normal Rupture Maintanence, making sure to not waste Darkest Night
simc
rupture,if=combo_points>=5&refreshable&target.time_to_die-remains>12&(!buff.darkest_night.up|!dot.rupture.ticking) - Cast Rupture if you don't have Crimson Tempest talented and you have 5 or more Combo Points and Rupture is missing from the target or due for a refresh and the time until the target dies minus the time left on Rupture is more than 12 s and (Darkest Night isn't active or Rupture isn't on the target)target on the first enemy where the conditions hold
simc
rupture,cycle_targets=1,if=!talent.crimson_tempest&combo_points>=5&refreshable&target.time_to_die-remains>12&(!buff.darkest_night.up|!dot.rupture.ticking)
Is it true that (Darkest Night isn't active and you have fewer than 5 Combo Points) or (Darkest Night is active and your Combo Points isn't full)?Not set
If so, go through Generate, then carry on below if nothing there fits
Build combo points until 5, max with darkest nightsimc
call_action_list,name=generate,if=!buff.darkest_night.up&combo_points<5|buff.darkest_night.up&combo_points.deficit>0Is it true that (Darkest Night isn't active and you have 5 or more Combo Points) or (Darkest Night is active and your Combo Points is full)?Not set
If so, go through Spend, then carry on below if nothing there fits
If combo point threshold is reached, spend themsimc
call_action_list,name=spend,if=!buff.darkest_night.up&combo_points>=5|buff.darkest_night.up&combo_points.deficit=0
Read from ActionPriorityLists/default/rogue_assassination.simc in simulationcraft/simc at 1860cd1d5763, the commit this engine build runs.
Blizzard’s own suggestion system (the one-button rotation), as simc carries it. It is simpler than SimulationCraft’s list and is not what Cogspark simulates.
§2Decision tree
Set what you know. The tree lights the lists the sim checks, top to bottom; in each list it presses the first ability whose conditions hold and that is ready. Readiness (cooldowns, resources) isn’t in the list, so a lit ability is the first one allowed, not a promise it is cast.
- The main loop
- Cooldowns
- Assisted Combat
Before the pull, done once before the fight starts (2 steps)
Before the pull2 lines
- Record your stats before the pull (sim bookkeeping)
simc
snapshot_stats - Cast Apply Poison
simc
apply_poison
The main loop2 lines
go through Cooldowns, then carry on below if nothing there fits
simc
call_action_list,name=cooldownsCooldowns8 lines
- Use your trinketsSome cooldowns are not used by the Assisted Combat system. This simple default cooldown usage has been provided by simc.
simc
use_items - Drink a potion
simc
potion - Cast Blood Fury
simc
blood_fury - Cast Berserking
simc
berserking - Cast Fireblood
simc
fireblood - Cast Ancestral Call
simc
ancestral_call - Cast Vanish if you aren't stealthed (any stealth, Shadowmeld included)
simc
vanish,if=!stealthed.all - Cast Deathmark if you don't have Kingsbane talented or Kingsbane is off cooldown
simc
deathmark,if=!talent.kingsbane|cooldown.kingsbane.ready
go through Assisted Combat, then carry on below if nothing there fits
simc
call_action_list,name=assisted_combatAssisted Combat26 lines
- Cast Deathmark if Garrote is on the target and Rupture is on the targetThis is the default action priority list from the game's Assisted Combat system. This is for Blizzard automation and is not included in the game's Assisted Combat system.
simc
deathmark,if=dot.garrote.ticking&dot.rupture.ticking - Cast Kingsbane if Garrote is on the target and Rupture is on the target and you have Implacable talented and you have 1 or fewer Combo Points (as a finisher would count them)
simc
kingsbane,if=dot.garrote.ticking&dot.rupture.ticking&talent.implacable&effective_combo_points<=1 - Cast Kingsbane if Garrote is on the target and Rupture is on the target and you don't have Implacable talented
simc
kingsbane,if=dot.garrote.ticking&dot.rupture.ticking&!talent.implacable - Cast Envenom if you have 5 or more Combo Points (as a finisher would count them) and Darkest Night is active and you don't have Deeper Stratagem talented and you don't have Sanguine Stratagem talented
simc
envenom,if=effective_combo_points>=5&buff.darkest_night.up&!talent.deeper_stratagem&!talent.sanguine_stratagem - Cast Coup de Grace if you have 5 or more Combo Points (as a finisher would count them) and Darkest Night is active and you don't have Deeper Stratagem talented and you don't have Sanguine Stratagem talented
simc
coup_de_grace,if=effective_combo_points>=5&buff.darkest_night.up&!talent.deeper_stratagem&!talent.sanguine_stratagem - Cast Envenom if you have 6 or more Combo Points (as a finisher would count them) and Darkest Night is active and you don't have Sanguine Stratagem talented and you have Deeper Stratagem talented
simc
envenom,if=effective_combo_points>=6&buff.darkest_night.up&!talent.sanguine_stratagem&talent.deeper_stratagem - Cast Coup de Grace if you have 6 or more Combo Points (as a finisher would count them) and Darkest Night is active and you don't have Sanguine Stratagem talented and you have Deeper Stratagem talented
simc
coup_de_grace,if=effective_combo_points>=6&buff.darkest_night.up&!talent.sanguine_stratagem&talent.deeper_stratagem - Cast Envenom if you have 6 or more Combo Points (as a finisher would count them) and Darkest Night is active and you don't have Deeper Stratagem talented and you have Sanguine Stratagem talented
simc
envenom,if=effective_combo_points>=6&buff.darkest_night.up&!talent.deeper_stratagem&talent.sanguine_stratagem - Cast Coup de Grace if you have 6 or more Combo Points (as a finisher would count them) and Darkest Night is active and you don't have Deeper Stratagem talented and you have Sanguine Stratagem talented
simc
coup_de_grace,if=effective_combo_points>=6&buff.darkest_night.up&!talent.deeper_stratagem&talent.sanguine_stratagem - Cast Envenom if you have 7 or more Combo Points (as a finisher would count them) and Darkest Night is active and you have Deeper Stratagem talented and you have Sanguine Stratagem talented
simc
envenom,if=effective_combo_points>=7&buff.darkest_night.up&talent.deeper_stratagem&talent.sanguine_stratagem - Cast Coup de Grace if you have 7 or more Combo Points (as a finisher would count them) and Darkest Night is active and you have Deeper Stratagem talented and you have Sanguine Stratagem talented
simc
coup_de_grace,if=effective_combo_points>=7&buff.darkest_night.up&talent.deeper_stratagem&talent.sanguine_stratagem - Cast Rupture if Rupture isn't on the target and you have 5 or more Combo Points (as a finisher would count them) and Darkest Night isn't active
simc
rupture,if=!dot.rupture.ticking&effective_combo_points>=5&buff.darkest_night.down - Cast Envenom if you have 5 or more Combo Points (as a finisher would count them) and Darkest Night isn't active
simc
envenom,if=effective_combo_points>=5&buff.darkest_night.down - Cast Coup de Grace if you have 5 or more Combo Points (as a finisher would count them) and Darkest Night isn't active
simc
coup_de_grace,if=effective_combo_points>=5&buff.darkest_night.down - Cast Ambush if your distance to the target is at most 40 and you are stealthed (Stealth or Vanish) and you don't have Improved Garrote talentedGeneric stealth check replacement expression for multiple buff checks (Overridden from 'target.distance<=40&buff.stealth.up&!talent.improved_garrote')
simc
ambush,if=target.distance<=40&stealthed.basic&!talent.improved_garrote - Cast Garrote if your distance to the target is at most 40 and you are stealthed (Stealth or Vanish)Generic stealth check replacement expression for multiple buff checks (Overridden from 'target.distance<=40&buff.stealth.up')
simc
garrote,if=target.distance<=40&stealthed.basic - Cast Garrote if Garrote isn't on the target
simc
garrote,if=!dot.garrote.ticking - Cast Ambush if Blindside is active
simc
ambush,if=buff.blindside.up - Cast Crimson Tempest if there are 3 or more enemies and Garrote is on 1 or fewer enemies and Rupture is on 1 or more enemies and Garrote is on 1 or more enemies
simc
crimson_tempest,if=active_enemies>=3&active_dot.garrote<=1&active_dot.rupture>=1&active_dot.garrote>=1 - Cast Crimson Tempest if there are 5 or more enemies and Garrote is on 3 or fewer enemies and Rupture is on 1 or more enemies and Garrote is on 1 or more enemies
simc
crimson_tempest,if=active_enemies>=5&active_dot.garrote<=3&active_dot.rupture>=1&active_dot.garrote>=1 - Cast Crimson Tempest if there are 7 or more enemies and Garrote is on 5 or fewer enemies and Rupture is on 1 or more enemies and Garrote is on 1 or more enemies
simc
crimson_tempest,if=active_enemies>=7&active_dot.garrote<=5&active_dot.rupture>=1&active_dot.garrote>=1 - Cast Fan of Knives if there are 3 or more enemies
simc
fan_of_knives,if=active_enemies>=3 - Cast Mutilate
simc
mutilate - Cast Poisoned Knife if Stealth isn't active and Vanish isn't active and you have 70 or more Energy and your distance to the target is more than 15
simc
poisoned_knife,if=buff.stealth.down&buff.vanish.down&energy>=70&target.distance>15
Read from ActionPriorityLists/assisted_combat/rogue_assassination.simc in simulationcraft/simc at 1860cd1d5763, the commit this engine build runs.