Skip to content

Commit

Permalink
[Warlock] Make sure percentage spells do not double-dip multipliers (s…
Browse files Browse the repository at this point in the history
  • Loading branch information
Azevara authored Sep 7, 2024
1 parent 61cba54 commit cf18e35
Showing 1 changed file with 17 additions and 4 deletions.
21 changes: 17 additions & 4 deletions engine/class_modules/warlock/sc_warlock_pets.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -724,6 +724,14 @@ struct soul_strike_t : public warlock_pet_melee_attack_t
background = dual = true;
aoe = -1;
ignores_armor = true;
base_dd_min = base_dd_max = 0;
}

void init_finished() override
{
warlock_pet_melee_attack_t::init_finished();

snapshot_flags &= STATE_NO_MULTIPLIER;
}

size_t available_targets( std::vector<player_t*>& tl ) const override
Expand Down Expand Up @@ -1813,13 +1821,18 @@ struct dimensional_cinder_t : public warlock_pet_spell_t
base_dd_min = base_dd_max = 0;
}

double action_multiplier() const override
void init_finished() override
{
double m = warlock_pet_spell_t::action_multiplier();
warlock_pet_spell_t::init_finished();

m /= 1.0 + p()->o()->warlock_base.destruction_warlock->effectN( 4 ).percent();
snapshot_flags &= ~STATE_MUL_PET;
snapshot_flags &= ~STATE_TGT_MUL_PET;
snapshot_flags &= ~STATE_VERSATILITY;
}

m /= 1.0 + p()->o()->racials.command->effectN( 2 ).percent();
double action_multiplier() const override
{
double m = warlock_pet_spell_t::action_multiplier();

m *= p()->o()->talents.unstable_rifts->effectN( 1 ).percent();

Expand Down

0 comments on commit cf18e35

Please sign in to comment.