// Death Coil ===============================================================
struct death_coil_t : public death_knight_spell_t
{
death_coil_t( player_t* player, const std::string& options_str, bool sudden_doom = false ) :
death_knight_spell_t( "death_coil", player, SCHOOL_SHADOW, TREE_UNHOLY )
{
death_knight_t* p = player -> cast_death_knight();
option_t options[] =
{
{ NULL, OPT_UNKNOWN, NULL }
};
parse_options( options, options_str );
static rank_t ranks[] =
{
{ 80, 5, 443, 443, 0, 40 },
{ 76, 4, 381, 381, 0, 40 },
{ 68, 3, 275, 275, 0, 40 },
{ 62, 2, 208, 208, 0, 40 },
{ 55, 1, 184, 184, 0, 40 },
{ 0, 0, 0, 0, 0, 0 }
};
init_rank( ranks, 49895 );
base_execute_time = 0;
cooldown -> duration = 0.0;
direct_power_mod = 0.15 * ( 1 + 0.04 * p -> talents.impurity );
base_dd_multiplier *= 1 + ( 0.05 * p -> talents.morbidity +
0.15 * p -> glyphs.dark_death );
base_crit += p -> set_bonus.tier8_2pc_melee() * 0.08;
base_dd_adder = 380 * p -> sigils.vengeful_heart;
if ( sudden_doom )
{
proc = true;
base_cost = 0;
trigger_gcd = 0;
}
reset();
}
void execute()
{
death_knight_t* p = player -> cast_death_knight();
death_knight_spell_t::execute();
if ( p -> buffs_dancing_rune_weapon -> check() )
p -> active_dancing_rune_weapon -> drw_death_coil -> execute();
if ( result_is_hit() ) trigger_unholy_blight( this, direct_dmg );
}
bool ready()
{
if ( proc ) return false;
return death_knight_spell_t::ready();
}
};
[свернуть]