Core/Units: added a missing check for SPELL_ATTR10_IGNORE_POSITIVE_DAMAGE_TAKEN_MODS when checking for SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN

This commit is contained in:
Ovahlord
2021-04-07 12:31:52 +02:00
parent 47ad0286b1
commit eb22ea3af3

View File

@@ -6880,7 +6880,16 @@ uint32 Unit::SpellDamageBonusTaken(Unit* caster, SpellInfo const* spellProto, ui
{
// 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());
TakenTotalMod *= GetTotalAuraMultiplier(SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN, [spellProto](AuraEffect const* aurEff)
{
if (spellProto->HasAttribute(SPELL_ATTR10_IGNORE_POSITIVE_DAMAGE_TAKEN_MODS) && aurEff->GetAmount() > 0)
return false;
if ((aurEff->GetMiscValue() & spellProto->GetSchoolMask()) != 0)
return true;
return false;
});
// From caster spells
if (caster)