Skip to content

Commit 5da4a26

Browse files
committed
[ele] final fix for pf I swear
1 parent 35dbfea commit 5da4a26

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

engine/class_modules/sc_shaman.cpp

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2066,7 +2066,7 @@ struct shaman_t : public parse_player_effects_t
20662066

20672067
void trigger_secondary_flame_shock( player_t* target, spell_variant variant = spell_variant::NORMAL ) const;
20682068
void trigger_secondary_flame_shock( const action_state_t* state, spell_variant variant = spell_variant::NORMAL ) const;
2069-
void regenerate_flame_shock_dependent_target_list( const action_t* action, const bool ignore_target = false ) const;
2069+
void regenerate_flame_shock_dependent_target_list( const action_t* action ) const;
20702070

20712071
void generate_maelstrom_weapon( const action_t* action, int stacks = 1 );
20722072
void generate_maelstrom_weapon( const action_state_t* state, int stacks = 1 );
@@ -3105,7 +3105,7 @@ struct shaman_spell_base_t : public shaman_action_t<Base>
31053105
this->p()->proc.aftershock->occur();
31063106
}
31073107

3108-
if ( ( this->execute_state && this->execute_state->action->id == 188389 ) ||
3108+
if ( ( this->execute_state->action->id == 188389 ) ||
31093109
( this->is_variant( spell_variant::NORMAL ) && !this->background) )
31103110
{
31113111
this->p()->trigger_ancestor( ancestor_trigger, this->execute_state );
@@ -6904,7 +6904,7 @@ struct lava_burst_t : public shaman_spell_t
69046904

69056905
if ( is_variant( spell_variant::PURGING_FLAMES ) )
69066906
{
6907-
aoe = 5;
6907+
aoe = 5;
69086908
if ( auto vb = p()->find_action( "voltaic_blaze" ) )
69096909
{
69106910
vb->add_child( this );
@@ -6932,7 +6932,7 @@ struct lava_burst_t : public shaman_spell_t
69326932
size_t available_targets( std::vector<player_t*>& tl ) const override
69336933
{
69346934
shaman_spell_t::available_targets( tl );
6935-
p()->regenerate_flame_shock_dependent_target_list( this, is_variant( spell_variant::PURGING_FLAMES ));
6935+
p()->regenerate_flame_shock_dependent_target_list( this );
69366936

69376937
return tl.size();
69386938
}
@@ -7050,7 +7050,14 @@ struct lava_burst_t : public shaman_spell_t
70507050
if (p()->buff.purging_flames->check() && !background)
70517051
{
70527052
assert( p()->action.lava_burst_pf );
7053-
p()->action.lava_burst_pf->execute();
7053+
for ( auto t : target_list() )
7054+
{
7055+
if (t == target)
7056+
{
7057+
continue;
7058+
}
7059+
p()->action.lava_burst_pf->execute_on_target( t );
7060+
}
70547061
p()->buff.purging_flames->decrement();
70557062
}
70567063

@@ -11423,7 +11430,7 @@ void shaman_t::trigger_secondary_flame_shock( const action_state_t* state, spell
1142311430
trigger_secondary_flame_shock( state->target, variant );
1142411431
}
1142511432

11426-
void shaman_t::regenerate_flame_shock_dependent_target_list( const action_t* action, const bool ignore_target ) const
11433+
void shaman_t::regenerate_flame_shock_dependent_target_list( const action_t* action ) const
1142711434
{
1142811435
auto& tl = action->target_cache.list;
1142911436

@@ -11433,11 +11440,6 @@ void shaman_t::regenerate_flame_shock_dependent_target_list( const action_t* act
1143311440

1143411441
tl.erase( it, tl.end() );
1143511442

11436-
if ( ignore_target )
11437-
{
11438-
tl.erase( std::remove( tl.begin(), tl.end(), action->target ), tl.end() );
11439-
}
11440-
1144111443
if ( sim->debug )
1144211444
{
1144311445
sim->print_debug("{} targets with flame_shock on:", *this );

0 commit comments

Comments
 (0)