Cogspark Works · Rotation
Arcane Mage
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
- Spellslinger (maybe)
- Sunfury (maybe)
Before the pull, done once before the fight starts (13 steps)
Before the pull13 lines
- Cast Arcane Intellect
simc
arcane_intellect - Set aoe count to 2 plus (3 if you have Spellfire Spheres talented, else 0)
simc
variable,name=aoe_count,op=set,value=2+(3*talent.spellfire_spheres) - Set 20ssteroid trinket equipped to true when the following holds, otherwise falseany of these:
- you have Signet of the Priory equipped
- you have Incorporeal Essencegorger equipped
- you have Sealed Chaos Urn equipped
- you have Hex Lords Dooming Idol equipped
simc
variable,name=20ssteroid_trinket_equipped,op=set,value=equipped.signet_of_the_priory|equipped.incorporeal_essencegorger|equipped.sealed_chaos_urn|equipped.hex_lords_dooming_idol - Set 15ssteroid trinket equipped to true when the following holds, otherwise falseany of these:
- you have Lily of the Eternal Weave equipped
- you have Sunblood Amethyst equipped
- you have Astral Gladiators Badge of Ferocity equipped
- you have Arazs Ritual Forge equipped
- you have Freightrunners Flask equipped
- you have Emberwing Feather equipped
- you have Vaelgors Final Stare equipped
- you have Galactic Gladiators Badge of Ferocity equipped
- you have Vile Vial of Volatile Venom equipped
- you have Venomous Gladiators Badge of Ferocity equipped
simc
variable,name=15ssteroid_trinket_equipped,op=set,value=equipped.lily_of_the_eternal_weave|equipped.sunblood_amethyst|equipped.astral_gladiators_badge_of_ferocity|equipped.arazs_ritual_forge|equipped.freightrunners_flask|equipped.emberwing_feather|equipped.vaelgors_final_stare|equipped.galactic_gladiators_badge_of_ferocity|equipped.vile_vial_of_volatile_venom|equipped.venomous_gladiators_badge_of_ferocity - Set 12ssteroid trinket equipped to true when the following holds, otherwise falseany of these:
- you have Nevermelting Ice Crystal equipped
- you have Ever Collapsing Void Fissure equipped
simc
variable,name=12ssteroid_trinket_equipped,op=set,value=equipped.nevermelting_ice_crystal|equipped.ever_collapsing_void_fissure - Set steroid trinket equipped to true when the following holds, otherwise falseany of these:
- you have Lily of the Eternal Weave equipped
- you have Sunblood Amethyst equipped
- you have Astral Gladiators Badge of Ferocity equipped
- you have Arazs Ritual Forge equipped
- you have Freightrunners Flask equipped
- you have Emberwing Feather equipped
- you have Vaelgors Final Stare equipped
- you have Galactic Gladiators Badge of Ferocity equipped
- you have Nevermelting Ice Crystal equipped
- you have Ever Collapsing Void Fissure equipped
- you have Signet of the Priory equipped
- you have Incorporeal Essencegorger equipped
- you have Sealed Chaos Urn equipped
- you have Venomous Gladiators Badge of Ferocity equipped
- you have Vile Vial of Volatile Venom equipped
- you have Stormbound Emblem of Dazar equipped
- you have Hex Lords Dooming Idol equipped
simc
variable,name=steroid_trinket_equipped,op=set,value=equipped.lily_of_the_eternal_weave|equipped.sunblood_amethyst|equipped.astral_gladiators_badge_of_ferocity|equipped.arazs_ritual_forge|equipped.freightrunners_flask|equipped.emberwing_feather|equipped.vaelgors_final_stare|equipped.galactic_gladiators_badge_of_ferocity|equipped.nevermelting_ice_crystal|equipped.ever_collapsing_void_fissure|equipped.signet_of_the_priory|equipped.incorporeal_essencegorger|equipped.sealed_chaos_urn|equipped.venomous_gladiators_badge_of_ferocity|equipped.vile_vial_of_volatile_venom|equipped.stormbound_emblem_of_dazar|equipped.hex_lords_dooming_idol - Set nonsteroid trinket equipped to true when the following holds, otherwise falseany of these:
- you have Mereldars Toll equipped
- you have Perfidious Projector equipped
- you have Chaotic Nethergate equipped
- you have Wraps of Cosmic Madness equipped
- you have Astalors Anguish Agitator equipped
- you have Sethraliss Defiled Relic equipped
- you have Vexhuls Everflowing Gland equipped
- you have Font of Venomous Rage equipped
- you have Ophidian Bone Whistle equipped
- you have Spiritrending Poison equipped
simc
variable,name=nonsteroid_trinket_equipped,op=set,value=equipped.mereldars_toll|equipped.perfidious_projector|equipped.chaotic_nethergate|equipped.wraps_of_cosmic_madness|equipped.astalors_anguish_agitator|equipped.sethraliss_defiled_relic|equipped.vexhuls_everflowing_gland|equipped.font_of_venomous_rage|equipped.ophidian_bone_whistle|equipped.spiritrending_poison - Set hex double on use to true when the following holds, otherwise falseall of these:
- any of these:
- you have Lily of the Eternal Weave equipped
- you have Sunblood Amethyst equipped
- you have Astral Gladiators Badge of Ferocity equipped
- you have Arazs Ritual Forge equipped
- you have Freightrunners Flask equipped
- you have Emberwing Feather equipped
- you have Vaelgors Final Stare equipped
- you have Galactic Gladiators Badge of Ferocity equipped
- you have Nevermelting Ice Crystal equipped
- you have Ever Collapsing Void Fissure equipped
- you have Signet of the Priory equipped
- you have Incorporeal Essencegorger equipped
- you have Sealed Chaos Urn equipped
- you have Venomous Gladiators Badge of Ferocity equipped
- you have Vile Vial of Volatile Venom equipped
- you have Stormbound Emblem of Dazar equipped
- you have Hex Lords Dooming Idol equipped
simc
variable,name=hex_double_on_use,op=set,value=(equipped.lily_of_the_eternal_weave|equipped.sunblood_amethyst|equipped.astral_gladiators_badge_of_ferocity|equipped.arazs_ritual_forge|equipped.freightrunners_flask|equipped.emberwing_feather|equipped.vaelgors_final_stare|equipped.galactic_gladiators_badge_of_ferocity|equipped.nevermelting_ice_crystal|equipped.ever_collapsing_void_fissure|equipped.signet_of_the_priory|equipped.incorporeal_essencegorger|equipped.sealed_chaos_urn|equipped.venomous_gladiators_badge_of_ferocity|equipped.vile_vial_of_volatile_venom|equipped.stormbound_emblem_of_dazar)&equipped.hex_lords_dooming_idol - any of these:
- Record your stats before the pull (sim bookkeeping)
simc
snapshot_stats - Cast Mirror Image
simc
mirror_image - Drink a potion if you have Spellfire Spheres talented
simc
potion,if=talent.spellfire_spheres - Cast Arcane Surge if you have Spellfire Spheres talented
simc
arcane_surge,if=talent.spellfire_spheres - Cast Arcane Blast
simc
arcane_blast
The main loop17 lines
- Cast Counterspell
simc
counterspell - Get Power Infusion from an ally if (Arcane Surge is active and Touch of the Magi is active on the target) or the fight ends within 16 s
simc
invoke_external_buff,name=power_infusion,if=(buff.arcane_surge.up&debuff.touch_of_the_magi.up)|(fight_remains<16) - Drink a potion if Arcane Surge is off cooldown or the fight ends within 35 s
simc
potion,if=cooldown.arcane_surge.ready|fight_remains<35 - Cast Berserking if (Arcane Surge is active and Touch of the Magi is active on the target) or the fight ends within 13 s
simc
berserking,if=(buff.arcane_surge.up&debuff.touch_of_the_magi.up)|(fight_remains<13) - Cast Blood Fury if (Arcane Surge is active and Touch of the Magi is active on the target) or the fight ends within 9 s
simc
blood_fury,if=(buff.arcane_surge.up&debuff.touch_of_the_magi.up)|(fight_remains<9) - Cast Fireblood if (Arcane Surge is active and Touch of the Magi is active on the target) or the fight ends within 16 s
simc
fireblood,if=(buff.arcane_surge.up&debuff.touch_of_the_magi.up)|(fight_remains<16) - Cast Ancestral Call if (Arcane Surge is active and Touch of the Magi is active on the target) or the fight ends within 16 s
simc
ancestral_call,if=(buff.arcane_surge.up&debuff.touch_of_the_magi.up)|(fight_remains<16) - Use Font of Venomous Rage if (((Arcane Surge isn't active and Arcane Soul isn't active and Touch of the Magi isn't active on the target) or (your potion isn't Liquid Luster and less than 5 s into the fight)) and (more than 25 s into the fight or steroid trinket equipped is false or you have Hex Lords Dooming Idol equipped)) or the fight ends within 30 s
simc
use_item,name=font_of_venomous_rage,if=((buff.arcane_surge.down&buff.arcane_soul.down&debuff.touch_of_the_magi.down)|(!potion.liquid_luster&time<5))&(time>25|!variable.steroid_trinket_equipped|equipped.hex_lords_dooming_idol)|fight_remains<30 - Use Hex Lords Dooming Idol if (the stacks of Hex Lord's Doom is more than 24 minus (15 if you have Vile Vial of Volatile Venom equipped, else 0) and (Arcane Surge is off cooldown or Arcane Surge is active) and hex double on use is true) or ((Arcane Surge is off cooldown or Arcane Surge is active) and hex double on use is false)
simc
use_item,name=hex_lords_dooming_idol,if=(buff.hex_lords_doom.stack>(24-(15*equipped.vile_vial_of_volatile_venom))&(cooldown.arcane_surge.ready|buff.arcane_surge.up)&variable.hex_double_on_use)|((cooldown.arcane_surge.ready|buff.arcane_surge.up)&!variable.hex_double_on_use) - Use Stormbound Emblem of Dazar if Arcane Surge comes off cooldown within 2 s or Arcane Surge is off cooldown or the fight ends within 22 s
simc
use_item,name=stormbound_emblem_of_dazar,if=(cooldown.arcane_surge.remains<2)|cooldown.arcane_surge.ready|(fight_remains<22) - Use your trinkets if (Arcane Surge is active and ((12ssteroid trinket equipped is true and Touch of the Magi is active on the target) or 15ssteroid trinket equipped is true)) or (Arcane Surge is off cooldown and 20ssteroid trinket equipped is true) or (the fight ends within 13 s and 12ssteroid trinket equipped is true) or (the fight ends within 16 s and 15ssteroid trinket equipped is true) or (the fight ends within 21 s and 20ssteroid trinket equipped is true) or (nonsteroid trinket equipped is true and ((Arcane Surge isn't active and Arcane Surge has more than 20 s of cooldown left) or steroid trinket equipped is false)) or the fight ends within (20 s times steroid trinket equipped) plus (20 s times nonsteroid trinket equipped) plus (10 if you have Hex Lords Dooming Idol equipped, else 0)
simc
use_items,if=((buff.arcane_surge.up&((variable.12ssteroid_trinket_equipped&debuff.touch_of_the_magi.up)|variable.15ssteroid_trinket_equipped))|(cooldown.arcane_surge.ready&variable.20ssteroid_trinket_equipped))|(fight_remains<13&variable.12ssteroid_trinket_equipped)|(fight_remains<16&variable.15ssteroid_trinket_equipped)|(fight_remains<21&variable.20ssteroid_trinket_equipped)|(variable.nonsteroid_trinket_equipped&((buff.arcane_surge.down&cooldown.arcane_surge.remains>20)|!variable.steroid_trinket_equipped))|fight_remains<((20*variable.steroid_trinket_equipped)+(20*variable.nonsteroid_trinket_equipped)+(10*equipped.hex_lords_dooming_idol)) - Use Hex Lords Dooming Idol if the fight ends within 40 s plus (3 s times nonsteroid trinket equipped) plus (20 s times hex double on use) minus (15 if you have Vile Vial of Volatile Venom equipped, else 0)
simc
use_item,name=hex_lords_dooming_idol,if=(fight_remains<(40+(3*variable.nonsteroid_trinket_equipped)+(20*variable.hex_double_on_use)-(15*equipped.vile_vial_of_volatile_venom))) - Cast Arcane Barrage if the fight ends within 2 global cooldowns and Arcane Charge has exactly 4 stacks
simc
arcane_barrage,if=fight_remains<gcd.max*2&buff.arcane_charge.stack=4 go through Cooldowns, then carry on below if nothing there fits
simc
call_action_list,name=cooldownsCooldowns6 lines
- Cast Arcane Orb if you have Splintering Sorcery talentedAt most once every 999 s
simc
arcane_orb,if=talent.splintering_sorcery,line_cd=999 - Cast Touch of the Magi if (your last spell on the global cooldown was Prismatic Bolt or your last spell on the global cooldown was Arcane Barrage or (Arcane Surge is active and Arcane Surge has less than 12 s left, or isn't active)) and (Arcane Surge is active or Arcane Surge has more than 30 s of cooldown left)Used without waiting for the global cooldown
simc
touch_of_the_magi,use_off_gcd=1,if=(prev_gcd.1.prismatic_bolt|prev_gcd.1.arcane_barrage|(buff.arcane_surge.up&buff.arcane_surge.remains<12))&(buff.arcane_surge.up|cooldown.arcane_surge.remains>30) - Cast Arcane Surge if Lustrous Gleam has 2 or more stacks or Lustrous Gleam isn't active
simc
arcane_surge,if=buff.lustrous_gleam.stack>=2|buff.lustrous_gleam.down - Stop what you are casting if you are channeling Evocation and your Mana is at or above 95%
simc
cancel_action,if=action.evocation.channeling&mana.pct>=95 - Cast Evocation if your Mana is below 10% and Arcane Surge isn't active and Touch of the Magi isn't active on the target and Arcane Surge has more than 10 s of cooldown left
simc
evocation,if=mana.pct<10&buff.arcane_surge.down&debuff.touch_of_the_magi.down&cooldown.arcane_surge.remains>10 - Cast Presence of Mind if Arcane Charge has fewer than 1 stack and Prismatic Bolt isn't active and Arcane Orb is on cooldown and Arcane Pulse is on cooldown and Touch of the Magi is on cooldown and (Clearcasting isn't active, or only just appeared or you don't have High Voltage talented) and your last spell on the global cooldown was Arcane BarrageUsed without waiting for the global cooldown
simc
presence_of_mind,use_off_gcd=1,if=buff.arcane_charge.stack<1&!buff.prismatic_bolt.up&!cooldown.arcane_orb.ready&!cooldown.arcane_pulse.ready&!cooldown.touch_of_the_magi.ready&(buff.clearcasting.react=0|!talent.high_voltage)&prev_gcd.1.arcane_barrage
Is it true that you have Splintering Sorcery talented?Not set
If so, go through Spellslinger, then carry on below if nothing there fits
simc
call_action_list,name=spellslinger,if=talent.splintering_sorceryIs it true that you don't have Splintering Sorcery talented?Not set
If so, go through Sunfury, then carry on below if nothing there fits
simc
call_action_list,name=sunfury,if=!talent.splintering_sorcery- Cast Arcane Barrage if you have Spellfire Spheres talented and Arcane Surge isn't active
simc
arcane_barrage,if=talent.spellfire_spheres&!buff.arcane_surge.up
Read from ActionPriorityLists/default/mage_arcane.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 (1 steps)
Before the pull1 line
- Record your stats before the pull (sim bookkeeping)
simc
snapshot_stats
The main loop2 lines
go through Cooldowns, then carry on below if nothing there fits
simc
call_action_list,name=cooldownsCooldowns6 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
go through Assisted Combat, then carry on below if nothing there fits
simc
call_action_list,name=assisted_combatAssisted Combat19 lines
- Cast Arcane Intellect if Arcane Intellect isn't activeThis is the default action priority list from the game's Assisted Combat system.
simc
arcane_intellect,if=aura.arcane_intellect.down - Cast Arcane Barrage if Arcane Charge has 4 or more stacks and you have Spellfire Salvo talented and Arcane Salvo has 22 or more stacks
simc
arcane_barrage,if=buff.arcane_charge.stack>=4&talent.spellfire_salvo&buff.arcane_salvo.stack>=22 - Cast Arcane Barrage if Arcane Charge has 4 or more stacks and you don't have Spellfire Salvo talented and Arcane Salvo has 17 or more stacks
simc
arcane_barrage,if=buff.arcane_charge.stack>=4&!talent.spellfire_salvo&buff.arcane_salvo.stack>=17 - Cast Touch of the Magi if Arcane Blast is off cooldown and Touch of the Magi isn't active on the target
simc
touch_of_the_magi,if=cooldown.arcane_blast.ready&debuff.touch_of_the_magi.down - Cast Arcane Barrage if Arcane Soul is active
simc
arcane_barrage,if=buff.arcane_soul.up - Cast Arcane SurgeThis is for Blizzard automation and is not included in the game's Assisted Combat system.
simc
arcane_surge - Cast Arcane Missiles if Overpowered Missiles is active
simc
arcane_missiles,if=buff.overpowered_missiles.up - Cast Arcane Orb if you have Orb Mastery talented and Clearcasting is active
simc
arcane_orb,if=talent.orb_mastery&buff.clearcasting.up - Cast Arcane Orb if Arcane Charge has 1 or fewer stacks and there are more than 2 enemies and you don't have Orb Mastery talented
simc
arcane_orb,if=buff.arcane_charge.stack<=1&active_enemies>2&!talent.orb_mastery - Cast Arcane Orb if Arcane Charge has 1 or fewer stacks and you don't have Orb Mastery talented
simc
arcane_orb,if=buff.arcane_charge.stack<=1&!talent.orb_mastery - Cast Arcane Missiles if Clearcasting is active and you have High Voltage talented
simc
arcane_missiles,if=buff.clearcasting.up&talent.high_voltage - Cast Arcane Missiles if Clearcasting is active and there are 2 or fewer enemies
simc
arcane_missiles,if=buff.clearcasting.up&active_enemies<=2,cooldown_allow_casting_success=1 - Cast Evocation if your Mana is at or below 20% and Arcane Surge isn't active
simc
evocation,if=mana.pct<=20&buff.arcane_surge.down - Cast Prismatic Bolt if Prismatic Bolt is active
simc
prismatic_bolt,if=buff.prismatic_bolt.up - Cast Arcane Barrage if your Mana is at or below 10% and Arcane Surge isn't active
simc
arcane_barrage,if=mana.pct<=10&buff.arcane_surge.down - Cast Arcane Pulse if you have Arcane Pulse talented and there are more than 3 enemies
simc
arcane_pulse,if=talent.arcane_pulse&active_enemies>3,cooldown_allow_casting_success=1 - Cast Arcane Pulse if there are more than 3 enemies and you don't have Amplification talented
simc
arcane_pulse,if=active_enemies>3&!talent.amplification - Cast Arcane Blast
simc
arcane_blast,cooldown_allow_casting_success=1 - Cast Arcane Barrage
simc
arcane_barrage
Read from ActionPriorityLists/assisted_combat/mage_arcane.simc in simulationcraft/simc at 1860cd1d5763, the commit this engine build runs.