Cogspark

Cogspark Works · Rotation

Arms Warrior

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
Target health
  • execute phase: not set · when (you have Massacre talented and the target is below 35% health) or the target is below 20% health
Your talents (click: talented, not talented, not set)
Checked
  1. The main loop
  2. Helpers
  3. Trinkets
  4. Colossus AoE (maybe)
  5. Colossus execute (maybe)
  6. Colossus st (maybe)
  7. Slayer AoE (maybe)
  8. Slayer execute (maybe)
  9. Slayer st (maybe)
Before the pull, done once before the fight starts (14 steps)

Before the pull14 lines

  1. Record your stats before the pull (sim bookkeeping)Snapshot raid buffed stats before combat begins and pre-potting is done.
    simcsnapshot_stats
  2. Set trinket 1 exclude to true when the following holds, otherwise false
    trinket 1 is Algethar Puzzle Box
    simcvariable,name=trinket_1_exclude,value=trinket.1.is.algethar_puzzle_box
  3. Set trinket 2 exclude to true when the following holds, otherwise false
    trinket 2 is Algethar Puzzle Box
    simcvariable,name=trinket_2_exclude,value=trinket.2.is.algethar_puzzle_box
  4. Set trinket 1 buffs to true when the following holds, otherwise false
    trinket 1 has an on-use effect that grants a stat buff
    simcvariable,name=trinket_1_buffs,value=trinket.1.has_use_buff
  5. Set trinket 2 buffs to true when the following holds, otherwise false
    trinket 2 has an on-use effect that grants a stat buff
    simcvariable,name=trinket_2_buffs,value=trinket.2.has_use_buff
  6. Set trinket 1 duration to 0 when the following holds, otherwise to trinket 1's stat buff's duration
    never
    simcvariable,name=trinket_1_duration,op=setif,value=0,value_else=trinket.1.proc.any_dps.duration,condition=0
  7. Set trinket 2 duration to 0 when the following holds, otherwise to trinket 2's stat buff's duration
    never
    simcvariable,name=trinket_2_duration,op=setif,value=0,value_else=trinket.2.proc.any_dps.duration,condition=0
  8. Set trinket 1 high value to 2 when the following holds, otherwise to 1
    trinket 1 is Treacherous Transmitter
    simcvariable,name=trinket_1_high_value,op=setif,value=2,value_else=1,condition=trinket.1.is.treacherous_transmitter
  9. Set trinket 2 high value to 2 when the following holds, otherwise to 1
    trinket 2 is Treacherous Transmitter
    simcvariable,name=trinket_2_high_value,op=setif,value=2,value_else=1,condition=trinket.2.is.treacherous_transmitter
  10. Set trinket 1 sync to 1 when the following holds, otherwise to 0.5
    all of these:
    • trinket 1 buffs is true
    • you have Avatar talented
    • the remainder of trinket 1's cooldown divided by Avatar's cooldown is 0
    simcvariable,name=trinket_1_sync,op=setif,value=1,value_else=0.5,condition=variable.trinket_1_buffs&talent.avatar&trinket.1.cooldown.duration%%cooldown.avatar.duration=0
  11. Set trinket 2 sync to 1 when the following holds, otherwise to 0.5
    all of these:
    • trinket 2 buffs is true
    • you have Avatar talented
    • the remainder of trinket 2's cooldown divided by Avatar's cooldown is 0
    simcvariable,name=trinket_2_sync,op=setif,value=1,value_else=0.5,condition=variable.trinket_2_buffs&talent.avatar&trinket.2.cooldown.duration%%cooldown.avatar.duration=0
  12. Set trinket priority to 2 when the following holds, otherwise to 1
    any of these:
    • all of these:
      • trinket 1 buffs is false
      • trinket 2 buffs is true
      • any of these:
        • trinket 2 has a cooldown
        • trinket 1 has no cooldown
    • all of these:
      • trinket 2 buffs is true
      • trinket 2's cooldown divided by trinket 2 duration times (1.5 plus (1 if trinket 2 can grant Strength, else 0)) times trinket 2 sync times trinket 2 high value times (1 plus ((trinket 2's item level minus trinket 1's item level) divided by 100)) is more than trinket 1's cooldown divided by trinket 1 duration times (1.5 plus (1 if trinket 1 can grant Strength, else 0)) times trinket 1 sync times trinket 1 high value times (1 plus ((trinket 1's item level minus trinket 2's item level) divided by 100))
    simcvariable,name=trinket_priority,op=setif,value=2,value_else=1,condition=!variable.trinket_1_buffs&variable.trinket_2_buffs&(trinket.2.has_cooldown|!trinket.1.has_cooldown)|variable.trinket_2_buffs&((trinket.2.cooldown.duration%variable.trinket_2_duration)*(1.5+trinket.2.has_buff.strength)*(variable.trinket_2_sync)*(variable.trinket_2_high_value)*(1+((trinket.2.ilvl-trinket.1.ilvl)%100)))>((trinket.1.cooldown.duration%variable.trinket_1_duration)*(1.5+trinket.1.has_buff.strength)*(variable.trinket_1_sync)*(variable.trinket_1_high_value)*(1+((trinket.1.ilvl-trinket.2.ilvl)%100)))
  13. Set damage trinket priority to 2 when the following holds, otherwise to 1
    all of these:
    • trinket 1 buffs is false
    • trinket 2 buffs is false
    • trinket 2's item level is at least trinket 1's item level
    simcvariable,name=damage_trinket_priority,op=setif,value=2,value_else=1,condition=!variable.trinket_1_buffs&!variable.trinket_2_buffs&trinket.2.ilvl>=trinket.1.ilvl
  14. Cast Battle Stance
    simcbattle_stance,toggle=on

The main loop20 lines

  1. Cast Charge if at most 0.5 s into the fight or the distance you still have to move is more than 5
    simccharge,if=time<=0.5|movement.distance>5
  2. Start auto-attacking
    simcauto_attack
  3. Drink a potion if (the global cooldown is over and Colossus Smash has more than 8 s left on the target) or the target dies within 25 s
    simcpotion,if=gcd.remains=0&debuff.colossus_smash.remains>8|target.time_to_die<25
  4. Cast Pummel if the target is casting
    simcpummel,if=target.debuff.casting.react
  5. go through Helpers, then carry on below if nothing there fits

    simccall_action_list,name=variables

    Helpers3 lines

    1. Set st planning to true when the following holds, otherwise false
      all of these:
      • there is a single enemy
      • any of these:
        • the next add wave starts in more than 15 s (or never)
        • the fight has no add waves
      Variables
      simcvariable,name=st_planning,value=active_enemies=1&(raid_event.adds.in>15|!raid_event.adds.exists)
    2. Set adds remain to true when the following holds, otherwise false
      all of these:
      • there are 2 or more enemies
      • any of these:
        • the fight has no add waves
        • all of these:
          • the fight has add waves
          • the time left in the current add wave is more than 5 s
      simcvariable,name=adds_remain,value=active_enemies>=2&(!raid_event.adds.exists|raid_event.adds.exists&raid_event.adds.remains>5)
    3. Set execute phase to true when the following holds, otherwise false
      any of these:
      • all of these:
        • you have Massacre talented
        • the target is below 35% health
      • the target is below 20% health
      simcvariable,name=execute_phase,value=(talent.massacre.enabled&target.health.pct<35)|target.health.pct<20
  6. go through Trinkets, then carry on below if nothing there fits

    simccall_action_list,name=trinkets

    Trinkets5 lines

    1. Use your trinket 1 if trinket 1 buffs is true and (trinket priority is 1 or trinket 2 buffs is false or trinket 2 has no cooldown) and Avatar is activeTrinkets
      simcuse_item,slot=trinket1,if=variable.trinket_1_buffs&(variable.trinket_priority=1|!variable.trinket_2_buffs|!trinket.2.has_cooldown)&(buff.avatar.up)
    2. Use your trinket 2 if trinket 2 buffs is true and (trinket priority is 2 or trinket 1 buffs is false or trinket 1 has no cooldown) and Avatar is active
      simcuse_item,slot=trinket2,if=variable.trinket_2_buffs&(variable.trinket_priority=2|!variable.trinket_1_buffs|!trinket.1.has_cooldown)&(buff.avatar.up)
    3. Use your trinket 1 if trinket 1 buffs is false and (damage trinket priority is 1 or trinket 2 buffs is false or trinket 2 has no cooldown)
      simcuse_item,slot=trinket1,if=!variable.trinket_1_buffs&(variable.damage_trinket_priority=1|!variable.trinket_2_buffs|!trinket.2.has_cooldown)
    4. Use your trinket 2 if trinket 2 buffs is false and (damage trinket priority is 2 or trinket 1 buffs is false or trinket 1 has no cooldown)
      simcuse_item,slot=trinket2,if=!variable.trinket_2_buffs&(variable.damage_trinket_priority=2|!variable.trinket_1_buffs|!trinket.1.has_cooldown)
    5. Use Algethar Puzzle Box if Avatar comes off cooldown within 2 s or Colossus Smash comes off cooldown within 2 s
      simcuse_item,name=algethar_puzzle_box,if=cooldown.avatar.remains<2|cooldown.colossus_smash.remains<2
  7. Cast Arcane Torrent if Mortal Strike has more than 1.5 s of cooldown left and you have less than 50 Rage
    simcarcane_torrent,if=cooldown.mortal_strike.remains>1.5&rage<50
  8. Cast Light's Judgment if Colossus Smash isn't active on the target and Mortal Strike is on cooldown
    simclights_judgment,if=debuff.colossus_smash.down&cooldown.mortal_strike.remains
  9. Cast Bag of Tricks if Colossus Smash isn't active on the target and Mortal Strike is on cooldown
    simcbag_of_tricks,if=debuff.colossus_smash.down&cooldown.mortal_strike.remains
  10. Cast Berserking if (the target lives more than 180 s longer and Colossus Smash is active on the target) or (the target dies within 180 s and execute phase is true and Colossus Smash is active on the target) or the target dies within 20 s
    simcberserking,if=target.time_to_die>180&debuff.colossus_smash.up|target.time_to_die<180&variable.execute_phase&debuff.colossus_smash.up|target.time_to_die<20
  11. Cast Blood Fury if Colossus Smash is active on the target
    simcblood_fury,if=debuff.colossus_smash.up
  12. Cast Fireblood if Colossus Smash is active on the target
    simcfireblood,if=debuff.colossus_smash.up
  13. Cast Ancestral Call if Colossus Smash is active on the target
    simcancestral_call,if=debuff.colossus_smash.up
  14. Get Power Infusion from an ally if (Colossus Smash is active on the target and at least 135 s of the fight remain) or (execute phase is true and Avatar is active) or the fight ends within 25 s
    simcinvoke_external_buff,name=power_infusion,if=debuff.colossus_smash.up&fight_remains>=135|variable.execute_phase&buff.avatar.up|fight_remains<=25
  15. Is it true that you have Demolish talented and there are more than 2 enemies?Not set

    If so, switch to Colossus AoE, and nothing below is checked

    simcrun_action_list,name=colossus_aoe,if=talent.demolish&active_enemies>2

    Colossus AoE18 lines

    1. Cast Sweeping Strikes
      simcsweeping_strikes
    2. Cast Ravager
      simcravager
    3. Cast Avatar
      simcavatar
    4. Cast Colossus Smash
      simccolossus_smash
    5. Cast Champion's Spear
      simcchampions_spear
    6. Cast Cleave
      simccleave
    7. Cast Mortal Strike if Colossal Might has fewer than 10 stacks
      simcmortal_strike,if=buff.colossal_might.stack<10
    8. Cast Demolish
      simcdemolish
    9. Cast Overpower if you have Dreadnaught talented
      simcoverpower,if=talent.dreadnaught
    10. Cast Mortal Strike
      simcmortal_strike
    11. Cast Overpower
      simcoverpower
    12. Cast Execute if Sweeping Strikes is active and Sudden Death is active
      simcexecute,if=buff.sweeping_strikes.up&buff.sudden_death.up
    13. Cast Heroic Strike
      simcheroic_strike
    14. Cast Execute if you have Deep Wounds talented
      simcexecute,if=talent.deep_wounds
    15. Cast Slam
      simcslam
    16. Cast Bladestorm
      simcbladestorm
    17. Cast Wrecking Throw
      simcwrecking_throw
    18. Cast Whirlwind
      simcwhirlwind
  16. Is it true that you have Demolish talented and execute phase is true?Not set

    If so, switch to Colossus execute, and nothing below is checked

    target on the enemy with the lowest target's health
    simcrun_action_list,name=colossus_execute,target_if=min:target.health.pct,if=talent.demolish&variable.execute_phase

    Colossus execute12 lines

    1. Cast Sweeping Strikes if there are exactly 2 enemies
      simcsweeping_strikes,if=active_enemies=2
    2. Cast Avatar if Colossus Smash is active on the target or (Colossus Smash comes off cooldown within 10 s and Colossus Smash has more than one global cooldown of cooldown left)
      simcavatar,if=debuff.colossus_smash.up|cooldown.colossus_smash.remains<10&cooldown.colossus_smash.remains>gcd
    3. Cast Ravager if Colossus Smash comes off cooldown within 2 s
      simcravager,if=cooldown.colossus_smash.remains<2
    4. Cast Colossus Smash
      simccolossus_smash
    5. Cast Heroic Strike
      simcheroic_strike
    6. Cast Demolish if Colossus Smash is active on the target
      simcdemolish,if=debuff.colossus_smash.up
    7. Cast Mortal Strike if Colossal Might has fewer than 10 stacks or Executioner's Precision has exactly 2 stacks
      simcmortal_strike,if=buff.colossal_might.stack<10|buff.executioners_precision.stack=2
    8. Cast Execute if (you have Deep Wounds talented and you have more than 75 Rage) or Sudden Death is active
      simcexecute,if=talent.deep_wounds&rage>75|buff.sudden_death.up
    9. Cast Overpower
      simcoverpower
    10. Cast Execute
      simcexecute
    11. Cast Bladestorm if there are exactly 2 enemies
      simcbladestorm,if=active_enemies=2
    12. Cast Wrecking Throw
      simcwrecking_throw
  17. Is it true that you have Demolish talented?Not set

    If so, switch to Colossus st, and nothing below is checked

    simcrun_action_list,name=colossus_st,if=talent.demolish

    Colossus st21 lines

    1. Cast Sweeping Strikes if there are exactly 2 enemies
      simcsweeping_strikes,if=active_enemies=2
    2. Cast Mortal Strike if Colossal Might has fewer than 10 stacks
      simcmortal_strike,if=buff.colossal_might.stack<10
    3. Cast Cleave if Rend Dot has at most one global cooldown left on the target, or isn't on it or (Colossus Smash comes off cooldown within 2 s and Rend Dot has at most 10 s left on the target, or isn't on it)
      simccleave,if=dot.rend_dot.remains<=gcd|cooldown.colossus_smash.remains<2&dot.rend_dot.remains<=10
    4. Cast Rend if (you don't have Cleave talented and Rend Dot has at most one global cooldown left on the target, or isn't on it) or (Colossus Smash comes off cooldown within 2 s and Rend Dot has at most 10 s left on the target, or isn't on it and you don't have Cleave talented)
      simcrend,if=!talent.cleave&dot.rend_dot.remains<=gcd|cooldown.colossus_smash.remains<2&dot.rend_dot.remains<=10&!talent.cleave
    5. Cast Ravager if Colossus Smash comes off cooldown within 2 s
      simcravager,if=cooldown.colossus_smash.remains<2
    6. Cast Execute if Sudden Death has exactly 2 stacks and Colossus Smash comes off cooldown within 2 s and you have Tactical Edge talented
      simcexecute,if=buff.sudden_death.stack=2&cooldown.colossus_smash.remains<2&talent.tactical_edge
    7. Cast Avatar if Colossus Smash is active on the target or Colossus Smash has more than one global cooldown of cooldown left
      simcavatar,if=debuff.colossus_smash.up|cooldown.colossus_smash.remains>gcd
    8. Cast Colossus Smash
      simccolossus_smash
    9. Cast Champion's Spear
      simcchampions_spear
    10. Cast Demolish if Colossal Might is active and Colossus Smash is active on the target
      simcdemolish,if=buff.colossal_might.up&debuff.colossus_smash.up
    11. Cast Heroic Strike
      simcheroic_strike
    12. Cast Execute if Sudden Death has exactly 2 stacks
      simcexecute,if=buff.sudden_death.stack=2
    13. Cast Mortal Strike
      simcmortal_strike
    14. Cast Cleave if Collateral Damage has exactly 3 stacks
      simccleave,if=buff.collateral_damage.stack=3
    15. Cast Execute
      simcexecute
    16. Cast Overpower
      simcoverpower
    17. Cast Cleave if Rend Dot has at most 5 global cooldowns left on the target, or isn't on it
      simccleave,if=dot.rend_dot.remains<=gcd*5
    18. Cast Rend if you don't have Cleave talented and Rend Dot has at most 5 global cooldowns left on the target, or isn't on it
      simcrend,if=!talent.cleave&dot.rend_dot.remains<=gcd*5
    19. Cast Bladestorm if there are exactly 2 enemies
      simcbladestorm,if=active_enemies=2
    20. Cast Slam
      simcslam
    21. Cast Wrecking Throw
      simcwrecking_throw
  18. Is it true that you have Slayer's Dominance talented and there are more than 2 enemies?Not set

    If so, switch to Slayer AoE, and nothing below is checked

    simcrun_action_list,name=slayer_aoe,if=talent.slayers_dominance&active_enemies>2

    Slayer AoE20 lines

    1. Cast Cleave if Rend Dot isn't on the target and you have Rend talented
      simccleave,if=!dot.rend_dot.remains&talent.rend
    2. Cast Sweeping Strikes
      simcsweeping_strikes
    3. Cast Avatar
      simcavatar
    4. Cast Ravager if Colossus Smash is active on the target
      simcravager,if=debuff.colossus_smash.up
    5. Cast Execute if Sudden Death has exactly 2 stacks and Colossus Smash comes off cooldown within 2 s
      simcexecute,if=buff.sudden_death.stack=2&cooldown.colossus_smash.remains<2
    6. Cast Colossus Smash
      simccolossus_smash
    7. Cast Cleave if Collateral Damage has exactly 3 stacks
      simccleave,if=buff.collateral_damage.stack=3
    8. Cast Bladestorm
      simcbladestorm
    9. Cast Execute if Sudden Death has exactly 2 stacks
      simcexecute,if=buff.sudden_death.stack=2
    10. Cast Cleave
      simccleave
    11. Cast Heroic Strike if you don't have Fervor of Battle talented
      simcheroic_strike,if=!talent.fervor_of_battle
    12. Cast Overpower if you have Dreadnaught talented and Overpower has exactly 2 charges
      simcoverpower,if=talent.dreadnaught&charges=2
    13. Cast Execute if Sudden Death is active
      simcexecute,if=buff.sudden_death.up
    14. Cast Overpower if you have Dreadnaught talented
      simcoverpower,if=talent.dreadnaught
    15. Cast Execute
      simcexecute
    16. Cast Mortal Strike
      simcmortal_strike
    17. Cast Overpower if you don't have Dreadnaught talented
      simcoverpower,if=!talent.dreadnaught
    18. Cast Slam
      simcslam
    19. Cast Wrecking Throw
      simcwrecking_throw
    20. Cast Storm Bolt if Bladestorm is active
      simcstorm_bolt,if=buff.bladestorm.up
  19. Is it true that you have Slayer's Dominance talented and execute phase is true?Not set

    If so, switch to Slayer execute, and nothing below is checked

    target on the enemy with the lowest target's health
    simcrun_action_list,name=slayer_execute,target_if=min:target.health.pct,if=talent.slayers_dominance&variable.execute_phase

    Slayer execute16 lines

    1. Cast Sweeping Strikes if there are exactly 2 enemies
      simcsweeping_strikes,if=active_enemies=2
    2. Cast Cleave if Rend Dot has less than 2 s left on the target, or isn't on it and you don't have Bloodletting talented
      simccleave,if=dot.rend_dot.remains<2&!talent.bloodletting
    3. Cast Rend if Rend Dot has less than 2 s left on the target, or isn't on it and you don't have Bloodletting talented and you don't have Cleave talented
      simcrend,if=dot.rend_dot.remains<2&!talent.bloodletting&!talent.cleave
    4. Cast Avatar if Colossus Smash is active on the target or Colossus Smash has more than one global cooldown of cooldown left or the target dies within 20 s
      simcavatar,if=debuff.colossus_smash.up|cooldown.colossus_smash.remains>gcd|target.time_to_die<=20
    5. Cast Colossus Smash
      simccolossus_smash
    6. Cast Heroic Strike
      simcheroic_strike
    7. Cast Bladestorm if Colossus Smash is active on the target or Colossus Smash has more than 25 s of cooldown left or Avatar is active or Executioner's Precision has exactly 2 stacks
      simcbladestorm,if=debuff.colossus_smash.up|cooldown.colossus_smash.remains>25|buff.avatar.up|buff.executioners_precision.stack=2
    8. Cast Mortal Strike if Executioner's Precision has exactly 2 stacks
      simcmortal_strike,if=buff.executioners_precision.stack=2
    9. Cast Overpower if Opportunist has exactly 2 stacks and you have Opportunist talented
      simcoverpower,if=buff.opportunist.stack=2&talent.opportunist
    10. Cast Execute if Sudden Death is active and Executioner is active
      simcexecute,if=buff.sudden_death.up&buff.executioner.stack>0
    11. Cast Execute if you have more than 40 Rage
      simcexecute,if=rage>40
    12. Cast Cleave if Collateral Damage has exactly 3 stacks
      simccleave,if=buff.collateral_damage.stack=3
    13. Cast Overpower
      simcoverpower
    14. Cast Execute
      simcexecute
    15. Cast Wrecking Throw
      simcwrecking_throw
    16. Cast Storm Bolt if Bladestorm is active
      simcstorm_bolt,if=buff.bladestorm.up
  20. Is it true that you have Slayer's Dominance talented?Not set

    If so, switch to Slayer st, and nothing below is checked

    simcrun_action_list,name=slayer_st,if=talent.slayers_dominance

    Slayer st19 lines

    1. Cast Sweeping Strikes if there are exactly 2 enemies
      simcsweeping_strikes,if=active_enemies=2
    2. Cast Cleave if Rend Dot has at most one global cooldown left on the target, or isn't on it or (Colossus Smash comes off cooldown within 2 s and Rend Dot has at most 10 s left on the target, or isn't on it)
      simccleave,if=dot.rend_dot.remains<=gcd|cooldown.colossus_smash.remains<2&dot.rend_dot.remains<=10
    3. Cast Rend if you don't have Cleave talented and ((Rend Dot has at most one global cooldown left on the target, or isn't on it and there are fewer than 2 enemies) or (Colossus Smash comes off cooldown within 2 s and Rend Dot has at most 10 s left on the target, or isn't on it and there are fewer than 2 enemies))
      simcrend,if=!talent.cleave&(dot.rend_dot.remains<=gcd&active_enemies<2|cooldown.colossus_smash.remains<2&dot.rend_dot.remains<=10&active_enemies<2)
    4. Cast Avatar if Colossus Smash is active on the target or (Colossus Smash comes off cooldown within 10 s and Colossus Smash has more than one global cooldown of cooldown left)
      simcavatar,if=debuff.colossus_smash.up|cooldown.colossus_smash.remains<10&cooldown.colossus_smash.remains>gcd
    5. Cast Ravager if Colossus Smash comes off cooldown within one global cooldown
      simcravager,if=cooldown.colossus_smash.remains<=gcd
    6. Cast Execute if Sudden Death has exactly 2 stacks or (Bladestorm is off cooldown and Imminent Demise has fewer than 1 stack)
      simcexecute,if=buff.sudden_death.stack=2|cooldown.bladestorm.ready&buff.imminent_demise.stack<1
    7. Cast Colossus Smash if Sudden Death has fewer than 2 stacks
      simccolossus_smash,if=buff.sudden_death.stack<2
    8. Cast Bladestorm if Colossus Smash is active on the target or Avatar is active
      simcbladestorm,if=debuff.colossus_smash.up|buff.avatar.up
    9. Cast Heroic Strike
      simcheroic_strike
    10. Cast Overpower if Opportunist has exactly 2 stacks and you have Opportunist talented
      simcoverpower,if=buff.opportunist.stack=2&talent.opportunist
    11. Cast Cleave if Collateral Damage has exactly 3 stacks and there are exactly 2 enemies
      simccleave,if=buff.collateral_damage.stack=3&active_enemies=2
    12. Cast Mortal Strike
      simcmortal_strike
    13. Cast Execute if Sudden Death is active and Executioner is active
      simcexecute,if=buff.sudden_death.up&buff.executioner.up
    14. Cast Overpower
      simcoverpower
    15. Cast Cleave if there are exactly 2 enemies or Rend Dot has at most 5 s left on the target, or isn't on it
      simccleave,if=active_enemies=2|dot.rend_dot.remains<=5
    16. Cast Rend if you don't have Cleave talented and Rend Dot has at most 5 s left on the target, or isn't on it
      simcrend,if=!talent.cleave&dot.rend_dot.remains<=5
    17. Cast Slam
      simcslam
    18. Cast Wrecking Throw if there is a single enemy
      simcwrecking_throw,if=active_enemies=1
    19. Cast Storm Bolt if Bladestorm is active
      simcstorm_bolt,if=buff.bladestorm.up

Read from ActionPriorityLists/default/warrior_arms.simc in simulationcraft/simc at 1860cd1d5763, the commit this engine build runs.