// Trigger Unholy Blight ====================================================
static void trigger_unholy_blight( action_t* a, double death_coil_dmg )
{
death_knight_t* p = a -> player -> cast_death_knight();
if ( ! p -> talents.unholy_blight )
return;
struct unholy_blight_t : public death_knight_spell_t
{
unholy_blight_t( player_t* player ) :
death_knight_spell_t( "unholy_blight", player, SCHOOL_SHADOW, TREE_UNHOLY )
{
base_tick_time = 2.0;
num_ticks = 5;
trigger_gcd = 0;
background = true;
proc = true;
may_crit = false;
may_resist = false;
may_miss = false;
death_knight_t* p = player -> cast_death_knight();
base_multiplier *= 1.0 + p -> glyphs.unholy_blight * 0.4;
reset();
}
void target_debuff( int dmg_type )
{
// no debuff effect
}
void player_buff()
{
// no buffs
}
};
if ( ! p -> active_unholy_blight ) p -> active_unholy_blight = new unholy_blight_t( p );
double unholy_blight_dmg = death_coil_dmg * 0.1;
if ( p -> active_unholy_blight -> ticking )
{
int remaining_ticks = p -> active_unholy_blight -> num_ticks - p -> active_unholy_blight -> current_tick;
unholy_blight_dmg += p -> active_unholy_blight -> base_td * remaining_ticks;
p -> active_unholy_blight -> cancel();
}
p -> active_unholy_blight -> base_td = unholy_blight_dmg / p -> active_unholy_blight -> num_ticks;
p -> active_unholy_blight -> execute();
}
[свернуть]