diff --git a/engine/class_modules/monk/sc_monk.cpp b/engine/class_modules/monk/sc_monk.cpp index 0dae4beb285..cd90ef91852 100644 --- a/engine/class_modules/monk/sc_monk.cpp +++ b/engine/class_modules/monk/sc_monk.cpp @@ -6747,8 +6747,7 @@ void monk_t::combat_begin() player->talent.windwalker.tigereye_brew_1->effectN( 1 ).base_value() ) make_event( *player->sim, player, player->buff.tigereye_brew_1, 2_s ); }; - auto data = std::make_unique( period_fn, callback ); - make_event( *sim, this, std::move( data ) ); + make_event( *sim, this, period_fn, callback ); buff.tigereye_brew_1->trigger( as( talent.windwalker.tigereye_brew_1->effectN( 1 ).base_value() ) ); } diff --git a/engine/class_modules/monk/sc_monk.hpp b/engine/class_modules/monk/sc_monk.hpp index c3211402560..26ec4769e19 100644 --- a/engine/class_modules/monk/sc_monk.hpp +++ b/engine/class_modules/monk/sc_monk.hpp @@ -1261,6 +1261,13 @@ struct repeating_dynamic_period_cb_event_t : event_t monk_t *player; std::unique_ptr data; + repeating_dynamic_period_cb_event_t( monk_t *player, std::function period_fn, + std::function callback ) + : event_t( *player->sim, period_fn( player ) ), + data( std::make_unique( period_fn, callback ) ) + { + } + repeating_dynamic_period_cb_event_t( monk_t *player, std::unique_ptr data ) : event_t( *player->sim, data->period_fn( player ) ), player( player ), data( std::move( data ) ) {