Skip to content

Commit

Permalink
[Unholy] Abomination now triggers disease cloud on melee pre-execute
Browse files Browse the repository at this point in the history
  • Loading branch information
nyterage committed Oct 8, 2024
1 parent f98a127 commit 651e674
Showing 1 changed file with 13 additions and 17 deletions.
30 changes: 13 additions & 17 deletions engine/class_modules/sc_death_knight.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4483,9 +4483,21 @@ struct abomination_pet_t : public death_knight_pet_t
{
}

void execute() override
{
// Does not check for Frost Fever or Blood Plauge if Superstrain is talented, only reapplies if VP isnt ticking.
for ( auto& t : dk()->sim->target_non_sleeping_list )
{
death_knight_td_t* td = dk()->get_target_data( t );
if ( !td->dot.virulent_plague->is_ticking() )
pet()->disease_cloud->execute_on_target( t );
}
auto_attack_melee_t::execute();
}

void impact( action_state_t* state ) override
{
pet_melee_attack_t::impact( state );
auto_attack_melee_t::impact( state );
if ( state->result_amount > 0 )
{
pet()->dk()->trigger_festering_wound( state, 1, pet()->dk()->procs.fw_abomination );
Expand All @@ -4510,26 +4522,10 @@ struct abomination_pet_t : public death_knight_pet_t
return RESOURCE_NONE;
}

void arise() override
{
death_knight_pet_t::arise();
for ( auto& t : sim->target_non_sleeping_list )
{
disease_cloud->execute_on_target( t );
}
}

void create_actions() override
{
death_knight_pet_t::create_actions();
disease_cloud = get_action<disease_cloud_t>( "disease_cloud", this );

sim->target_non_sleeping_list.register_callback( [ & ]( player_t* t ) {
if ( !t->is_enemy() || dk()->pets.abomination.active_pet() == nullptr )
return;

disease_cloud->execute_on_target( t );
} );
}

attack_t* create_main_hand_auto_attack() override
Expand Down

0 comments on commit 651e674

Please sign in to comment.