Код:
// Immolate Spell =============================================================
struct immolate_t : public warlock_spell_t
{
cooldown_t* conflagrate_cooldown;
double conflagrate_lag;
immolate_t( player_t* player, const std::string& options_str ) :
warlock_spell_t( "immolate", player, SCHOOL_FIRE, TREE_DESTRUCTION ),
conflagrate_cooldown(0), conflagrate_lag(0.5) {
warlock_t* p = player -> cast_warlock();
option_t options[] =
{
{ "conflagrate_lag", OPT_FLT, &conflagrate_lag },
{ NULL, OPT_UNKNOWN, NULL }
};
parse_options( options, options_str );
static rank_t ranks[] =
{
{ 80, 11, 460, 460, 157, 0.17 },
{ 75, 10, 370, 370, 139, 0.17 },
{ 69, 9, 327, 327, 123, 445 },
{ 60, 8, 279, 279, 102, 380 },
{ 60, 7, 258, 258, 97, 370 },
{ 0, 0, 0, 0, 0, 0 }
};
init_rank( ranks, 47811 );
base_execute_time = 2.0;
may_crit = true;
base_tick_time = 3.0;
num_ticks = 5;
direct_power_mod = 0.20;
tick_power_mod = 0.20;
tick_may_crit = true;
base_cost *= 1.0 - util_t::talent_rank( p -> talents.cataclysm, 3, 0.04, 0.07, 0.10 );
base_execute_time -= p -> talents.bane * 0.1;
base_crit += p -> talents.devastation * 0.05;
base_crit_bonus_multiplier *= 1.0 + p -> talents.ruin * 0.20;
base_dd_multiplier *= 1.0 + ( p -> talents.emberstorm * 0.03 +
p -> set_bonus.tier8_2pc_caster() * 0.10 +
p -> set_bonus.tier9_4pc_caster() * 0.10 +
p -> talents.improved_immolate * 0.10 );
base_td_multiplier *= 1.0 + ( p -> talents.improved_immolate * 0.10 +
p -> glyphs.immolate * 0.10 +
p -> talents.aftermath * 0.03 +
p -> talents.emberstorm * 0.03 +
p -> set_bonus.tier8_2pc_caster() * 0.10 +
p -> set_bonus.tier9_4pc_caster() * 0.10 );
num_ticks += p -> talents.molten_core;
dot = p -> get_dot( "immo_ua" );
conflagrate_cooldown = p -> get_cooldown( "conflagrate" );
observer = &( p -> active_immolate );
}
virtual void execute()
{
base_td = base_td_init;
warlock_spell_t::execute();
if ( conflagrate_lag > 0 )
{
double travel_ready = sim -> current_time + conflagrate_lag;
if ( travel_ready > conflagrate_cooldown -> ready )
{
conflagrate_cooldown -> ready = travel_ready; }
}
}
virtual void tick()
{
warlock_t* p = player -> cast_warlock();
warlock_spell_t::tick();
if ( p -> set_bonus.tier10_4pc_caster() && tick_dmg > 0 )
{
p -> buffs_tier10_4pc_caster -> trigger();
}
p -> buffs_tier7_2pc_caster -> trigger();
if ( p -> set_bonus.tier6_2pc_caster() ) p -> resource_gain( RESOURCE_HEALTH, 70 );
}
};
Репорты, указанные тобою, не имеют ничего общего с задержкой конфлы. Тематику алдоранского репорта еще раньше я уже оформил в репорт здесь, ничего нового там для меня нет.