Elemental Shaman
PvE guide, updated for Patch 12.1.5
DPS Rotation & Cooldowns
How to play Elemental Shaman in each rotation style: the full rotation SimulationCraft sims play by default, and the game’s Assisted Highlight and One Button rotations beside it.
Rotation style comparison
How Elemental Shaman’s DPS compares when using the game’s assisted modes instead of the full rotation, based on Single Target simulations.
- Full rotationBaseline
- Assisted Highlight-6.6%
- One Button-11.3%
The full rotation is the one SimulationCraft’s sims play by default. Its priority list is SimC’s own for the spec, read here for one build and one kind of fight.
Rotation
Beta16 abilities- 1Spiritwalker's Grace
- 2Wind ShearWhen ready
- 3Racial abilityWhen ready
- 4Lightning Shield
- 5Nature's SwiftnessWhen ready
- 6Stormkeeper
- 7Ancestral SwiftnessWhen ready
- 8Lightning BoltWhen ready
- 9Flame Shock
- 10Voltaic Blaze
- 11Ascendance
- 12Elemental Blast
- 13Earth Shock
- 14Lava Burst
- 15TempestWhen ready
- 16Frost Shock
Every step also needs the ability off cooldown and affordable. Range checks are left out. A blank Targets cell means any number of targets.
Before the pull
Things to do before entering combat.
Cooldowns
When each cooldown was used across the sample fight, so you can see how often each comes back and which ones line up.
Sample opener
One simulated fight from the start, played by this list on the profile in the Gear section with the guide’s Single target build, whichever build the list above is read for. Procs and timing change the order from fight to fight, so use it to get a feel for the start rather than as a script.
The full priority list
simc@ff0d07fEverything above is read from this SimulationCraft list, including the steps the page hides (the potion and on-use items) and the branches your build and fight leave out.
# This default action priority list is automatically created based on your character. # It is a attempt to provide you with a action list that is both simple and practicable, # while resulting in a meaningful and good simulation. It may not result in the absolutely highest possible dps. # Feel free to edit, adapt and improve it to your own needs. # SimulationCraft is always looking for updates and improvements to the default action lists. # Executed before combat begins. Accepts non-harmful actions only. # Snapshot raid buffed stats before combat begins and pre-potting is done. actions.precombat=snapshot_stats actions.precombat+=/flametongue_weapon,if=talent.flametongue_weapon actions.precombat+=/lightning_shield actions.precombat+=/thunderstrike_ward actions.precombat+=/variable,name=trinket_1_buffs,value=(trinket.1.has_use_buff|trinket.1.is.funhouse_lens) actions.precombat+=/variable,name=trinket_2_buffs,value=(trinket.2.has_use_buff|trinket.2.is.funhouse_lens) actions.precombat+=/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) actions.precombat+=/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) actions.precombat+=/stormkeeper # Executed every time the actor is available. # Enable more movement. actions=spiritwalkers_grace,moving=1,if=movement.distance>6 # Interrupt of casts. actions+=/wind_shear actions+=/blood_fury actions+=/berserking actions+=/fireblood actions+=/ancestral_call # Special buff trinkets actions+=/use_item,name=stormbound_emblem_of_dazar,if=cooldown.ascendance.ready&(cooldown.stormkeeper.remains>15|cooldown.stormkeeper.remains<2)|fight_remains<23 actions+=/use_item,name=hex_lords_dooming_idol,use_off_gcd=1,if=cooldown.ascendance.ready&cooldown.stormkeeper.remains>15|fight_remains<23 # Normal buff trinkets, mimic Ascendance activation conditions actions+=/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) actions+=/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) # Normal weapons actions+=/use_item,slot=main_hand,use_off_gcd=1 # Special dmg trinkets actions+=/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 # Dmg trinkets actions+=/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) actions+=/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) actions+=/lightning_shield,if=buff.lightning_shield.down actions+=/natures_swiftness # Use Power Infusion on Cooldown. actions+=/invoke_external_buff,name=power_infusion actions+=/potion,if=buff.bloodlust.up|cooldown.ascendance.ready|fight_remains<31 actions+=/run_action_list,name=aoe,if=spell_targets.chain_lightning>=3 actions+=/run_action_list,name=single_target # --- 3+ TARGET ROTATION --- Stormkeeper on CD (always with MID2 set), unless sub 10s hold for Asc or the fight is about to end. actions.aoe=stormkeeper,if=set_bonus.mid2_4pc|cooldown.ascendance.remains>10|cooldown.ascendance.remains<gcd|fight_remains<20 actions.aoe+=/ancestral_swiftness # [3t] Apply Flame shock on 3t for MotE and Inferno arc. actions.aoe+=/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 # Apply Voltaic blaze for Inferno arc or Purging flames. actions.aoe+=/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) # Spend SK stacks asap if you wont overcap (with MID s2 set) actions.aoe+=/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 # Ascendance on CD (always with MID2 set), unless SK can be sync'd with it. actions.aoe+=/ascendance,if=set_bonus.mid2_4pc|cooldown.stormkeeper.remains>15|fight_remains<20 # [SB] Elemental Blast if no buffs or at 3t, Earthquake to spread Lightning Rod otherwise actions.aoe+=/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 actions.aoe+=/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 # [FS] EQ with ancestors, EB (3 and 4t) - without actions.aoe+=/earthquake,if=buff.call_of_the_ancestors.up|(spell_targets.chain_lightning>=3+2*talent.elemental_blast)&talent.call_of_the_ancestors actions.aoe+=/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 # Spend Purging flames. actions.aoe+=/lava_burst,if=buff.purging_flames.up&(buff.lava_surge.up|cooldown.voltaic_blaze.remains<2) # [3t] Spend Lava Surge procs to buff Tempest with MotE OR anything with Farseer (without PF specced). actions.aoe+=/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 # [3t] Tempest if you have MotE. actions.aoe+=/tempest,target_if=min:debuff.lightning_rod.remains,if=buff.master_of_the_elements.up actions.aoe+=/tempest,target_if=min:debuff.lightning_rod.remains,if=buff.stormkeeper.stack<4&buff.tempest.stack=2 actions.aoe+=/chain_lightning,if=buff.stormkeeper.up&maelstrom.deficit>(spell_targets.chain_lightning>?5)*(2+(spell_targets.chain_lightning>?5)+2) actions.aoe+=/earthquake,if=!talent.elemental_blast&maelstrom.deficit<15+(buff.stormkeeper.up*(spell_targets.chain_lightning>?5)*(2+(spell_targets.chain_lightning>?5))) actions.aoe+=/elemental_blast,if=talent.tempest actions.aoe+=/tempest,target_if=min:debuff.lightning_rod.remains # Filler spell. Always available. Always the bottom line. actions.aoe+=/chain_lightning actions.aoe+=/flame_shock,moving=1 actions.aoe+=/voltaic_blaze,moving=1 actions.aoe+=/frost_shock,moving=1 # --- 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. actions.single_target=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) actions.single_target+=/ancestral_swiftness # Prespend SK charges before going into Ascendance - Farseer only in 1t, SB in both 1t and 2t actions.single_target+=/lightning_bolt,if=set_bonus.mid2_4pc&buff.stormkeeper.up&cooldown.ascendance.remains<2*gcd&(spell_targets.chain_lightning=1|talent.tempest) # Maintain Flame shock, minor gain to refresh it when FE is about to fade on up to 2 targets. actions.single_target+=/flame_shock,if=!buff.master_of_the_elements.up&dot.flame_shock.refreshable&cooldown.ascendance.remains>5 actions.single_target+=/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 # Voltaic Blaze to maintain Flame shock and on cooldown to proc Purging Flames. actions.single_target+=/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) # Ascendance on CD (always with MID2 set), unless SK can be sync'd with it. actions.single_target+=/ascendance,if=set_bonus.mid2_4pc|cooldown.stormkeeper.remains>15|fight_remains<20 # Consume tier procs if you gona proc new one with next builder. actions.single_target+=/earthquake,if=buff.flowing_elements.up&buff.overcharge_tier.up&buff.call_of_the_ancestors.stack>=3&spell_targets.chain_lightning=2 actions.single_target+=/elemental_blast,if=buff.flowing_elements.up&buff.overcharge_tier.up actions.single_target+=/earthquake,if=buff.flowing_elements.up&buff.overcharge_tier.up&buff.call_of_the_ancestors.up&spell_targets.chain_lightning=2 actions.single_target+=/earth_shock,if=buff.flowing_elements.up&buff.overcharge_tier.up # Lava 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). actions.single_target+=/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) # Lava Burst to proc MotE if you have enough maelstrom for a spender. actions.single_target+=/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) actions.single_target+=/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 # Lava Burst without MotE to prevent overcap (with any empowering talents) or with surge proc. actions.single_target+=/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) actions.single_target+=/lava_burst,if=!buff.master_of_the_elements.up&maelstrom.deficit>15&buff.flowing_elements.up actions.single_target+=/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 # [SB] Tempest and Lightning Bolt with SK if you have MotE. actions.single_target+=/tempest,if=buff.master_of_the_elements.up|!talent.master_of_the_elements actions.single_target+=/lightning_bolt,if=buff.stormkeeper.up&buff.master_of_the_elements.up&talent.tempest actions.single_target+=/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 actions.single_target+=/elemental_blast,target_if=min:debuff.lightning_rod.remains,if=buff.master_of_the_elements.up|maelstrom.deficit<15 actions.single_target+=/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 actions.single_target+=/earth_shock,target_if=min:debuff.lightning_rod.remains,if=buff.master_of_the_elements.up|maelstrom.deficit<15 # Consume spare MotE to buff Flame Shock, mostly on off-targets. actions.single_target+=/flame_shock,target_if=min:dot.flame_shock.remains,if=buff.master_of_the_elements.up&dot.flame_shock.refreshable actions.single_target+=/voltaic_blaze,if=talent.crackling_fury&!buff.ascendance.up actions.single_target+=/tempest # Filler spell. Always available. Always the bottom line. actions.single_target+=/chain_lightning,if=spell_targets.chain_lightning=2 actions.single_target+=/lightning_bolt actions.single_target+=/flame_shock,moving=1 actions.single_target+=/voltaic_blaze,moving=1 actions.single_target+=/frost_shock,moving=1
Is this rotation built for your talents?
The rotation follows your talent build. Sim your highest-DPS build on your own gear, for the mode and rotation style you play.