@@ -1594,32 +1594,6 @@ void idol_of_the_war_loa( special_effect_t& effect )
15941594void gaze_of_the_alnseer ( special_effect_t & effect )
15951595{
15961596 auto alnsight_spell = effect.trigger ();
1597-
1598- struct alnsight_cb_t : public dbc_proc_callback_t
1599- {
1600- bool refreshed;
1601- cooldown_t * icd;
1602- alnsight_cb_t ( const special_effect_t & e ) : dbc_proc_callback_t ( e.player, e ), refreshed( false ), icd( nullptr )
1603- {
1604- icd = e.player ->get_cooldown ( e.cooldown_name () );
1605- }
1606-
1607- void execute ( action_t *, action_state_t * ) override
1608- {
1609- effect.custom_buff ->trigger ();
1610- // This is a complete guess at the rate, but, if refreshed, occasionally youll get multiple procs that seem to
1611- // ignore the internal cooldown. Its not that often, and its not consistent at all. Need more data.
1612- if ( refreshed && rng ().roll ( 0.05 ) )
1613- {
1614- make_event ( *effect.player ->sim , 1_ms, [ this ] {
1615- // Randomly reset the ICD if refreshed to emulate the behavior where we see extra stacks being generated.
1616- if ( icd )
1617- icd->reset ( false );
1618- } );
1619- }
1620- }
1621- };
1622-
16231597 auto buff = create_buff<buff_t >( effect.player , alnsight_spell );
16241598
16251599 auto stat = create_buff<stat_buff_t >( effect.player , effect.player ->find_spell ( 1266687 ) )
@@ -1633,20 +1607,10 @@ void gaze_of_the_alnseer( special_effect_t& effect )
16331607 alnsight->proc_flags2_ = PF2_LANDED;
16341608 effect.player ->special_effects .push_back ( alnsight );
16351609
1636- auto alnsight_cb = new alnsight_cb_t ( *alnsight );
1610+ auto alnsight_cb = new dbc_proc_callback_t ( effect. player , *alnsight );
16371611 alnsight_cb->activate_with_buff ( buff, true );
16381612
1639- buff->set_expire_callback ( [ alnsight_cb ]( buff_t *, int , timespan_t ) { alnsight_cb->refreshed = false ; } );
1640-
1641- effect.player ->callbacks .register_callback_execute_function (
1642- effect.driver ()->id (), [ &effect, stat, buff, alnsight_cb ]( auto , auto , const action_state_t * ) {
1643- buff->trigger ();
1644- if ( stat->check () )
1645- {
1646- stat->trigger ();
1647- alnsight_cb->refreshed = true ;
1648- }
1649- } );
1613+ effect.custom_buff = buff;
16501614
16511615 new dbc_proc_callback_t ( effect.player , effect );
16521616}
0 commit comments