From bec67fd68e6a8b1b0ca7a6a9437cfc5950a63e96 Mon Sep 17 00:00:00 2001 From: n0n4m3 Date: Fri, 1 Jan 2010 06:54:50 +0100 Subject: Fixed spell Glacier Rot, by Metaphysical.Drama. --HG-- branch : trunk --- src/game/Unit.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src') 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) -- cgit v1.2.3