aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRegigicas <regigicas@hotmail.es>2016-08-22 21:16:26 +0200
committerShauren <shauren.trinity@gmail.com>2016-08-22 21:16:26 +0200
commit796e851a8f61ea82d267af4931fe9bd1e09b5902 (patch)
tree63d80a5e70ce9cb2be74b9929704a4c0ca986e0e
parent5f87c3f1b3ef4dcf695b54980ada9c34dea033a8 (diff)
Core/Spell: Restore SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN behavior (#17704)
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index ee8519c5dea..f03d18a1a13 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -8048,6 +8048,10 @@ uint32 Unit::SpellDamageBonusTaken(Unit* caster, SpellInfo const* spellProto, ui
TakenTotalCasterMod += (float((*i)->GetAmount()));
}
+ // from positive and negative SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN
+ // multiplicative bonus, for example Dispersion + Shadowform (0.10*0.85=0.085)
+ TakenTotalMod *= GetTotalAuraMultiplierByMiscMask(SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN, spellProto->GetSchoolMask());
+
// From caster spells
AuraEffectList const& mOwnerTaken = GetAuraEffectsByType(SPELL_AURA_MOD_SPELL_DAMAGE_FROM_CASTER);
for (AuraEffectList::const_iterator i = mOwnerTaken.begin(); i != mOwnerTaken.end(); ++i)