shaman="T23_Shaman_Elemental"
source=default
spec=elemental
level=120
race=tauren
role=spell
position=ranged_back
talents=2301032

# Default consumables
potion=battle_potion_of_intellect
flask=flask_of_endless_fathoms
food=bountiful_captains_feast
augmentation=battle_scarred

# 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=flask
actions.precombat+=/food
actions.precombat+=/augmentation
# Snapshot raid buffed stats before combat begins and pre-potting is done.
actions.precombat+=/snapshot_stats
actions.precombat+=/totem_mastery
actions.precombat+=/earth_elemental,if=!talent.primal_elementalist.enabled
# Use Stormkeeper precombat unless some adds will spawn soon.
actions.precombat+=/stormkeeper,if=talent.stormkeeper.enabled&(raid_event.adds.count<3|raid_event.adds.in>50)
actions.precombat+=/fire_elemental,if=!talent.storm_elemental.enabled
actions.precombat+=/storm_elemental,if=talent.storm_elemental.enabled
actions.precombat+=/potion
actions.precombat+=/elemental_blast,if=talent.elemental_blast.enabled
actions.precombat+=/lava_burst,if=!talent.elemental_blast.enabled&spell_targets.chain_lightning<3
actions.precombat+=/chain_lightning,if=spell_targets.chain_lightning>2

# Executed every time the actor is available.
# Cast Bloodlust manually if the Azerite Trait Ancestral Resonance is present.
actions=bloodlust,if=azerite.ancestral_resonance.enabled
# In-combat potion is preferentially linked to your Elemental, unless combat will end shortly
actions+=/potion,if=expected_combat_length-time<30|cooldown.fire_elemental.remains>120|cooldown.storm_elemental.remains>120
# Interrupt of casts.
actions+=/wind_shear
actions+=/totem_mastery,if=talent.totem_mastery.enabled&buff.resonance_totem.remains<2
actions+=/fire_elemental,if=!talent.storm_elemental.enabled
actions+=/storm_elemental,if=talent.storm_elemental.enabled&(!talent.icefury.enabled|!buff.icefury.up&!cooldown.icefury.up)&(!talent.ascendance.enabled|!cooldown.ascendance.up&!buff.ascendance.up)
actions+=/earth_elemental,if=!talent.primal_elementalist.enabled|talent.primal_elementalist.enabled&(cooldown.fire_elemental.remains<120&!talent.storm_elemental.enabled|cooldown.storm_elemental.remains<120&talent.storm_elemental.enabled)
actions+=/use_items
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
actions+=/run_action_list,name=aoe,if=active_enemies>2&(spell_targets.chain_lightning>2|spell_targets.lava_beam>2)
actions+=/run_action_list,name=single_target

# Multi target action priority list
actions.aoe=stormkeeper,if=talent.stormkeeper.enabled
# Spread Flame Shock in <= 4 target fights, but not during SE uptime,unless you're fighting 3 targets and have less than 14 Wind Gust stacks.
actions.aoe+=/flame_shock,target_if=refreshable&(spell_targets.chain_lightning<(5-!talent.totem_mastery.enabled)|!talent.storm_elemental.enabled&(cooldown.fire_elemental.remains>(120+14*spell_haste)|cooldown.fire_elemental.remains<(24-14*spell_haste)))&(!talent.storm_elemental.enabled|cooldown.storm_elemental.remains<120|spell_targets.chain_lightning=3&buff.wind_gust.stack<14)
actions.aoe+=/ascendance,if=talent.ascendance.enabled&(talent.storm_elemental.enabled&cooldown.storm_elemental.remains<120&cooldown.storm_elemental.remains>15|!talent.storm_elemental.enabled)&(!talent.icefury.enabled|!buff.icefury.up&!cooldown.icefury.up)
actions.aoe+=/liquid_magma_totem,if=talent.liquid_magma_totem.enabled
# Try to game Earthquake with Master of the Elements buff when fighting 3 targets. Don't overcap Maelstrom!
actions.aoe+=/earthquake,if=!talent.master_of_the_elements.enabled|buff.stormkeeper.up|maelstrom>=(100-4*spell_targets.chain_lightning)|buff.master_of_the_elements.up|spell_targets.chain_lightning>3
# Make sure you don't lose a Stormkeeper.
actions.aoe+=/chain_lightning,if=buff.stormkeeper.remains<3*gcd*buff.stormkeeper.stack
# Only cast Lava Burst on three targets if it is an instant and Storm Elemental is NOT active.
actions.aoe+=/lava_burst,if=buff.lava_surge.up&spell_targets.chain_lightning<4&(!talent.storm_elemental.enabled|cooldown.storm_elemental.remains<120)&dot.flame_shock.ticking
actions.aoe+=/icefury,if=spell_targets.chain_lightning<4&!buff.ascendance.up
actions.aoe+=/frost_shock,if=spell_targets.chain_lightning<4&buff.icefury.up&!buff.ascendance.up
# Use Elemental Blast against up to 3 targets as long as Storm Elemental is not active.
actions.aoe+=/elemental_blast,if=talent.elemental_blast.enabled&spell_targets.chain_lightning<4&(!talent.storm_elemental.enabled|cooldown.storm_elemental.remains<120)
actions.aoe+=/lava_beam,if=talent.ascendance.enabled
actions.aoe+=/chain_lightning
actions.aoe+=/lava_burst,moving=1,if=talent.ascendance.enabled
actions.aoe+=/flame_shock,moving=1,target_if=refreshable
actions.aoe+=/frost_shock,moving=1

# Single Target Action Priority List
# Ensure FS is active unless you have 14 or more stacks of Wind Gust from Storm Elemental. (Edge case: upcoming Asc but active SE; don't )
actions.single_target=flame_shock,if=(!ticking|talent.storm_elemental.enabled&cooldown.storm_elemental.remains<2*gcd|dot.flame_shock.remains<=gcd|talent.ascendance.enabled&dot.flame_shock.remains<(cooldown.ascendance.remains+buff.ascendance.duration)&cooldown.ascendance.remains<4&(!talent.storm_elemental.enabled|talent.storm_elemental.enabled&cooldown.storm_elemental.remains<120))&(buff.wind_gust.stack<14|azerite.igneous_potential.rank>=2|buff.lava_surge.up|!buff.bloodlust.up)&!buff.surge_of_power.up
# Use Ascendance after you've spent all Lava Burst charges and only if neither Storm Elemental nor Icefury are currently active.
actions.single_target+=/ascendance,if=talent.ascendance.enabled&(time>=60|buff.bloodlust.up)&cooldown.lava_burst.remains>0&(cooldown.storm_elemental.remains<120|!talent.storm_elemental.enabled)&(!talent.icefury.enabled|!buff.icefury.up&!cooldown.icefury.up)
# Don't use Elemental Blast if you could cast a Master of the Elements empowered Earth Shock instead. Don't cast Elemental Blast during Storm Elemental unless you have 3x Natural Harmony. But in this case stop using Elemental Blast once you reach 14 stacks of Wind Gust.
actions.single_target+=/elemental_blast,if=talent.elemental_blast.enabled&(talent.master_of_the_elements.enabled&buff.master_of_the_elements.up&maelstrom<60|!talent.master_of_the_elements.enabled)&(!(cooldown.storm_elemental.remains>120&talent.storm_elemental.enabled)|azerite.natural_harmony.rank=3&buff.wind_gust.stack<14)
# Keep SK for large or soon add waves. Unless you have Surge of Power, in which case you want to double buff Lightning Bolt by pooling Maelstrom beforehand. Example sequence: 100MS, ES, SK, LB, LvB, ES, LB
actions.single_target+=/stormkeeper,if=talent.stormkeeper.enabled&(raid_event.adds.count<3|raid_event.adds.in>50)&(!talent.surge_of_power.enabled|buff.surge_of_power.up|maelstrom>=44)
actions.single_target+=/liquid_magma_totem,if=talent.liquid_magma_totem.enabled&(raid_event.adds.count<3|raid_event.adds.in>50)
# Combine Stormkeeper with Master of the Elements or Surge of Power.
actions.single_target+=/lightning_bolt,if=buff.stormkeeper.up&spell_targets.chain_lightning<2&(buff.master_of_the_elements.up&!talent.surge_of_power.enabled|buff.surge_of_power.up)
actions.single_target+=/earthquake,if=spell_targets.chain_lightning>1&(!talent.surge_of_power.enabled|!dot.flame_shock.refreshable|cooldown.storm_elemental.remains>120)&(!talent.master_of_the_elements.enabled|buff.master_of_the_elements.up|maelstrom>=92)
# With Master of the Elements you can pool Maelstrom up to 8 Maelstrom below the cap to ensure its use with Earth Shock. Don't overwrite Surge of Power buffs. I'm looking at you Aftershock!
actions.single_target+=/earth_shock,if=!buff.surge_of_power.up&talent.master_of_the_elements.enabled&(buff.master_of_the_elements.up|cooldown.lava_burst.remains>0&maelstrom>=92+30*talent.call_the_thunder.enabled|buff.stormkeeper.up&cooldown.lava_burst.remains<=gcd)
# Without Master of the Elements, use Earth Shock either if Stormkeeper is up, Maelstrom is within 10 Maelstrom of the cap, or either Storm Elemental isn't talented or it's not active and your last Storm Elemental of the fight will have only a partial duration (plus the Echo of the Elementals duration). If you have Igneous Potential 3 times, don't use Earthshock during Ascendance.
actions.single_target+=/earth_shock,if=!talent.master_of_the_elements.enabled&!(azerite.igneous_potential.rank>2&buff.ascendance.up)&(buff.stormkeeper.up|maelstrom>=90+30*talent.call_the_thunder.enabled|!(cooldown.storm_elemental.remains>120&talent.storm_elemental.enabled)&expected_combat_length-time-cooldown.storm_elemental.remains-150*floor((expected_combat_length-time-cooldown.storm_elemental.remains)%150)>=30*(1+(azerite.echo_of_the_elementals.rank>=2)))
# Use Earth Shock if Surge of Power is talented, but neither it nor a DPS Elemental is active at the moment, and Lava Burst is ready or will be ready within the next GCD.
actions.single_target+=/earth_shock,if=talent.surge_of_power.enabled&!buff.surge_of_power.up&cooldown.lava_burst.remains<=gcd&(!talent.storm_elemental.enabled&!(cooldown.fire_elemental.remains>120)|talent.storm_elemental.enabled&!(cooldown.storm_elemental.remains>120))
# Spam Lightning Bolts during Storm Elemental duration if you don't have Igneous Potential or have it only once, and don't use Lightning Bolt during Bloodlust if you have a Lava Surge Proc.
actions.single_target+=/lightning_bolt,if=cooldown.storm_elemental.remains>120&talent.storm_elemental.enabled&(azerite.igneous_potential.rank<2|!buff.lava_surge.up&buff.bloodlust.up)
# Use Frost Shock with Icefury and Master of the Elements.
actions.single_target+=/frost_shock,if=talent.icefury.enabled&talent.master_of_the_elements.enabled&buff.icefury.up&buff.master_of_the_elements.up
actions.single_target+=/lava_burst,if=buff.ascendance.up
# Utilize Surge of Power to spread Flame Shock if multiple enemies are present.
actions.single_target+=/flame_shock,target_if=refreshable&active_enemies>1&buff.surge_of_power.up
# Use Lava Burst with Surge of Power if the last potential usage of Storm Elemental hasn't a full duration OR if you could get another usage of the DPS Elemental if the remaining fight was 16% longer.
actions.single_target+=/lava_burst,if=talent.storm_elemental.enabled&cooldown_react&buff.surge_of_power.up&(expected_combat_length-time-cooldown.storm_elemental.remains-150*floor((expected_combat_length-time-cooldown.storm_elemental.remains)%150)<30*(1+(azerite.echo_of_the_elementals.rank>=2))|(1.16*(expected_combat_length-time)-cooldown.storm_elemental.remains-150*floor((1.16*(expected_combat_length-time)-cooldown.storm_elemental.remains)%150))<(expected_combat_length-time-cooldown.storm_elemental.remains-150*floor((expected_combat_length-time-cooldown.storm_elemental.remains)%150)))
# Use Lava Burst with Surge of Power if the last potential usage of Fire Elemental hasn't a full duration OR if you could get another usage of the DPS Elemental if the remaining fight was 16% longer.
actions.single_target+=/lava_burst,if=!talent.storm_elemental.enabled&cooldown_react&buff.surge_of_power.up&(expected_combat_length-time-cooldown.fire_elemental.remains-150*floor((expected_combat_length-time-cooldown.fire_elemental.remains)%150)<30*(1+(azerite.echo_of_the_elementals.rank>=2))|(1.16*(expected_combat_length-time)-cooldown.fire_elemental.remains-150*floor((1.16*(expected_combat_length-time)-cooldown.fire_elemental.remains)%150))<(expected_combat_length-time-cooldown.fire_elemental.remains-150*floor((expected_combat_length-time-cooldown.fire_elemental.remains)%150)))
actions.single_target+=/lightning_bolt,if=buff.surge_of_power.up
actions.single_target+=/lava_burst,if=cooldown_react&!talent.master_of_the_elements.enabled
# Slightly game Icefury buff to hopefully buff some empowered Frost Shocks with Master of the Elements.
actions.single_target+=/icefury,if=talent.icefury.enabled&!(maelstrom>75&cooldown.lava_burst.remains<=0)&(!talent.storm_elemental.enabled|cooldown.storm_elemental.remains<120)
actions.single_target+=/lava_burst,if=cooldown_react&charges>talent.echo_of_the_elements.enabled
# Slightly delay using Icefury empowered Frost Shocks to empower them with Master of the Elements too.
actions.single_target+=/frost_shock,if=talent.icefury.enabled&buff.icefury.up&buff.icefury.remains<1.1*gcd*buff.icefury.stack
actions.single_target+=/lava_burst,if=cooldown_react
# Don't accidentally use Surge of Power with Flame Shock during single target.
actions.single_target+=/flame_shock,target_if=refreshable&!buff.surge_of_power.up
actions.single_target+=/totem_mastery,if=talent.totem_mastery.enabled&(buff.resonance_totem.remains<6|(buff.resonance_totem.remains<(buff.ascendance.duration+cooldown.ascendance.remains)&cooldown.ascendance.remains<15))
actions.single_target+=/frost_shock,if=talent.icefury.enabled&buff.icefury.up&(buff.icefury.remains<gcd*4*buff.icefury.stack|buff.stormkeeper.up|!talent.master_of_the_elements.enabled)
actions.single_target+=/lightning_bolt
actions.single_target+=/flame_shock,moving=1,target_if=refreshable
actions.single_target+=/flame_shock,moving=1,if=movement.distance>6
# Frost Shock is our movement filler.
actions.single_target+=/frost_shock,moving=1

head=hood_of_the_dark_reaper,id=159391,bonus_id=1587/4819/4775,azerite_powers=457/416/30/83/13
neck=heart_of_azeroth,id=158075,bonus_id=4929/5814/4936/1566,azerite_level=48
shoulders=pauldrons_of_ancestral_vengeance,id=165921,bonus_id=4824/1537/4775,azerite_powers=457/562/461/87/13
back=loa_exultants_shroud,id=165512,bonus_id=4800/1537
chest=mistfire_raiment,id=165540,bonus_id=4824/1537/4775,azerite_powers=457/562/31/474/13
wrists=icebinders_bracers,id=165542,bonus_id=4800/1537
hands=grips_of_harmonious_spirits,id=165531,bonus_id=4800/1537
waist=goldenscale_girdle,id=165538,bonus_id=4800/1537
legs=deathhunters_legguards,id=165536,bonus_id=4800/1537
feet=boots_of_the_gilded_path,id=165541,bonus_id=4800/1537
finger1=seal_of_the_zandalari_empire,id=165567,bonus_id=4800/1537,enchant=pact_of_critical_strike
finger2=band_of_multisided_strikes,id=165565,bonus_id=4800/1537,enchant=pact_of_critical_strike
trinket1=incandescent_sliver,id=165571,bonus_id=4800/1537
trinket2=crest_of_paku,id=166418,bonus_id=4800/1537
main_hand=akundas_shocksplitter,id=165594,bonus_id=4800/1537,enchant=torrent_of_elements
off_hand=sunburst_crest,id=165584,bonus_id=4800/1537

# Gear Summary
# gear_ilvl=416.81
# gear_strength=217
# gear_stamina=9969
# gear_intellect=7318
# gear_crit_rating=986
# gear_haste_rating=1063
# gear_mastery_rating=538
# gear_versatility_rating=807
# gear_armor=5946
# set_bonus=gift_of_the_loa_2pc=1
