Enhancement Shaman
PvE guide, updated for Patch 12.1.5
DPS Rotation & Cooldowns
How to play Enhancement 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 Enhancement 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-18.9%
- One Button-32.0%
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
Beta14 abilities- 1Bloodlust
- 2Primordial Storm
- 3Voltaic BlazeWhen ready
- 4Flame ShockWhen ready
- 5StormstrikeWhen ready
- 6Racial ability
- 7SunderingWhen ready
- 8Doom Winds
- 9Crash LightningWhen ready
- 10Lava LashWhen ready
- 11Windstrike
- 12Ascendance
- 13Tempest
- 14Lightning Bolt
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. actions.precombat=windfury_weapon actions.precombat+=/flametongue_weapon actions.precombat+=/lightning_shield actions.precombat+=/variable,name=trinket1_is_weird,value=trinket.1.is.algethar_puzzle_box|trinket.1.is.unyielding_netherprism|trinket.1.is.font_of_venomous_rage actions.precombat+=/variable,name=trinket2_is_weird,value=trinket.2.is.algethar_puzzle_box|trinket.2.is.unyielding_netherprism|trinket.2.is.font_of_venomous_rage # Snapshot raid buffed stats before combat begins and pre-potting is done. actions.precombat+=/snapshot_stats actions.precombat+=/use_item,name=algethar_puzzle_box actions.precombat+=/potion,if=!potion.liquid_luster actions.precombat+=/potion,pre_pot_time=12,if=potion.liquid_luster # Executed every time the actor is available. actions=variable,name=target_nature_mod,value=(1+debuff.chaos_brand.up*debuff.chaos_brand.value)*(1+(debuff.hunters_mark.up*target.health.pct>=80)*debuff.hunters_mark.value) actions+=/variable,name=expected_lb_funnel,value=action.lightning_bolt.damage*(1+debuff.lightning_rod.up*variable.target_nature_mod*(1+active_dot.flame_shock)*debuff.lightning_rod.value) actions+=/variable,name=expected_cl_funnel,value=action.chain_lightning.damage*(1+debuff.lightning_rod.up*variable.target_nature_mod*active_enemies*debuff.lightning_rod.value) actions+=/variable,name=flame_shock_saturated,value=((active_dot.flame_shock=active_enemies)|(active_dot.flame_shock=6)) actions+=/bloodlust,line_cd=600 actions+=/auto_attack actions+=/call_action_list,name=single_sb,if=active_enemies=1&!talent.surging_totem.enabled actions+=/call_action_list,name=single_totemic,if=active_enemies=1&talent.surging_totem.enabled actions+=/call_action_list,name=aoe,if=active_enemies>1 # Multi target action priority list actions.aoe=voltaic_blaze,if=talent.surging_totem.enabled&dot.flame_shock.remains=0 actions.aoe+=/flame_shock,if=!ticking actions.aoe+=/surging_totem actions.aoe+=/ascendance,if=ti_chain_lightning actions.aoe+=/call_action_list,name=cooldowns actions.aoe+=/sundering,if=talent.surging_elements.enabled|buff.whirling_earth.up actions.aoe+=/lava_lash,if=buff.whirling_fire.up actions.aoe+=/doom_winds actions.aoe+=/crash_lightning,if=talent.thorims_invocation.enabled&buff.whirling_air.up&(buff.doom_winds.up|buff.ascendance.up) actions.aoe+=/windstrike,if=talent.thorims_invocation.enabled&buff.whirling_air.up actions.aoe+=/stormstrike,if=talent.thorims_invocation.enabled&buff.doom_winds.up&buff.whirling_air.up actions.aoe+=/lava_lash,if=talent.splitstream.enabled&buff.hot_hand.up actions.aoe+=/tempest,if=buff.maelstrom_weapon.stack>=10&(!buff.ascendance.up|!buff.doom_winds.up) actions.aoe+=/primordial_storm,if=buff.maelstrom_weapon.stack>=10 actions.aoe+=/crash_lightning,if=talent.thorims_invocation.enabled&(buff.doom_winds.up|buff.ascendance.up)&talent.splitstream.enabled&buff.hot_hand.up actions.aoe+=/windstrike,if=talent.thorims_invocation.enabled&talent.splitstream.enabled&buff.hot_hand.up actions.aoe+=/stormstrike,if=talent.thorims_invocation.enabled&buff.doom_winds.up&talent.splitstream.enabled&buff.hot_hand.up actions.aoe+=/chain_lightning,if=buff.maelstrom_weapon.stack>=(9+1*talent.surging_totem.enabled)&talent.splitstream.enabled&buff.hot_hand.up actions.aoe+=/voltaic_blaze,if=talent.fire_nova.enabled|set_bonus.midnight_season_2_2pc actions.aoe+=/crash_lightning actions.aoe+=/windstrike,if=talent.thorims_invocation.enabled actions.aoe+=/stormstrike,if=talent.thorims_invocation.enabled&buff.doom_winds.up actions.aoe+=/chain_lightning,if=buff.maelstrom_weapon.stack>=(9+1*talent.surging_totem.enabled) actions.aoe+=/sundering,if=talent.feral_spirit.enabled actions.aoe+=/voltaic_blaze actions.aoe+=/lava_lash,if=pet.searing_totem.active actions.aoe+=/windstrike actions.aoe+=/stormstrike,if=charges_fractional>=1.8|buff.converging_storms.stack=buff.converging_storms.max_stack actions.aoe+=/sundering,if=cooldown.surging_totem.remains>25 actions.aoe+=/stormstrike,if=!talent.surging_totem.enabled actions.aoe+=/lava_lash actions.aoe+=/stormstrike actions.aoe+=/chain_lightning,if=buff.maelstrom_weapon.stack>=5 actions.aoe+=/flame_shock # Cooldown action priority list actions.cooldowns=use_item,name=algethar_puzzle_box,if=(talent.ascendance.enabled&(cooldown.ascendance.remains<2*gcd.max))|(talent.doom_winds.enabled&!talent.ascendance.enabled&(cooldown.doom_winds.remains<2*gcd.max))|(fight_remains%%120<=20) actions.cooldowns+=/use_item,name=unyielding_netherprism,if=(talent.ascendance.enabled&(cooldown.ascendance.remains<2*gcd.max))|(talent.doom_winds.enabled&!talent.ascendance.enabled&(cooldown.doom_winds.remains<2*gcd.max))|fight_remains<=20 actions.cooldowns+=/use_item,slot=trinket1,if=!variable.trinket1_is_weird&((buff.ascendance.up|buff.doom_winds.up|pet.surging_totem.active|(fight_remains<=20)|(!talent.ascendance.enabled&!talent.doom_winds.enabled&!talent.surging_totem.enabled))|!trinket.1.has_use_buff) actions.cooldowns+=/use_item,slot=trinket2,if=!variable.trinket2_is_weird&((buff.ascendance.up|buff.doom_winds.up|pet.surging_totem.active|(fight_remains<=20)|(!talent.ascendance.enabled&!talent.doom_winds.enabled&!talent.surging_totem.enabled))|!trinket.2.has_use_buff) actions.cooldowns+=/use_item,name=font_of_venomous_rage,if=!buff.ascendance.up&((!trinket.1.has_use_buff&!trinket.2.has_use_buff)|time>=20) actions.cooldowns+=/potion,if=(buff.ascendance.up|buff.doom_winds.up|pet.surging_totem.active|(fight_remains%%300<=30)|(!talent.ascendance.enabled&!talent.doom_winds.enabled&!talent.surging_totem.enabled)) actions.cooldowns+=/blood_fury,if=(buff.ascendance.up|buff.doom_winds.up|(fight_remains%%action.blood_fury.cooldown<=action.blood_fury.duration)|(!talent.ascendance.enabled&!talent.doom_winds.enabled&!talent.surging_totem.enabled)) actions.cooldowns+=/berserking,if=(buff.ascendance.up|buff.doom_winds.up|(fight_remains%%action.berserking.cooldown<=action.berserking.duration)|(!talent.ascendance.enabled&!talent.doom_winds.enabled&!talent.surging_totem.enabled)) actions.cooldowns+=/fireblood,if=(buff.ascendance.up|buff.doom_winds.up|(fight_remains%%action.fireblood.cooldown<=action.fireblood.duration)|(!talent.ascendance.enabled&!talent.doom_winds.enabled&!talent.surging_totem.enabled)) actions.cooldowns+=/ancestral_call,if=(buff.ascendance.up|buff.doom_winds.up|(fight_remains%%action.ancestral_call.cooldown<=action.ancestral_call.duration)|(!talent.ascendance.enabled&!talent.doom_winds.enabled&!talent.surging_totem.enabled)) actions.cooldowns+=/invoke_external_buff,name=power_infusion,if=((talent.deeply_rooted_elements.enabled&buff.ascendance.remains>7.5)|(!talent.deeply_rooted_elements.enabled&(buff.ascendance.up|buff.doom_winds.up))|(fight_remains%%120<=20)|(!talent.ascendance.enabled&!talent.doom_winds.enabled&!talent.surging_totem.enabled)|cooldown.ascendance.remains<gcd.max) # Single target action priority list for the Stormbringer hero talent tree actions.single_sb=primordial_storm,if=(buff.maelstrom_weapon.stack>=9|buff.primordial_storm.remains<=4&buff.maelstrom_weapon.stack>=5) actions.single_sb+=/voltaic_blaze,if=dot.flame_shock.remains=0&time<5 actions.single_sb+=/flame_shock,if=!ticking actions.single_sb+=/stormstrike,if=time<1 actions.single_sb+=/call_action_list,name=cooldowns,if=raid_event.adds.in>=60|fight_remains<=20 actions.single_sb+=/sundering,if=(talent.surging_elements.enabled|talent.feral_spirit.enabled)&(raid_event.adds.in>=30|fight_remains<=12) actions.single_sb+=/doom_winds,if=raid_event.adds.in>=30|fight_remains<=10 actions.single_sb+=/voltaic_blaze,if=set_bonus.midnight_season_2_2pc&buff.maelstrom_weapon.stack<9 actions.single_sb+=/crash_lightning,if=!buff.crash_lightning.up|talent.storm_unleashed.enabled actions.single_sb+=/voltaic_blaze,if=(buff.doom_winds.up&buff.maelstrom_weapon.stack>=10-(1+2*talent.fire_nova.enabled)&!buff.maelstrom_weapon.stack=10)&talent.thorims_invocation.enabled actions.single_sb+=/lava_lash,if=!debuff.lashing_flames.up&time<5 actions.single_sb+=/windstrike,if=buff.maelstrom_weapon.stack>0&talent.thorims_invocation.enabled actions.single_sb+=/ascendance,if=(raid_event.adds.in>=60|fight_remains<=20)&!buff.doom_winds.up actions.single_sb+=/stormstrike,if=buff.doom_winds.up&talent.thorims_invocation.enabled actions.single_sb+=/crash_lightning,if=buff.doom_winds.up&talent.thorims_invocation.enabled actions.single_sb+=/tempest,if=buff.maelstrom_weapon.stack=10 actions.single_sb+=/lightning_bolt,if=buff.maelstrom_weapon.stack=10 actions.single_sb+=/tempest,if=buff.maelstrom_weapon.stack>=8&(cooldown.voltaic_blaze.remains<=gcd.max|cooldown.crash_lightning.remains<=gcd.max) actions.single_sb+=/lightning_bolt,if=buff.maelstrom_weapon.stack>=8&(cooldown.voltaic_blaze.remains<=gcd.max|cooldown.crash_lightning.remains<=gcd.max) actions.single_sb+=/stormstrike,if=charges_fractional>=1.8 actions.single_sb+=/lava_lash,if=talent.lashing_flames.enabled actions.single_sb+=/stormstrike actions.single_sb+=/voltaic_blaze actions.single_sb+=/sundering actions.single_sb+=/lava_lash actions.single_sb+=/lightning_bolt,if=buff.maelstrom_weapon.stack>=8 actions.single_sb+=/crash_lightning actions.single_sb+=/lightning_bolt,if=buff.maelstrom_weapon.stack>=5 actions.single_sb+=/flame_shock # Single target action priority list for the Totemic hero talent tree actions.single_totemic=surging_totem,if=raid_event.adds.in>=30|fight_remains<=30 actions.single_totemic+=/crash_lightning,if=action.voltaic_blaze.ready&!dot.flame_shock.ticking actions.single_totemic+=/voltaic_blaze,if=!dot.flame_shock.ticking actions.single_totemic+=/flame_shock,if=!ticking actions.single_totemic+=/call_action_list,name=cooldowns actions.single_totemic+=/sundering,if=(talent.surging_elements.enabled|buff.whirling_earth.up|talent.feral_spirit.enabled)&(raid_event.adds.in>=30|fight_remains<=12) actions.single_totemic+=/lava_lash,if=buff.whirling_fire.up|buff.hot_hand.up actions.single_totemic+=/voltaic_blaze,if=set_bonus.midnight_season_2_2pc&(!buff.doom_winds.up|buff.maelstrom_weapon.stack<8) actions.single_totemic+=/primordial_storm,if=buff.bloodlust.up&buff.maelstrom_weapon.stack>=9 actions.single_totemic+=/doom_winds,if=raid_event.adds.in>=30|fight_remains<=10 actions.single_totemic+=/crash_lightning,if=!buff.crash_lightning.up|talent.storm_unleashed.enabled|(talent.thorims_invocation.enabled&(buff.doom_winds.up|buff.ascendance.up)) actions.single_totemic+=/windstrike,if=talent.thorims_invocation.enabled&buff.ascendance.up actions.single_totemic+=/ascendance,if=ti_lightning_bolt actions.single_totemic+=/primordial_storm,if=(buff.maelstrom_weapon.stack>=10|buff.primordial_storm.remains<3.5&buff.maelstrom_weapon.stack>=5) actions.single_totemic+=/stormstrike,if=talent.thorims_invocation.enabled&buff.doom_winds.up actions.single_totemic+=/lightning_bolt,if=talent.elemental_tempo.enabled&buff.hot_hand.up&buff.maelstrom_weapon.stack>=9&(cooldown.lava_lash.remains>gcd.max)&(cooldown.lava_lash.remains<=buff.maelstrom_weapon.stack*0.3) actions.single_totemic+=/lava_lash actions.single_totemic+=/stormstrike actions.single_totemic+=/voltaic_blaze actions.single_totemic+=/crash_lightning actions.single_totemic+=/lightning_bolt,if=buff.maelstrom_weapon.stack>=5 actions.single_totemic+=/flame_shock
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.