tjc12821

Untitled

Jul 12th, 2018
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.86 KB | None | 0 0
  1.       void execute() override
  2.       {
  3.         warlock_td_t* td = this->td(target);
  4.         dot_t* dot = td->dots_immolate;
  5.  
  6.         assert(dot->current_action);
  7.         action_state_t* state = dot->current_action->get_state(dot->state);
  8.         dot->current_action->calculate_tick_amount(state, 1.0);
  9.         double tick_base_damage = state->result_raw;
  10.         timespan_t remaining = std::min(dot->remains(), timespan_t::from_seconds(data().effectN(1).base_value()));
  11.         timespan_t dot_tick_time = dot->current_action->tick_time(state);
  12.         double ticks_left = remaining / dot_tick_time;
  13.  
  14.         double total_damage = ticks_left * tick_base_damage;
  15.  
  16.         action_state_t::release(state);
  17.         this->base_dd_min = this->base_dd_max = total_damage;
  18.  
  19.         warlock_spell_t::execute();
  20.         td->dots_immolate->reduce_duration(remaining);
  21.       }
Advertisement
Add Comment
Please, Sign In to add comment