Skip to content

Commit 8586aa3

Browse files
committed
[Priest] make sure Maddening Tentacles only triggers once
1 parent 13b5d40 commit 8586aa3

File tree

1 file changed

+14
-15
lines changed

1 file changed

+14
-15
lines changed

engine/class_modules/priest/sc_priest_shadow.cpp

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1413,14 +1413,11 @@ struct shadow_weaving_t final : public priest_spell_t
14131413
struct tentacle_slam_damage_t final : public priest_spell_t
14141414
{
14151415
double parent_targets = 1;
1416-
propagate_const<shadow_word_madness_t*> child_swm;
14171416

1418-
tentacle_slam_damage_t( util::string_view n, priest_t& p, const spell_data_t* s )
1419-
: priest_spell_t( n, p, s ), child_swm( new shadow_word_madness_t( priest(), false, true ) )
1417+
tentacle_slam_damage_t( util::string_view n, priest_t& p, const spell_data_t* s ) : priest_spell_t( n, p, s )
14201418
{
14211419
background = true;
14221420
affected_by_shadow_weaving = true;
1423-
child_swm->background = true;
14241421
}
14251422

14261423
// Hacked in until the base spell covers this
@@ -1454,16 +1451,6 @@ struct tentacle_slam_damage_t final : public priest_spell_t
14541451
{
14551452
priest().trigger_random_idol( s );
14561453
}
1457-
1458-
if ( priest().talents.shadow.maddening_tentacles.enabled() )
1459-
{
1460-
// Only trigger this on the main target
1461-
if ( target == s->target )
1462-
{
1463-
child_swm->target = s->target;
1464-
child_swm->execute();
1465-
}
1466-
}
14671454
}
14681455
};
14691456

@@ -1564,21 +1551,33 @@ struct tentacle_slam_base_t : public priest_spell_t
15641551
struct tentacle_slam_t final : public tentacle_slam_base_t
15651552
{
15661553
propagate_const<tentacle_slam_damage_t*> tentacle_slam_damage;
1554+
propagate_const<shadow_word_madness_t*> child_swm;
15671555

15681556
tentacle_slam_t( priest_t& p, util::string_view options_str )
15691557
: tentacle_slam_base_t( p, options_str, "tentacle_slam", p.talents.shadow.tentacle_slam ),
1570-
tentacle_slam_damage( nullptr )
1558+
tentacle_slam_damage( nullptr ),
1559+
child_swm( new shadow_word_madness_t( priest(), false, true ) )
15711560
{
15721561
tentacle_slam_damage =
15731562
new tentacle_slam_damage_t( name_str + "_damage", p, priest().talents.shadow.tentacle_slam_damage );
15741563
add_child( tentacle_slam_damage );
1564+
1565+
child_swm->background = true;
15751566
}
15761567

15771568
void execute() override
15781569
{
15791570
priest_spell_t::execute();
15801571

15811572
tentacle_slam_dots->execute();
1573+
1574+
if ( priest().talents.shadow.maddening_tentacles.enabled() )
1575+
{
1576+
make_event( sim, 500_ms, [ this ] {
1577+
child_swm->target = target;
1578+
child_swm->execute();
1579+
} );
1580+
}
15821581
}
15831582

15841583
void impact( action_state_t* s ) override

0 commit comments

Comments
 (0)