Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void execute() override
- {
- warlock_td_t* td = this->td(target);
- dot_t* dot = td->dots_immolate;
- assert(dot->current_action);
- action_state_t* state = dot->current_action->get_state(dot->state);
- dot->current_action->calculate_tick_amount(state, 1.0);
- double tick_base_damage = state->result_raw;
- timespan_t remaining = std::min(dot->remains(), timespan_t::from_seconds(data().effectN(1).base_value()));
- timespan_t dot_tick_time = dot->current_action->tick_time(state);
- double ticks_left = remaining / dot_tick_time;
- double total_damage = ticks_left * tick_base_damage;
- action_state_t::release(state);
- this->base_dd_min = this->base_dd_max = total_damage;
- warlock_spell_t::execute();
- td->dots_immolate->reduce_duration(remaining);
- }
Advertisement
Add Comment
Please, Sign In to add comment