diff options
author | n0n4m3 <none@none> | 2010-01-01 06:54:50 +0100 |
---|---|---|
committer | n0n4m3 <none@none> | 2010-01-01 06:54:50 +0100 |
commit | bec67fd68e6a8b1b0ca7a6a9437cfc5950a63e96 (patch) | |
tree | 78c00f34bb2882275d13b182f4a80a85d58e1f05 | |
parent | 6d553237d5a175abb976e1a60715c9c7b0f0e738 (diff) |
Fixed spell Glacier Rot, by Metaphysical.Drama.
--HG--
branch : trunk
-rw-r--r-- | src/game/Unit.cpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 568379b386b..a128f6119b2 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -9665,7 +9665,8 @@ uint32 Unit::SpellDamageBonus(Unit *pVictim, SpellEntry const *spellProto, uint3 // Glacier Rot if (spellProto->SpellFamilyFlags[0] & 0x2 || spellProto->SpellFamilyFlags[1] & 0x6) if (AuraEffect * aurEff = GetDummyAura(SPELLFAMILY_DEATHKNIGHT, 196, 0)) - DoneTotalMod *= (100.0f + aurEff->GetAmount()) / 100.0f; + if (pVictim->GetDiseasesByCaster(owner->GetGUID()) > 0) + DoneTotalMod *= (100.0f + aurEff->GetAmount()) / 100.0f; // This is not a typo - Impurity has SPELLFAMILY_DRUID if (AuraEffect * aurEff = GetDummyAura(SPELLFAMILY_DRUID, 1986, 0)) @@ -10704,6 +10705,19 @@ void Unit::MeleeDamageBonus(Unit *pVictim, uint32 *pdamage, WeaponAttackType att } } + // Custom scripted damage + if (spellProto) + switch(spellProto->SpellFamilyName) + { + case SPELLFAMILY_DEATHKNIGHT: + // Glacier Rot + if (spellProto->SpellFamilyFlags[0] & 0x2 || spellProto->SpellFamilyFlags[1] & 0x6) + if (AuraEffect * aurEff = GetDummyAura(SPELLFAMILY_DEATHKNIGHT, 196, 0)) + if (pVictim->GetDiseasesByCaster(owner->GetGUID()) > 0) + DoneTotalMod *= (100.0f + aurEff->GetAmount()) / 100.0f; + break; + } + // ..taken AuraEffectList const& mModDamagePercentTaken = pVictim->GetAurasByType(SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN); for (AuraEffectList::const_iterator i = mModDamagePercentTaken.begin(); i != mModDamagePercentTaken.end(); ++i) |