aboutsummaryrefslogtreecommitdiff
path: root/src/game/Unit.cpp
diff options
context:
space:
mode:
authorQAston <none@none>2009-02-06 22:08:03 +0100
committerQAston <none@none>2009-02-06 22:08:03 +0100
commite920c9d1abb165f533dc9563a27e342cc93e100d (patch)
treef329ef0fece4b11ce21809052d75b0149f6b4e3e /src/game/Unit.cpp
parentecfe941941039dd0aa16cda64b55dcf3a7170af5 (diff)
*Handle aura SPELL_AURA_MOD_HOT_PCT.
--HG-- branch : trunk
Diffstat (limited to 'src/game/Unit.cpp')
-rw-r--r--src/game/Unit.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index 4cc5c532fc0..dad619bab86 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -8656,6 +8656,18 @@ uint32 Unit::SpellHealingBonus(Unit *pVictim, SpellEntry const *spellProto, uint
if(maxval)
TakenTotalMod *= (100.0f + maxval) / 100.0f;
+ if(damagetype==DOT)
+ {
+ // Healing over time taken percent
+ float minval_hot = GetMaxNegativeAuraModifier(SPELL_AURA_MOD_HOT_PCT);
+ if(minval_hot)
+ TakenTotalMod *= (100.0f + minval_hot) / 100.0f;
+
+ float maxval_hot = GetMaxPositiveAuraModifier(SPELL_AURA_MOD_HOT_PCT);
+ if(maxval_hot)
+ TakenTotalMod *= (100.0f + maxval_hot) / 100.0f;
+ }
+
AuraList const& mHealingGet= pVictim->GetAurasByType(SPELL_AURA_MOD_HEALING_RECEIVED);
for(AuraList::const_iterator i = mHealingGet.begin(); i != mHealingGet.end(); ++i)
if (GetGUID()==(*i)->GetCasterGUID() && (*i)->isAffectedOnSpell(spellProto) )