aboutsummaryrefslogtreecommitdiff
path: root/src/game/SpellEffects.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/SpellEffects.cpp')
-rw-r--r--src/game/SpellEffects.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index aa4422e2718..58f59f429c4 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -4312,8 +4312,16 @@ void Spell::SpellDamageWeaponDmg(uint32 i)
case SPELLFAMILY_DEATHKNIGHT:
{
// Obliterate (12.5% more damage per disease)
+ bool consumeDiseases = true;
+ // Annihilation
+ if (AuraEffect * aurEff = m_caster->GetDummyAura(SPELLFAMILY_DEATHKNIGHT, 2710))
+ {
+ // Do not consume diseases if roll sucesses
+ if (roll_chance_i(aurEff->GetAmount()))
+ consumeDiseases = false;
+ }
if (m_spellInfo->SpellFamilyFlags[1] & 0x20000)
- totalDamagePercentMod *= (float(CalculateDamage(2, unitTarget) * unitTarget->GetDiseasesByCaster(m_caster->GetGUID(), true) / 2) + 100.0f) / 100.f;
+ totalDamagePercentMod *= (float(CalculateDamage(2, unitTarget) * unitTarget->GetDiseasesByCaster(m_caster->GetGUID(), consumeDiseases) / 2) + 100.0f) / 100.f;
break;
}
}