aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorn0n4m3 <none@none>2010-01-01 06:54:50 +0100
committern0n4m3 <none@none>2010-01-01 06:54:50 +0100
commitbec67fd68e6a8b1b0ca7a6a9437cfc5950a63e96 (patch)
tree78c00f34bb2882275d13b182f4a80a85d58e1f05 /src
parent6d553237d5a175abb976e1a60715c9c7b0f0e738 (diff)
Fixed spell Glacier Rot, by Metaphysical.Drama.
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/game/Unit.cpp16
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)