You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
131 lines
15 KiB
131 lines
15 KiB
## 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.remains<gcd&!dot.flame_shock.ticking&(talent.primordial_wave|spell_targets.chain_lightning<=3)&cooldown.ascendance.remains>10
|
|
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&maelstrom<variable.mael_cap-(15+buff.stormkeeper.up*spell_targets.chain_lightning*spell_targets.chain_lightning)
|
|
# Use Lava Surge procs to consume fire part of fusion if you can also buff Earthquake with it.
|
|
actions.aoe+=/lava_burst,cycle_targets=1,if=cooldown_react&buff.lava_surge.up&buff.fusion_of_elements_fire.up&!buff.master_of_the_elements.up&(maelstrom>52-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_rod<active_enemies&(buff.stormkeeper.up|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=talent.lightning_rod&lightning_rod<active_enemies&(buff.stormkeeper.up|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=talent.lightning_rod&lightning_rod<active_enemies&(buff.stormkeeper.up|buff.tempest.up|!talent.surge_of_power)&talent.echoes_of_great_sundering&!buff.echoes_of_great_sundering_es.up
|
|
# Use Icefury to proc Fusion of Elements.
|
|
actions.aoe+=/icefury,if=talent.fusion_of_elements&!(buff.fusion_of_elements_nature.up|buff.fusion_of_elements_fire.up)&(active_enemies<=4|!talent.elemental_blast|!talent.echoes_of_great_sundering)
|
|
# [2-3t] Use Lava Surge procs to buff <anything> 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 <anything> 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.remains<gcd|!talent.primordial_wave
|
|
# Apply Flame shock if it is not up.
|
|
actions.single_target+=/liquid_magma_totem,if=!dot.flame_shock.ticking&!buff.surge_of_power.up&!buff.master_of_the_elements.up
|
|
actions.single_target+=/flame_shock,if=!dot.flame_shock.ticking&!buff.surge_of_power.up&!buff.master_of_the_elements.up
|
|
# Use Primordial Wave as much as possible.
|
|
actions.single_target+=/primordial_wave
|
|
actions.single_target+=/ancestral_swiftness
|
|
# [Hekili] Revised trinket sync to recover when trinket is used before Ascendance.
|
|
actions.single_target+=/ascendance,if=(talent.first_ascendant|variable.ascendance_trinket)&(buff.fury_of_storms.up|cooldown.stormkeeper.remains>12|!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
|