Cogspark Works · Rotation
Elemental Shaman
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
- AoE (maybe)
- Single target (maybe)
Before the pull, done once before the fight starts (9 steps)
Before the pull9 lines
- Record your stats before the pull (sim bookkeeping)Snapshot raid buffed stats before combat begins and pre-potting is done.
simc
snapshot_stats - Cast Flametongue Weapon if you have Flametongue Weapon talented
simc
flametongue_weapon,if=talent.flametongue_weapon - Cast Lightning Shield
simc
lightning_shield - Cast Thunderstrike Ward
simc
thunderstrike_ward - Set trinket 1 buffs to true when the following holds, otherwise falseany of these:
- trinket 1 has an on-use effect that grants a stat buff
- trinket 1 is Funhouse Lens
simc
variable,name=trinket_1_buffs,value=(trinket.1.has_use_buff|trinket.1.is.funhouse_lens) - Set trinket 2 buffs to true when the following holds, otherwise falseany of these:
- trinket 2 has an on-use effect that grants a stat buff
- trinket 2 is Funhouse Lens
simc
variable,name=trinket_2_buffs,value=(trinket.2.has_use_buff|trinket.2.is.funhouse_lens) - Set trinket 1 special to true when the following holds, otherwise falseany of these:
- trinket 1 is Stormbound Emblem of Dazar
- trinket 1 is Hex Lords Dooming Idol
- trinket 1 is Font of Venomous Rage
simc
variable,name=trinket_1_special,value=(trinket.1.is.stormbound_emblem_of_dazar|trinket.1.is.hex_lords_dooming_idol|trinket.1.is.font_of_venomous_rage) - Set trinket 2 special to true when the following holds, otherwise falseany of these:
- trinket 2 is Stormbound Emblem of Dazar
- trinket 2 is Hex Lords Dooming Idol
- trinket 2 is Font of Venomous Rage
simc
variable,name=trinket_2_special,value=(trinket.2.is.stormbound_emblem_of_dazar|trinket.2.is.hex_lords_dooming_idol|trinket.2.is.font_of_venomous_rage) - Cast Stormkeeper
simc
stormkeeper
The main loop20 lines
- Cast Spiritwalker's Grace if the distance you still have to move is more than 6Only while movingEnable more movement.
simc
spiritwalkers_grace,moving=1,if=movement.distance>6 - Cast Wind ShearInterrupt of casts.
simc
wind_shear - Cast Blood Fury
simc
blood_fury - Cast Berserking
simc
berserking - Cast Fireblood
simc
fireblood - Cast Ancestral Call
simc
ancestral_call - Use Stormbound Emblem of Dazar if (Ascendance is off cooldown and (Stormkeeper has more than 15 s of cooldown left or Stormkeeper comes off cooldown within 2 s)) or the fight ends within 23 sSpecial buff trinkets
simc
use_item,name=stormbound_emblem_of_dazar,if=cooldown.ascendance.ready&(cooldown.stormkeeper.remains>15|cooldown.stormkeeper.remains<2)|fight_remains<23 - Use Hex Lords Dooming Idol if (Ascendance is off cooldown and Stormkeeper has more than 15 s of cooldown left) or the fight ends within 23 sUsed without waiting for the global cooldown
simc
use_item,name=hex_lords_dooming_idol,use_off_gcd=1,if=cooldown.ascendance.ready&cooldown.stormkeeper.remains>15|fight_remains<23 - Use your trinket 1 if trinket 1 special is false and trinket 1 buffs is true and (Ascendance has more than trinket 1's cooldown minus 5 s of cooldown left or (Ascendance is off cooldown and (Stormkeeper isn't active or Chain Lightning would hit 2 or more enemies)) or the fight ends within 21 s)Used without waiting for the global cooldownNormal buff trinkets, mimic Ascendance activation conditions
simc
use_item,slot=trinket1,use_off_gcd=1,if=!variable.trinket_1_special&variable.trinket_1_buffs&(cooldown.ascendance.remains>trinket.1.cooldown.duration-5|cooldown.ascendance.ready&(!buff.stormkeeper.up|spell_targets.chain_lightning>=2)|fight_remains<21) - Use your trinket 2 if trinket 2 special is false and trinket 2 buffs is true and (Ascendance has more than trinket 2's cooldown minus 5 s of cooldown left or (Ascendance is off cooldown and (Stormkeeper isn't active or Chain Lightning would hit 2 or more enemies)) or the fight ends within 21 s)Used without waiting for the global cooldown
simc
use_item,slot=trinket2,use_off_gcd=1,if=!variable.trinket_2_special&variable.trinket_2_buffs&(cooldown.ascendance.remains>trinket.2.cooldown.duration-5|cooldown.ascendance.ready&(!buff.stormkeeper.up|spell_targets.chain_lightning>=2)|fight_remains<21) - Use the item in your main hand slotUsed without waiting for the global cooldownNormal weapons
simc
use_item,slot=main_hand,use_off_gcd=1 - Use Font of Venomous Rage if (trinket 1 buffs is false and trinket 2 buffs is false and Ascendance isn't active) or (Ascendance isn't active and Ascendance is on cooldown) or the fight ends within 23 sSpecial dmg trinkets
simc
use_item,name=font_of_venomous_rage,if=!variable.trinket_1_buffs&!variable.trinket_2_buffs&!buff.ascendance.up|!buff.ascendance.up&!cooldown.ascendance.ready|fight_remains<23 - Use your trinket 1 if trinket 1 special is false and trinket 1 buffs is false and (Ascendance has more than 20 s of cooldown left or trinket 2 has more than 20 s of cooldown left)Used without waiting for the global cooldownDmg trinkets
simc
use_item,slot=trinket1,use_off_gcd=1,if=!variable.trinket_1_special&!variable.trinket_1_buffs&(cooldown.ascendance.remains>20|trinket.2.cooldown.remains>20) - Use your trinket 2 if trinket 2 special is false and trinket 2 buffs is false and (Ascendance has more than 20 s of cooldown left or trinket 1 has more than 20 s of cooldown left)Used without waiting for the global cooldown
simc
use_item,slot=trinket2,use_off_gcd=1,if=!variable.trinket_2_special&!variable.trinket_2_buffs&(cooldown.ascendance.remains>20|trinket.1.cooldown.remains>20) - Cast Lightning Shield if Lightning Shield isn't active
simc
lightning_shield,if=buff.lightning_shield.down - Cast Nature's Swiftness
simc
natures_swiftness - Get Power Infusion from an allyUse Power Infusion on Cooldown.
simc
invoke_external_buff,name=power_infusion - Drink a potion if Bloodlust is active or Ascendance is off cooldown or the fight ends within 31 s
simc
potion,if=buff.bloodlust.up|cooldown.ascendance.ready|fight_remains<31 Is it true that Chain Lightning would hit 3 or more enemies?Not set
If so, switch to AoE, and nothing below is checked
simc
run_action_list,name=aoe,if=spell_targets.chain_lightning>=3AoE22 lines
- Cast Stormkeeper if you have the 4-piece set bonus (mid2) or Ascendance has more than 10 s of cooldown left or Ascendance comes off cooldown within one global cooldown or the fight ends within 20 s--- 3+ TARGET ROTATION --- Stormkeeper on CD (always with MID2 set), unless sub 10s hold for Asc or the fight is about to end.
simc
stormkeeper,if=set_bonus.mid2_4pc|cooldown.ascendance.remains>10|cooldown.ascendance.remains<gcd|fight_remains<20 - Cast Ancestral Swiftness
simc
ancestral_swiftness - Cast Flame Shock if Master of the Elements isn't active and ((Flame Shock is missing from the target or due for a refresh and Ascendance has more than 5 s of cooldown left) or (Fire Elemental is active and Fire Elemental has less than 2 s left, or isn't active)) and you have Master of the Elements talented and you have Inferno Arc talented and Chain Lightning would hit exactly 3 enemies[3t] Apply Flame shock on 3t for MotE and Inferno arc.
simc
flame_shock,if=!buff.master_of_the_elements.up&((dot.flame_shock.refreshable&cooldown.ascendance.remains>5)|(buff.fire_elemental.up&buff.fire_elemental.remains<2))&talent.master_of_the_elements&talent.inferno_arc&spell_targets.chain_lightning=3 - Cast Voltaic Blaze if Master of the Elements isn't active and ((Flame Shock is missing from the target or due for a refresh and Ascendance has more than 5 s of cooldown left) or (Fire Elemental is active and Fire Elemental has less than 2 s left, or isn't active) or you have Purging Flames talented)Apply Voltaic blaze for Inferno arc or Purging flames.
simc
voltaic_blaze,if=!buff.master_of_the_elements.up&((dot.flame_shock.refreshable&cooldown.ascendance.remains>5)|(buff.fire_elemental.up&buff.fire_elemental.remains<2)|talent.purging_flames) - Cast Chain Lightning if Stormkeeper is active and you are more than (the smaller of the number of enemies Chain Lightning would hit and 5) times (2 plus (the smaller of the number of enemies Chain Lightning would hit and 5) plus 2) Maelstrom below maximum and you have Call of the Ancestors talented and you have the 4-piece set bonus (mid2)Spend SK stacks asap if you wont overcap (with MID s2 set)
simc
chain_lightning,if=buff.stormkeeper.up&maelstrom.deficit>(spell_targets.chain_lightning>?5)*(2+(spell_targets.chain_lightning>?5)+2)&talent.call_of_the_ancestors&set_bonus.mid2_4pc - Cast Ascendance if you have the 4-piece set bonus (mid2) or Stormkeeper has more than 15 s of cooldown left or the fight ends within 20 sAscendance on CD (always with MID2 set), unless SK can be sync'd with it.
simc
ascendance,if=set_bonus.mid2_4pc|cooldown.stormkeeper.remains>15|fight_remains<20 - Cast Elemental Blast if Tempest has fewer than 2 stacks and exactly 0 of these hold: Elemental Blast: Critical Strike is active; Elemental Blast: Haste is active; Elemental Blast: Mastery is active and you have Tempest talentedtarget on the enemy with the lowest time left on Lightning Rod on the target[SB] Elemental Blast if no buffs or at 3t, Earthquake to spread Lightning Rod otherwise
simc
elemental_blast,target_if=min:debuff.lightning_rod.remains,if=buff.tempest.stack<2&(buff.elemental_blast_critical_strike.up+buff.elemental_blast_haste.up+buff.elemental_blast_mastery.up=0)&talent.tempest - Cast Earthquake if Tempest has fewer than 2 stacks and
lightning_rodis less than the number of enemies and the number of enemies Chain Lightning would hit is at least 3 plus (1 if you have Elemental Blast talented, else 0) and (more than 0 of these hold: Elemental Blast: Critical Strike is active; Elemental Blast: Haste is active; Elemental Blast: Mastery is active or you don't have Elemental Blast talented) and you have Tempest talentedsimc
earthquake,if=buff.tempest.stack<2&lightning_rod<active_enemies&(spell_targets.chain_lightning>=3+talent.elemental_blast)&(buff.elemental_blast_critical_strike.up+buff.elemental_blast_haste.up+buff.elemental_blast_mastery.up>0|!talent.elemental_blast)&talent.tempest - Cast Earthquake if Call of the Ancestors is active or (the number of enemies Chain Lightning would hit is at least 3 plus (2 if you have Elemental Blast talented, else 0) and you have Call of the Ancestors talented)[FS] EQ with ancestors, EB (3 and 4t) - without
simc
earthquake,if=buff.call_of_the_ancestors.up|(spell_targets.chain_lightning>=3+2*talent.elemental_blast)&talent.call_of_the_ancestors - Cast Elemental Blast if Tempest has fewer than 2 stacks and the number of enemies Chain Lightning would hit is at most 3 plus (1 if you have Call of the Ancestors talented, else 0) and Call of the Ancestors isn't activetarget on the enemy with the lowest time left on Lightning Rod on the target
simc
elemental_blast,target_if=min:debuff.lightning_rod.remains,if=buff.tempest.stack<2&(spell_targets.chain_lightning<=3+talent.call_of_the_ancestors)&!buff.call_of_the_ancestors.up - Cast Lava Burst if Purging Flames is active and (Lava Surge is active or Voltaic Blaze comes off cooldown within 2 s)Spend Purging flames.
simc
lava_burst,if=buff.purging_flames.up&(buff.lava_surge.up|cooldown.voltaic_blaze.remains<2) - Cast Lava Burst if (Tempest is active or (you don't have Purging Flames talented and you have Call of the Ancestors talented)) and Lava Surge is active and you have Master of the Elements talented and Chain Lightning would hit exactly 3 enemies[3t] Spend Lava Surge procs to buff Tempest with MotE OR anything with Farseer (without PF specced).
simc
lava_burst,if=(buff.tempest.up|!talent.purging_flames&talent.call_of_the_ancestors)&buff.lava_surge.up&talent.master_of_the_elements&spell_targets.chain_lightning=3 - Cast Tempest if Master of the Elements is activetarget on the enemy with the lowest time left on Lightning Rod on the target[3t] Tempest if you have MotE.
simc
tempest,target_if=min:debuff.lightning_rod.remains,if=buff.master_of_the_elements.up - Cast Tempest if Stormkeeper has fewer than 4 stacks and Tempest has exactly 2 stackstarget on the enemy with the lowest time left on Lightning Rod on the target
simc
tempest,target_if=min:debuff.lightning_rod.remains,if=buff.stormkeeper.stack<4&buff.tempest.stack=2 - Cast Chain Lightning if Stormkeeper is active and you are more than (the smaller of the number of enemies Chain Lightning would hit and 5) times (2 plus (the smaller of the number of enemies Chain Lightning would hit and 5) plus 2) Maelstrom below maximum
simc
chain_lightning,if=buff.stormkeeper.up&maelstrom.deficit>(spell_targets.chain_lightning>?5)*(2+(spell_targets.chain_lightning>?5)+2) - Cast Earthquake if you don't have Elemental Blast talented and you are less than 15 plus (((1 if Stormkeeper is active, else 0) times (the smaller of the number of enemies Chain Lightning would hit and 5)) times (2 plus (the smaller of the number of enemies Chain Lightning would hit and 5))) Maelstrom below maximum
simc
earthquake,if=!talent.elemental_blast&maelstrom.deficit<15+(buff.stormkeeper.up*(spell_targets.chain_lightning>?5)*(2+(spell_targets.chain_lightning>?5))) - Cast Elemental Blast if you have Tempest talented
simc
elemental_blast,if=talent.tempest - Cast Tempesttarget on the enemy with the lowest time left on Lightning Rod on the target
simc
tempest,target_if=min:debuff.lightning_rod.remains - Cast Chain LightningFiller spell. Always available. Always the bottom line.
simc
chain_lightning - Cast Flame ShockOnly while moving
simc
flame_shock,moving=1 - Cast Voltaic BlazeOnly while moving
simc
voltaic_blaze,moving=1 - Cast Frost ShockOnly while moving
simc
frost_shock,moving=1
switch to Single target, and nothing below is checked
simc
run_action_list,name=single_targetSingle target31 lines
- Cast Stormkeeper if (Stormkeeper isn't active and Tempest isn't active and you have the 4-piece set bonus (mid2)) or (you don't have the 4-piece set bonus (mid2) and (Ascendance has more than 10 s of cooldown left or Ascendance comes off cooldown within one global cooldown or the fight ends within 20 s))--- 1 and 2 TARGET ROTATION --- Stormkeeper on CD (proc all 4p first if using MID2 4pc), unless sub 10s hold for Asc or the fight is about to end.
simc
stormkeeper,if=!buff.stormkeeper.up&!buff.tempest.up&set_bonus.mid2_4pc|!set_bonus.mid2_4pc&(cooldown.ascendance.remains>10|cooldown.ascendance.remains<gcd|fight_remains<20) - Cast Ancestral Swiftness
simc
ancestral_swiftness - Cast Lightning Bolt if you have the 4-piece set bonus (mid2) and Stormkeeper is active and Ascendance comes off cooldown within 2 global cooldowns and (Chain Lightning would hit exactly 1 enemy or you have Tempest talented)Prespend SK charges before going into Ascendance - Farseer only in 1t, SB in both 1t and 2t
simc
lightning_bolt,if=set_bonus.mid2_4pc&buff.stormkeeper.up&cooldown.ascendance.remains<2*gcd&(spell_targets.chain_lightning=1|talent.tempest) - Cast Flame Shock if Master of the Elements isn't active and Flame Shock is missing from the target or due for a refresh and Ascendance has more than 5 s of cooldown leftMaintain Flame shock, minor gain to refresh it when FE is about to fade on up to 2 targets.
simc
flame_shock,if=!buff.master_of_the_elements.up&dot.flame_shock.refreshable&cooldown.ascendance.remains>5 - Cast Flame Shock if Master of the Elements isn't active and Ascendance isn't active and Fire Elemental is active and Fire Elemental has less than (6 s times the number of enemies) minus 4 s left, or isn't activetarget on the enemy with the lowest time left on Flame Shock
simc
flame_shock,target_if=min:dot.flame_shock.remains,if=!buff.master_of_the_elements.up&!buff.ascendance.up&buff.fire_elemental.up&buff.fire_elemental.remains<6*active_enemies-4 - Cast Voltaic Blaze if Master of the Elements isn't active and ((Flame Shock is missing from the target or due for a refresh and Ascendance has more than 5 s of cooldown left) or (you have Purging Flames talented and Chain Lightning would hit exactly 2 enemies))Voltaic Blaze to maintain Flame shock and on cooldown to proc Purging Flames.
simc
voltaic_blaze,if=!buff.master_of_the_elements.up&(dot.flame_shock.refreshable&cooldown.ascendance.remains>5|talent.purging_flames&spell_targets.chain_lightning=2) - Cast Ascendance if you have the 4-piece set bonus (mid2) or Stormkeeper has more than 15 s of cooldown left or the fight ends within 20 sAscendance on CD (always with MID2 set), unless SK can be sync'd with it.
simc
ascendance,if=set_bonus.mid2_4pc|cooldown.stormkeeper.remains>15|fight_remains<20 - Cast Earthquake if Flowing Elements is active and Overcharge Tier is active and Call of the Ancestors has 3 or more stacks and Chain Lightning would hit exactly 2 enemiesConsume tier procs if you gona proc new one with next builder.
simc
earthquake,if=buff.flowing_elements.up&buff.overcharge_tier.up&buff.call_of_the_ancestors.stack>=3&spell_targets.chain_lightning=2 - Cast Elemental Blast if Flowing Elements is active and Overcharge Tier is active
simc
elemental_blast,if=buff.flowing_elements.up&buff.overcharge_tier.up - Cast Earthquake if Flowing Elements is active and Overcharge Tier is active and Call of the Ancestors is active and Chain Lightning would hit exactly 2 enemies
simc
earthquake,if=buff.flowing_elements.up&buff.overcharge_tier.up&buff.call_of_the_ancestors.up&spell_targets.chain_lightning=2 - Cast Earth Shock if Flowing Elements is active and Overcharge Tier is active
simc
earth_shock,if=buff.flowing_elements.up&buff.overcharge_tier.up - Cast Lava Burst if you have Master of the Elements talented and Master of the Elements isn't active and you are more than 15 Maelstrom below maximum and Lava Burst has more than 1.8 charges and (1 if (Storm Elemental isn't active or Wind Gust has exactly 4 stacks), else 0) plus (1 if you have Call of the Ancestors talented, else 0) is at least the number of enemies Chain Lightning would hitLava Burst to proc MotE if you are about to reach 2 charges and (1 target OR wind gust stacked for Farseer) or (1 target AND wind gust stacked for SB).
simc
lava_burst,if=talent.master_of_the_elements&!buff.master_of_the_elements.up&maelstrom.deficit>15&cooldown.lava_burst.charges_fractional>1.8&((!buff.storm_elemental.up|buff.wind_gust.stack=4)+talent.call_of_the_ancestors>=spell_targets.chain_lightning) - Cast Lava Burst if you have Master of the Elements talented and Master of the Elements isn't active and you are more than 15 Maelstrom below maximum and your Maelstrom is more than 52 minus ((5 if you have Eye of the Storm talented, else 0) times (1 plus (1 if you have Elemental Blast talented, else 0))) plus (30 if you have Elemental Blast talented, else 0)Lava Burst to proc MotE if you have enough maelstrom for a spender.
simc
lava_burst,if=talent.master_of_the_elements&!buff.master_of_the_elements.up&maelstrom.deficit>15&(maelstrom>52-5*talent.eye_of_the_storm*(1+talent.elemental_blast)+30*talent.elemental_blast) - Cast Lava Burst if you have Master of the Elements talented and Master of the Elements isn't active and you are more than 15 Maelstrom below maximum and your Maelstrom is more than 52 minus (5 if you have Eye of the Storm talented, else 0) and Call of the Ancestors has 3 or more stacks and Chain Lightning would hit exactly 2 enemies
simc
lava_burst,if=talent.master_of_the_elements&!buff.master_of_the_elements.up&maelstrom.deficit>15&(maelstrom>52-5*talent.eye_of_the_storm)&buff.call_of_the_ancestors.stack>=3&spell_targets.chain_lightning=2 - Cast Lava Burst if you don't have Master of the Elements talented and you are more than 15 Maelstrom below maximum and (Storm Elemental isn't active or Wind Gust has exactly 4 stacks) and (((Lava Burst has more than 1.8 charges or Call of the Ancestors isn't active) and (you have Molten Wrath talented or you have Purging Flames talented)) or Lava Surge is active)Lava Burst without MotE to prevent overcap (with any empowering talents) or with surge proc.
simc
lava_burst,if=!talent.master_of_the_elements&maelstrom.deficit>15&(!buff.storm_elemental.up|buff.wind_gust.stack=4)&((cooldown.lava_burst.charges_fractional>1.8|!buff.call_of_the_ancestors.up)&(talent.molten_wrath|talent.purging_flames)|buff.lava_surge.up) - Cast Lava Burst if Master of the Elements isn't active and you are more than 15 Maelstrom below maximum and Flowing Elements is active
simc
lava_burst,if=!buff.master_of_the_elements.up&maelstrom.deficit>15&buff.flowing_elements.up - Cast Lava Burst if Master of the Elements isn't active and you are more than 15 Maelstrom below maximum and Purging Flames is active and Voltaic Blaze comes off cooldown within 2 s and Flame Shock is on exactly 2 enemies
simc
lava_burst,if=!buff.master_of_the_elements.up&maelstrom.deficit>15&buff.purging_flames.up&cooldown.voltaic_blaze.remains<2&active_dot.flame_shock=2 - Cast Tempest if Master of the Elements is active or you don't have Master of the Elements talented[SB] Tempest and Lightning Bolt with SK if you have MotE.
simc
tempest,if=buff.master_of_the_elements.up|!talent.master_of_the_elements - Cast Lightning Bolt if Stormkeeper is active and Master of the Elements is active and you have Tempest talented
simc
lightning_bolt,if=buff.stormkeeper.up&buff.master_of_the_elements.up&talent.tempest - Cast Earthquake if Call of the Ancestors has 3 or more stacks and (Master of the Elements is active or you don't have Master of the Elements talented or you are less than 15 Maelstrom below maximum) and Chain Lightning would hit exactly 2 enemies
simc
earthquake,if=buff.call_of_the_ancestors.stack>=3&(buff.master_of_the_elements.up|!talent.master_of_the_elements|maelstrom.deficit<15)&spell_targets.chain_lightning=2 - Cast Elemental Blast if Master of the Elements is active or you are less than 15 Maelstrom below maximumtarget on the enemy with the lowest time left on Lightning Rod on the target
simc
elemental_blast,target_if=min:debuff.lightning_rod.remains,if=buff.master_of_the_elements.up|maelstrom.deficit<15 - Cast Earthquake if (Master of the Elements is active or you don't have Master of the Elements talented or you are less than 15 Maelstrom below maximum) and Call of the Ancestors is active and you don't have Elemental Blast talented and Chain Lightning would hit exactly 2 enemies
simc
earthquake,if=(buff.master_of_the_elements.up|!talent.master_of_the_elements|maelstrom.deficit<15)&buff.call_of_the_ancestors.up&!talent.elemental_blast&spell_targets.chain_lightning=2 - Cast Earth Shock if Master of the Elements is active or you are less than 15 Maelstrom below maximumtarget on the enemy with the lowest time left on Lightning Rod on the target
simc
earth_shock,target_if=min:debuff.lightning_rod.remains,if=buff.master_of_the_elements.up|maelstrom.deficit<15 - Cast Flame Shock if Master of the Elements is active and Flame Shock is missing from the target or due for a refreshtarget on the enemy with the lowest time left on Flame ShockConsume spare MotE to buff Flame Shock, mostly on off-targets.
simc
flame_shock,target_if=min:dot.flame_shock.remains,if=buff.master_of_the_elements.up&dot.flame_shock.refreshable - Cast Voltaic Blaze if you have Crackling Fury talented and Ascendance isn't active
simc
voltaic_blaze,if=talent.crackling_fury&!buff.ascendance.up - Cast Tempest
simc
tempest - Cast Chain Lightning if Chain Lightning would hit exactly 2 enemiesFiller spell. Always available. Always the bottom line.
simc
chain_lightning,if=spell_targets.chain_lightning=2 - Cast Lightning Bolt
simc
lightning_bolt - Cast Flame ShockOnly while moving
simc
flame_shock,moving=1 - Cast Voltaic BlazeOnly while moving
simc
voltaic_blaze,moving=1 - Cast Frost ShockOnly while moving
simc
frost_shock,moving=1
Read from ActionPriorityLists/default/shaman_elemental.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 Flametongue Weapon if you have Flametongue Weapon talented
simc
flametongue_weapon,if=talent.flametongue_weapon
The main loop2 lines
go through Cooldowns, then carry on below if nothing there fits
simc
call_action_list,name=cooldownsCooldowns7 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 Ascendance
simc
ascendance
go through Assisted Combat, then carry on below if nothing there fits
simc
call_action_list,name=assisted_combatAssisted Combat29 lines
- Cast Lightning Shield if Lightning Shield isn't activeThis is the default action priority list from the game's Assisted Combat system.
simc
lightning_shield,if=buff.lightning_shield.down - Cast Thunderstrike Ward if Thunderstrike Ward isn't active
simc
thunderstrike_ward,if=buff.thunderstrike_ward.down - Cast AscendanceThis is for Blizzard automation and is not included in the game's Assisted Combat system.
simc
ascendance - Cast Chain Lightning if there are more than 3 enemies and Stormkeeper is active and Stormkeeper has at most 3 s left, or isn't active
simc
chain_lightning,if=active_enemies>3&buff.stormkeeper.up&buff.stormkeeper.remains<=3 - Cast Tempest if Stormkeeper is active and Stormkeeper has at most 3 s left, or isn't active
simc
tempest,if=buff.stormkeeper.up&buff.stormkeeper.remains<=3 - Cast Lightning Bolt if Stormkeeper is active and Stormkeeper has at most 3 s left, or isn't active
simc
lightning_bolt,if=buff.stormkeeper.up&buff.stormkeeper.remains<=3 - Cast Flame Shock if you have Voltaic Blaze talented and there are more than 2 enemies and you don't have Purging Flames talented and Flame Shock isn't on the target
simc
flame_shock,if=talent.voltaic_blaze&active_enemies>2&!talent.purging_flames&!dot.flame_shock.ticking - Cast Flame Shock if you have Voltaic Blaze talented and there are more than 2 enemies and you have Purging Flames talented and Purging Flames isn't active
simc
flame_shock,if=talent.voltaic_blaze&active_enemies>2&talent.purging_flames&buff.purging_flames.down - Cast Stormkeeper if Stormkeeper isn't active
simc
stormkeeper,if=buff.stormkeeper.down - Cast Flame Shock if Flame Shock isn't on the target and there are 2 or fewer enemies
simc
flame_shock,if=!dot.flame_shock.ticking&active_enemies<=2 - Cast Lava Burst if you have Master of the Elements talented and Master of the Elements isn't active and Flame Shock is on the target and there are 2 or fewer enemies
simc
lava_burst,if=talent.master_of_the_elements&buff.master_of_the_elements.down&dot.flame_shock.ticking&active_enemies<=2 - Cast Earthquake if there are more than 3 enemies
simc
earthquake,if=active_enemies>3&1 - Cast Earthquake if there are more than 3 enemies
simc
earthquake,if=active_enemies>3&1 - Cast Ancestral Swiftness if you can afford Elemental Blast and Elemental Blast is off cooldown
simc
ancestral_swiftness,if=action.elemental_blast.cost_affordable&cooldown.elemental_blast.ready - Cast Elemental Blast
simc
elemental_blast - Cast Earth Shock
simc
earth_shock - Cast Lava Burst if there are more than 2 enemies and Purging Flames is active
simc
lava_burst,if=active_enemies>2&buff.purging_flames.up - Cast Chain Lightning if Stormkeeper is active and there are more than 3 enemies
simc
chain_lightning,if=buff.stormkeeper.up&active_enemies>3 - Cast Tempest if Stormkeeper is active
simc
tempest,if=buff.stormkeeper.up - Cast Lightning Bolt if Stormkeeper is active
simc
lightning_bolt,if=buff.stormkeeper.up - Cast Ancestral Swiftness if there are more than 3 enemies and Chain Lightning is off cooldown
simc
ancestral_swiftness,if=active_enemies>3&cooldown.chain_lightning.ready - Cast Chain Lightning if there are more than 3 enemies
simc
chain_lightning,if=active_enemies>3,cooldown_allow_casting_success=1 - Cast Ancestral Swiftness if Lava Burst is off cooldown
simc
ancestral_swiftness,if=cooldown.lava_burst.ready - Cast Lava Burst if Lava Burst has 2 or more charges
simc
lava_burst,if=charges>=2,cooldown_allow_casting_success=1 - Cast Lava Burst if Master of the Elements isn't active and you have Master of the Elements talented
simc
lava_burst,if=buff.master_of_the_elements.down&talent.master_of_the_elements - Cast Lava Burst if you don't have Master of the Elements talented
simc
lava_burst,if=!talent.master_of_the_elements - Cast Tempest
simc
tempest,cooldown_allow_casting_success=1 - Cast Lightning Bolt
simc
lightning_bolt,cooldown_allow_casting_success=1 - Cast Lava Burst
simc
lava_burst
Read from ActionPriorityLists/assisted_combat/shaman_elemental.simc in simulationcraft/simc at 1860cd1d5763, the commit this engine build runs.