From c823f1424e7ab8188026a00da4cb5918e9b9a29a Mon Sep 17 00:00:00 2001 From: Bloodmallet Date: Sat, 25 Nov 2017 23:51:03 +0100 Subject: [PATCH] [Shaman] Elemental fix T21 trigger moment, improve IF APL, fix legendary shoulders proc usage in APL --- engine/class_modules/sc_shaman.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/engine/class_modules/sc_shaman.cpp b/engine/class_modules/sc_shaman.cpp index e290021f481..4d0f8a24e0f 100644 --- a/engine/class_modules/sc_shaman.cpp +++ b/engine/class_modules/sc_shaman.cpp @@ -4593,7 +4593,6 @@ struct lava_burst_t : public shaman_spell_t p() -> buff.power_of_the_maelstrom -> trigger( p() -> buff.power_of_the_maelstrom -> max_stack() ); - p() -> buff.t21_2pc_elemental -> trigger(); } timespan_t execute_time() const override @@ -4612,6 +4611,9 @@ struct lava_burst_t : public shaman_spell_t if ( result_is_hit( state -> result ) ) { + + p() -> buff.t21_2pc_elemental -> trigger(); + if ( spreader && sim -> target_non_sleeping_list.size() > 1 ) { spreader -> set_target( state -> target ); @@ -7681,8 +7683,8 @@ void shaman_t::init_action_list_elemental() // Single target - Lightning Rod single_lr -> add_action( this, "Flame Shock", "if=!ticking|dot.flame_shock.remains<=gcd" ); - single_lr -> add_talent( this, "Elemental Blast", "", "Keep your EB always on Cooldown." ); single_lr -> add_action( this, "Earthquake", "if=buff.echoes_of_the_great_sundering.up&!buff.ascendance.up", "The check for Ascendance is needed thanks to the legendary gloves." ); + single_lr -> add_talent( this, "Elemental Blast", "", "Keep your EB always on Cooldown." ); single_lr -> add_action( this, "Earth Shock", "if=maelstrom>=117|!artifact.swelling_maelstrom.enabled&maelstrom>=92" ); single_lr -> add_action( this, "Stormkeeper", "if=raid_event.adds.count<3|raid_event.adds.in>50", "Keep SK for large or soon add waves." ); single_lr -> add_talent( this, "Liquid Magma Totem", "if=raid_event.adds.count<3|raid_event.adds.in>50" ); @@ -7703,8 +7705,9 @@ void shaman_t::init_action_list_elemental() // Single target - Ice Fury single_if -> add_action( this, "Flame Shock", "if=!ticking|dot.flame_shock.remains<=gcd" ); single_if -> add_action( this, "Earthquake", "if=buff.echoes_of_the_great_sundering.up&!buff.ascendance.up", "The check for Ascendance is needed thanks to the legendary gloves." ); - single_if -> add_action( this, "Frost Shock", "if=buff.icefury.up&maelstrom>=111&!buff.ascendance.up" ); single_if -> add_talent( this, "Elemental Blast", "", "Keep your EB always on Cooldown." ); + single_if -> add_action( this, "Earth Shock", "if=(maelstrom>=111|!artifact.swelling_maelstrom.enabled&maelstrom>=92)&buff.earthen_strength.up" ); + single_if -> add_action( this, "Frost Shock", "if=buff.icefury.up&maelstrom>=20&!buff.ascendance.up&buff.earthen_strength.up" ); single_if -> add_action( this, "Earth Shock", "if=maelstrom>=117|!artifact.swelling_maelstrom.enabled&maelstrom>=92" ); single_if -> add_action( this, "Stormkeeper", "if=raid_event.adds.count<3|raid_event.adds.in>50", "Keep SK for large or soon spawning add waves." ); single_if -> add_talent( this, "Icefury", "if=(raid_event.movement.in<5|maelstrom<=101&artifact.swelling_maelstrom.enabled|!artifact.swelling_maelstrom.enabled&maelstrom<=76)&!buff.ascendance.up" ); @@ -7712,11 +7715,10 @@ void shaman_t::init_action_list_elemental() single_if -> add_action( this, "Lightning Bolt", "if=buff.power_of_the_maelstrom.up&buff.stormkeeper.up&spell_targets.chain_lightning<3" ); single_if -> add_action( this, "Lava Burst", "if=dot.flame_shock.remains>cast_time&cooldown_react" ); single_if -> add_action( this, "Frost Shock", "if=buff.icefury.up&((maelstrom>=20&raid_event.movement.in>buff.icefury.remains)|buff.icefury.remains<(1.5*spell_haste*buff.icefury.stack+1))" ); - single_if -> add_action( this, "Flame Shock","if=maelstrom>=20&buff.elemental_focus.up,target_if=refreshable" ); + single_if -> add_action( this, "Flame Shock", "if=maelstrom>=20&buff.elemental_focus.up,target_if=refreshable" ); single_if -> add_action( this, "Frost Shock", "moving=1,if=buff.icefury.up" ); - single_if -> add_action( this, "Earth Shock", "if=maelstrom>=111|!artifact.swelling_maelstrom.enabled&maelstrom>=86|equipped.smoldering_heart&equipped.the_deceivers_blood_pact&maelstrom>70&talent.aftershock.enabled", "If you equipped Smoldering Heart, Deceivers Blood Pact and skilled Aftershock, you essentially gamble for procs." ); + single_if -> add_action( this, "Earth Shock", "if=maelstrom>=111|!artifact.swelling_maelstrom.enabled&maelstrom>=86|equipped.smoldering_heart&equipped.the_deceivers_blood_pact&maelstrom>70&talent.aftershock.enabled&buff.earthen_strength.up", "If you equipped Smoldering Heart, Deceivers Blood Pact and skilled Aftershock, you essentially gamble for procs." ); single_if -> add_talent( this, "Totem Mastery", "if=buff.resonance_totem.remains<10" ); - single_if -> add_action( this, "Earthquake", "if=buff.echoes_of_the_great_sundering.up" ); single_if -> add_action( this, "Lightning Bolt", "if=buff.power_of_the_maelstrom.up&spell_targets.chain_lightning<3" ); single_if -> add_action( this, "Chain Lightning", "if=active_enemies>1&spell_targets.chain_lightning>1" ); single_if -> add_action( this, "Lightning Bolt" ); @@ -7728,8 +7730,8 @@ void shaman_t::init_action_list_elemental() single_asc -> add_talent( this, "Ascendance", "if=dot.flame_shock.remains>buff.ascendance.duration&(time>=60|buff.bloodlust.up)&cooldown.lava_burst.remains>0&!buff.stormkeeper.up" ); single_asc -> add_action( this, "Flame Shock", "if=!ticking|dot.flame_shock.remains<=gcd" ); single_asc -> add_action( this, "Flame Shock", "if=maelstrom>=20&remains<=buff.ascendance.duration&cooldown.ascendance.remains+buff.ascendance.duration<=duration" ); - single_asc -> add_talent( this, "Elemental Blast", "", "Keep your EB always on Cooldown." ); single_asc -> add_action( this, "Earthquake", "if=buff.echoes_of_the_great_sundering.up&!buff.ascendance.up" ); + single_asc -> add_talent( this, "Elemental Blast", "", "Keep your EB always on Cooldown." ); single_asc -> add_action( this, "Earth Shock", "if=maelstrom>=117|!artifact.swelling_maelstrom.enabled&maelstrom>=92" ); single_asc -> add_action( this, "Stormkeeper", "if=raid_event.adds.count<3|raid_event.adds.in>50", "Keep SK for large or soon add waves." ); single_asc -> add_talent( this, "Liquid Magma Totem", "if=raid_event.adds.count<3|raid_event.adds.in>50" );