Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Elemental Shaman
- # https://github.com/simulationcraft/simc/
- # July 21, 2019 - 21:17
- # Changes:
- # - Use X_elemental.up rather than checking cooldowns to see if elementals are active.
- # - Disabled Earth Elemental entries.
- # - Remove Ascendance time/BL check.
- # - Add Eye of the Storm / Meteor.
- # 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|fire_elemental.up|storm_elemental.up
- # Interrupt of casts.
- actions+=/wind_shear
- actions+=/totem_mastery,if=talent.totem_mastery.enabled&buff.resonance_totem.remains<2
- actions+=/use_items
- 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)
- # actions+=/earth_elemental,if=!talent.primal_elementalist.enabled|talent.primal_elementalist.enabled&(fire_elemental.down&!talent.storm_elemental.enabled|storm_elemental.down&talent.storm_elemental.enabled)
- actions+=/concentrated_flame
- actions+=/blood_of_the_enemy
- actions+=/guardian_of_azeroth
- actions+=/focused_azerite_beam
- actions+=/purifying_blast
- actions+=/the_unbound_force
- actions+=/memory_of_lucid_dreams
- actions+=/ripple_in_space
- actions+=/worldvein_resonance
- 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+=/eye_of_the_storm,if=storm_elemental.up&buff.call_lightning.remains>=8
- actions+=/meteor
- 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,cycle_targets=1,if=refreshable&(spell_targets.chain_lightning<(5-!talent.totem_mastery.enabled)|!talent.storm_elemental.enabled&(fire_elemental.remains>(14*spell_haste)|cooldown.fire_elemental.remains<(24-14*spell_haste)))&(!talent.storm_elemental.enabled|storm_elemental.down|spell_targets.chain_lightning=3&buff.wind_gust.stack<14)
- actions.aoe+=/ascendance,if=talent.ascendance.enabled&(talent.storm_elemental.enabled&storm_elemental.down&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|(buff.lava_surge.down&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&(!talent.storm_elemental.enabled|storm_elemental.down)&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|storm_elemental.down)
- 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,cycle_targets=1,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,cycle_targets=1,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&storm_elemental.down))&(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&cooldown.lava_burst.remains>0&(storm_elemental.down|!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)&(!(storm_elemental.up&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 unless you have the Lava Shock trait and multiple stacks.
- actions.single_target+=/lightning_bolt,if=buff.stormkeeper.up&spell_targets.chain_lightning<2&(azerite.lava_shock.rank*buff.lava_shock.stack)<26&(buff.master_of_the_elements.up&!talent.surge_of_power.enabled|buff.surge_of_power.up)
- # Use Earthquake versus 2 targets, unless you have Lava Shock. Use Earthquake versus 1 target if you have Tectonic Thunder 3 times and NO Surge of Power enabled and NO Lava Shock.
- actions.single_target+=/earthquake,if=(spell_targets.chain_lightning>1|azerite.tectonic_thunder.rank>=3&!talent.surge_of_power.enabled&azerite.lava_shock.rank<1)&azerite.lava_shock.rank*buff.lava_shock.stack<(36+3*azerite.tectonic_thunder.rank*spell_targets.chain_lightning)&(!talent.surge_of_power.enabled|!dot.flame_shock.refreshable|storm_elemental.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)
- # Cast Earth Shock with Master of the Elements talent but no active Surge of Power buff, and active Stormkeeper buff and Lava Burst coming off CD within the next GCD, and either active Master of the Elements buff, or no available Lava Burst while near MS cap, or single target and multiple Lava Shock traits and many stacks.
- 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|spell_targets.chain_lightning<2&(azerite.lava_shock.rank*buff.lava_shock.stack<26)&buff.stormkeeper.up&cooldown.lava_burst.remains<=gcd)
- # You know what? I had some short explanation here once. But then the condition grew, and I had to split the one Earth Shock line into four...so you have to deal with this abomination now: Cast Earth Shock without Master of the Elements talent, and without having triple Igneous Potential and active Ascendance, and active Stormkeeper buff or near MS cap, or Storm Elemental is inactive, and we can't expect to get an additional use of Storm Elemental in the remaining fight from Surge of Power.
- 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|!(storm_elemental.up&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&!(fire_elemental.up)|talent.storm_elemental.enabled&!(storm_elemental.up))
- actions.single_target+=/lightning_lasso
- # 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=storm_elemental.up&talent.storm_elemental.enabled&(azerite.igneous_potential.rank<2|!buff.lava_surge.up&buff.bloodlust.up)
- # Cast Lightning Bolt regardless of the previous condition if you'd lose a Stormkeeper stack or have Stormkeeper and Master of the Elements active.
- actions.single_target+=/lightning_bolt,if=(buff.stormkeeper.remains<1.1*gcd*buff.stormkeeper.stack|buff.stormkeeper.up&buff.master_of_the_elements.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,cycle_targets=1,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|storm_elemental.down)
- 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,cycle_targets=1,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+=/chain_lightning,if=buff.tectonic_thunder.up&!buff.stormkeeper.up&spell_targets.chain_lightning>1
- actions.single_target+=/lightning_bolt
- actions.single_target+=/flame_shock,moving=1,cycle_targets=1,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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement