Cogspark

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.

Your situation
Enemies in range
  • single target: not set · when Fan of Knives would hit exactly 1 enemy
Your talents (click: talented, not talented, not set)
More conditions (7)
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
you are stealthed (Stealth, Vanish, Shadow Dance or Subterfuge)
Darkest Night is active
you have fewer than 5 Combo Points
your Combo Points isn't full
you have 5 or more Combo Points
your Combo Points is full
Checked
  1. The main loop
  2. Cooldowns (maybe)
  3. Items (maybe)
  4. Misc cds (maybe)
  5. Vanish (maybe)
  6. Core dot
  7. Generate (maybe)
  8. Spend (maybe)
Before the pull, done once before the fight starts (6 steps)

Before the pull6 lines

  1. Cast Apply Poison
    simcapply_poison
  2. Record your stats before the pull (sim bookkeeping)
    simcsnapshot_stats
  3. Set trinket sync slot to 1
    all of these:
    • 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
    Check which trinket slots have Stat Values
    simcvariable,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)
  4. Set trinket sync slot to 2
    all 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
    simcvariable,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)
  5. Cast StealthPre-cast Slice and Dice if possible
    simcstealth
  6. Cast Slice and Dice
    simcslice_and_dice,precombat_seconds=1

The main loop9 lines

  1. Cast StealthRestealth if possible (no vulnerable enemies in combat)
    simcstealth
  2. Cast KickInterrupt on cooldown to allow simming interactions with that
    simckick
  3. Set single target to true when the following holds, otherwise false
    Fan of Knives would hit exactly 1 enemy
    Helper Variable to check for single target in combat
    simcvariable,name=single_target,value=spell_targets.fan_of_knives=1
  4. 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
    simcthistle_tea,if=energy.pct<30|fight_remains<10
  5. 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
    simcambush,if=stealthed.rogue&variable.single_target&talent.blindside&talent.improved_ambush&!talent.shrouded_suffocation
  6. 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 priority
    simccall_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)
  7. go through Core dot, then carry on below if nothing there fits

    Maintain dots when possible
    simccall_action_list,name=core_dot

    Core dot5 lines

    1. 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
      simcgarrote,if=(buff.improved_garrote.up|stealthed.rogue)&(pmultiplier<=1|remains<=14+6*talent.razor_wire+4*!variable.single_target)
    2. 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
      simcgarrote,if=combo_points.deficit>=1&(pmultiplier<=1|!variable.single_target)&refreshable&target.time_to_die-remains>12
    3. 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
      simcgarrote,cycle_targets=1,if=!talent.crimson_tempest&combo_points.deficit>=1&(pmultiplier<=1|!variable.single_target)&refreshable&target.time_to_die-remains>12
    4. 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
      simcrupture,if=combo_points>=5&refreshable&target.time_to_die-remains>12&(!buff.darkest_night.up|!dot.rupture.ticking)
    5. 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
      simcrupture,cycle_targets=1,if=!talent.crimson_tempest&combo_points>=5&refreshable&target.time_to_die-remains>12&(!buff.darkest_night.up|!dot.rupture.ticking)
  8. 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 night
    simccall_action_list,name=generate,if=!buff.darkest_night.up&combo_points<5|buff.darkest_night.up&combo_points.deficit>0
  9. Is 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 them
    simccall_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.