## https://github.com/simulationcraft/simc/blob/thewarwithin/ActionPriorityLists/default/shaman_elemental.simc ## Up to date with SimC: April 21 2025 - 53f00ae # Ensure weapon enchant is applied if you've selected Improved Flametongue Weapon. actions.precombat+=/flametongue_weapon,if=talent.improved_flametongue_weapon.enabled actions.precombat+=/skyfury actions.precombat+=/lightning_shield actions.precombat+=/thunderstrike_ward actions.precombat+=/earth_shield,if=!buff.earth_shield.up&talent.elemental_orbit actions.precombat+=/stormkeeper actions.precombat+=/variable,name=mael_cap,value=100+50*talent.swelling_maelstrom.rank+25*talent.primordial_capacity.rank actions.precombat+=/variable,name=special_trinket1,value=(trinket.1.is.house_of_cards|trinket.1.is.funhouse_lens)&!(trinket.2.has_use_buff|trinket.2.is.funhouse_lens)&talent.first_ascendant actions.precombat+=/variable,name=special_trinket2,value=(trinket.2.is.house_of_cards|trinket.2.is.funhouse_lens)&!(trinket.1.has_use_buff|trinket.1.is.funhouse_lens)&talent.first_ascendant # Interrupt of casts. actions+=/wind_shear # Enable more movement. actions+=/spiritwalkers_grace,moving=1 actions+=/blood_fury,if=!talent.ascendance.enabled|buff.ascendance.up|cooldown.ascendance.remains>50 actions+=/berserking,if=!talent.ascendance.enabled|buff.ascendance.up actions+=/fireblood,if=!talent.ascendance.enabled|buff.ascendance.up|cooldown.ascendance.remains>50 actions+=/ancestral_call,if=!talent.ascendance.enabled|buff.ascendance.up|cooldown.ascendance.remains>50 # Spymaster's Web actions+=/use_item,slot=trinket1,if=trinket.1.is.spymasters_web&((fight_remains>180&buff.spymasters_report.stack>25|buff.spymasters_report.stack>35|fight_remains<80)&cooldown.ascendance.ready&(buff.fury_of_storms.up|!talent.fury_of_the_storms)&(cooldown.primordial_wave.remains>25|!talent.primordial_wave|spell_targets.chain_lightning>=2)|boss&fight_remains<21) actions+=/use_item,slot=trinket2,if=trinket.2.is.spymasters_web&((fight_remains>180&buff.spymasters_report.stack>25|buff.spymasters_report.stack>35|fight_remains<80)&cooldown.ascendance.ready&(buff.fury_of_storms.up|!talent.fury_of_the_storms)&(cooldown.primordial_wave.remains>25|!talent.primordial_wave|spell_targets.chain_lightning>=2)|boss&fight_remains<21) # Neural Synapse Enhancer actions+=/use_item,name=neural_synapse_enhancer,use_off_gcd=1,if=buff.ascendance.remains>12|cooldown.ascendance.remains>10 # House of Cards + 2 minute Ascendance actions+=/use_item,name=house_of_cards,use_off_gcd=1,if=(variable.special_trinket1|variable.special_trinket2)&buff.ascendance.remains>12|fight_remains<21 # Funhouse Lens + 2 minute Ascendance actions+=/use_item,name=funhouse_lens,use_off_gcd=1,if=(variable.special_trinket1|variable.special_trinket2)&buff.ascendance.remains>12|fight_remains<21 # Normal trinkets actions+=/use_item,slot=trinket1,use_off_gcd=1,if=!trinket.1.is.spymasters_web&!variable.special_trinket1&((buff.fury_of_storms.up|!talent.fury_of_the_storms|cooldown.stormkeeper.remains>10)&(cooldown.primordial_wave.remains>25|!talent.primordial_wave|spell_targets.chain_lightning>=2)&cooldown.ascendance.remains>15|fight_remains<21|buff.ascendance.remains>12) actions+=/use_item,slot=trinket2,use_off_gcd=1,if=!trinket.2.is.spymasters_web&!variable.special_trinket2&((buff.fury_of_storms.up|!talent.fury_of_the_storms|cooldown.stormkeeper.remains>10)&(cooldown.primordial_wave.remains>25|!talent.primordial_wave|spell_targets.chain_lightning>=2)&cooldown.ascendance.remains>15|fight_remains<21|buff.ascendance.remains>12) # Normal weapons actions+=/use_item,slot=main_hand,use_off_gcd=1,if=(buff.fury_of_storms.up|!talent.fury_of_the_storms|cooldown.stormkeeper.remains>10)&(cooldown.primordial_wave.remains>25|!talent.primordial_wave)&cooldown.ascendance.remains>15|buff.ascendance.remains>12 actions+=/use_item,slot=trinket1,use_off_gcd=1,if=!(trinket.1.has_use_buff|trinket.1.is.funhouse_lens)&(!(trinket.2.has_use_buff|trinket.2.is.funhouse_lens|buff.spymasters_report.stack>25|equipped.neural_synapse_enhancer|equipped.best_in_slots)|cooldown.ascendance.remains>20|(trinket.2.cooldown.remains>20&cooldown.neural_synapse_enhancer.remains>20&cooldown.best_in_slots.remains>20)) actions+=/use_item,slot=trinket2,use_off_gcd=1,if=!(trinket.2.has_use_buff|trinket.2.is.funhouse_lens)&(!(trinket.1.has_use_buff|trinket.1.is.funhouse_lens|buff.spymasters_report.stack>25|equipped.neural_synapse_enhancer|equipped.best_in_slots)|cooldown.ascendance.remains>20|(trinket.1.cooldown.remains>20&cooldown.neural_synapse_enhancer.remains>20&cooldown.best_in_slots.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,if=buff.ascendance.up|cooldown.ascendance.remains>30 actions+=/potion,if=buff.bloodlust.up|buff.spymasters_web.up|buff.ascendance.remains>12|fight_remains<31&boss # [Hekili] Ascendance/trinket sync logic; revised to recover when a trinket is used *before* Ascendance. actions+=/variable,name=ascendance_trinket,value=buff.spymasters_web.up|(trinket.1.has_use_buff&!trinket.1.is.spymasters_web|trinket.1.is.funhouse_lens)&(trinket.1.ready_cooldown|trinket.1.cooldown.remains>20)|(trinket.2.has_use_buff&!trinket.2.is.spymasters_web|trinket.2.is.funhouse_lens)&(trinket.2.ready_cooldown|trinket.2.cooldown.remains>20)|equipped.neural_synapse_enhancer&(cooldown.neural_synapse_enhancer.remains=0|cooldown.neural_synapse_enhancer.remains>20)|equipped.best_in_slots&(cooldown.best_in_slots.remains=0|cooldown.best_in_slots.remains>20)|!trinket.1.has_use_buff&!trinket.2.has_use_buff actions+=/run_action_list,name=aoe,strict=1,if=spell_targets.chain_lightning>1 actions+=/run_action_list,name=single_target actions.aoe+=/fire_elemental actions.aoe+=/storm_elemental,if=!buff.storm_elemental.up|!talent.echo_of_the_elementals actions.aoe+=/stormkeeper # Spread Flame shocks for Pwave. actions.aoe+=/liquid_magma_totem,if=(cooldown.primordial_wave.remains<5*gcd|!talent.primordial_wave)&(active_dot.flame_shock<=active_enemies-3|active_dot.flame_shock<(active_enemies>?3))&cooldown.ascendance.remains>10 actions.aoe+=/flame_shock,cycle_targets=1,if=cooldown.primordial_wave.remains10 actions.aoe+=/primordial_wave,if=active_dot.flame_shock=active_enemies>?6|cooldown.liquid_magma_totem.remains>15|!talent.liquid_magma_totem actions.aoe+=/ancestral_swiftness # [Hekili] Revised trinket sync to recover when trinket is used before Ascendance. actions.aoe+=/ascendance,if=(talent.first_ascendant|fight_remains>200|fight_remains<80|variable.ascendance_trinket)&(buff.fury_of_storms.up|cooldown.stormkeeper.remains>12|!talent.fury_of_the_storms) # Surge of Power is strong and should be used. ?? actions.aoe+=/tempest,cycle_targets=1,if=buff.arc_discharge.stack<2&(buff.surge_of_power.up|!talent.surge_of_power) actions.aoe+=/lightning_bolt,if=buff.stormkeeper.up&buff.surge_of_power.up&spell_targets.chain_lightning=2 actions.aoe+=/chain_lightning,if=active_enemies>=6&buff.surge_of_power.up actions.aoe+=/chain_lightning,if=buff.storm_frenzy.stack=2&!talent.surge_of_power&maelstrom52-5*talent.eye_of_the_storm&(buff.echoes_of_great_sundering_es.up|!talent.echoes_of_great_sundering)) # Spend if you are close to cap, Master of the Elements buff is up or Ascendance is about to expire. actions.aoe+=/earthquake,if=(maelstrom>variable.mael_cap-10*(spell_targets.chain_lightning+1)|buff.master_of_the_elements.up|buff.ascendance.up&buff.ascendance.remains<3|boss&fight_remains<5)&(buff.echoes_of_great_sundering_es.up|buff.echoes_of_great_sundering_eb.up|!talent.echoes_of_great_sundering&(!talent.elemental_blast|active_enemies>1+talent.tempest)) actions.aoe+=/elemental_blast,cycle_targets=1,if=(maelstrom>variable.mael_cap-10*(spell_targets.chain_lightning+1)|buff.master_of_the_elements.up|buff.ascendance.up&buff.ascendance.remains<3|boss&fight_remains<5)&(active_enemies<=1+talent.tempest|talent.echoes_of_great_sundering&!buff.echoes_of_great_sundering_eb.up) actions.aoe+=/earth_shock,cycle_targets=1,if=(maelstrom>variable.mael_cap-10*(spell_targets.chain_lightning+1)|buff.master_of_the_elements.up|buff.ascendance.up&buff.ascendance.remains<3|boss&fight_remains<5)&talent.echoes_of_great_sundering&!buff.echoes_of_great_sundering_es.up # Spend to spread Lightning Rod if Tempest or Stormkeeper is up. actions.aoe+=/earthquake,if=talent.lightning_rod&lightning_rod1+talent.tempest)) actions.aoe+=/elemental_blast,cycle_targets=1,if=talent.lightning_rod&lightning_rod with MotE on 2-3 targets. actions.aoe+=/lava_burst,cycle_targets=1,if=cooldown_react&buff.lava_surge.up&!buff.master_of_the_elements.up&talent.master_of_the_elements&active_enemies<=3 # [2-3t]{Farseer} Use all Lava bursts to buff spenders, SK_CL and Tempest with MotE on 2-3 targets if not talented into Lightning Rod. actions.aoe+=/lava_burst,cycle_targets=1,if=!buff.master_of_the_elements.up&talent.master_of_the_elements&(buff.stormkeeper.up|buff.tempest.up|maelstrom>82-10*talent.eye_of_the_storm|maelstrom>52-5*talent.eye_of_the_storm&(buff.echoes_of_great_sundering_eb.up|!talent.elemental_blast))&active_enemies<=3&!talent.lightning_rod&talent.call_of_the_ancestors # [2t] Use all Lava bursts to buff with MotE on 2 targets. actions.aoe+=/lava_burst,cycle_targets=1,if=!buff.master_of_the_elements.up&active_enemies=2 actions.aoe+=/flame_shock,cycle_targets=1,if=active_dot.flame_shock=0&buff.fusion_of_elements_fire.up&(!talent.elemental_blast|!talent.echoes_of_great_sundering&active_enemies>1+talent.tempest) # Spend to buff SK_CL (on 6+) or Tempest with SoP. actions.aoe+=/earthquake,if=((buff.stormkeeper.up&spell_targets.chain_lightning>=6|buff.tempest.up)&talent.surge_of_power)&(buff.echoes_of_great_sundering_es.up|buff.echoes_of_great_sundering_eb.up|!talent.echoes_of_great_sundering&(!talent.elemental_blast|active_enemies>1+talent.tempest)) actions.aoe+=/elemental_blast,cycle_targets=1,if=((buff.stormkeeper.up&active_enemies>=6|buff.tempest.up)&talent.surge_of_power)&(active_enemies<=1+talent.tempest|talent.echoes_of_great_sundering&!buff.echoes_of_great_sundering_eb.up) actions.aoe+=/earth_shock,cycle_targets=1,if=((buff.stormkeeper.up&active_enemies>=6|buff.tempest.up)&talent.surge_of_power)&talent.echoes_of_great_sundering&!buff.echoes_of_great_sundering_es.up actions.aoe+=/frost_shock,if=buff.icefury_dmg.up&!buff.ascendance.up&!buff.stormkeeper.up&talent.call_of_the_ancestors actions.aoe+=/chain_lightning actions.aoe+=/flame_shock,moving=1,if=refreshable actions.aoe+=/frost_shock,moving=1 actions.single_target+=/fire_elemental actions.single_target+=/storm_elemental,if=!buff.storm_elemental.up|!talent.echo_of_the_elementals # Just use Stormkeeper. actions.single_target+=/stormkeeper,if=!talent.fury_of_the_storms|cooldown.primordial_wave.remains12|!talent.fury_of_the_storms)&(cooldown.primordial_wave.remains>25|!talent.primordial_wave) # Surge of Power is strong and should be used.?? actions.single_target+=/tempest,if=buff.surge_of_power.up actions.single_target+=/lightning_bolt,if=buff.surge_of_power.up actions.single_target+=/tempest,if=buff.storm_frenzy.stack=2&!talent.surge_of_power.enabled # Use LMT to apply Flame Shock. actions.single_target+=/liquid_magma_totem,if=dot.flame_shock.refreshable&!buff.master_of_the_elements.up # Maintain Flame shock if talented into Erupting Lava. actions.single_target+=/flame_shock,if=dot.flame_shock.refreshable&!buff.surge_of_power.up&!buff.master_of_the_elements.up&talent.erupting_lava # Spend if close to overcaping or MotE buff is up. Friendship ended with Echoes of Great Sundering. actions.single_target+=/elemental_blast,if=maelstrom>variable.mael_cap-15|buff.master_of_the_elements.up actions.single_target+=/earth_shock,if=maelstrom>variable.mael_cap-15|buff.master_of_the_elements.up # Use Icefury to proc Fusion of Elements. actions.single_target+=/icefury,if=!(buff.fusion_of_elements_nature.up|buff.fusion_of_elements_fire.up) # Use Lava Burst to proc Master of the Elements. actions.single_target+=/lava_burst,cycle_targets=1,if=!buff.master_of_the_elements.up&(!talent.master_of_the_elements|buff.lava_surge.up|buff.tempest.up|buff.stormkeeper.up|cooldown.lava_burst.charges_fractional>1.8|maelstrom>82-10*talent.eye_of_the_storm|maelstrom>52-5*talent.eye_of_the_storm&(buff.echoes_of_great_sundering_eb.up|!talent.elemental_blast)) # Spend to activate Surge of Power buff for Tempest or Stormkeeper. actions.single_target+=/earthquake,if=(buff.echoes_of_great_sundering_es.up|buff.echoes_of_great_sundering_eb.up)&(buff.tempest.up|buff.stormkeeper.up)&talent.surge_of_power&!talent.master_of_the_elements actions.single_target+=/elemental_blast,if=(buff.tempest.up|buff.stormkeeper.up)&talent.surge_of_power&!talent.master_of_the_elements actions.single_target+=/earth_shock,if=(buff.tempest.up|buff.stormkeeper.up)&talent.surge_of_power&!talent.master_of_the_elements actions.single_target+=/tempest actions.single_target+=/lightning_bolt,if=buff.storm_elemental.up&buff.wind_gust.stack<4 # Use Icefury-empowered Frost Shocks outside of Ascendance. actions.single_target+=/frost_shock,if=buff.icefury_dmg.up&!buff.ascendance.up&!buff.stormkeeper.up&talent.call_of_the_ancestors # Filler spell. Always available. Always the bottom line. actions.single_target+=/lightning_bolt actions.single_target+=/flame_shock,moving=1,if=movement.distance>6|refreshable # Frost Shock is our movement filler. actions.single_target+=/frost_shock,moving=1