diff --git a/Source/Game/Entities/Unit/Unit.Spells.cs b/Source/Game/Entities/Unit/Unit.Spells.cs index 1d6ab829c..80fb7eaf2 100644 --- a/Source/Game/Entities/Unit/Unit.Spells.cs +++ b/Source/Game/Entities/Unit/Unit.Spells.cs @@ -83,10 +83,7 @@ namespace Game.Entities } } // ... and attack power - var mDamageDonebyAP = GetAuraEffectsByType(AuraType.ModSpellDamageOfAttackPower); - foreach (var eff in mDamageDonebyAP) - if (Convert.ToBoolean(eff.GetMiscValue() & (int)schoolMask)) - DoneAdvertisedBenefit += (int)MathFunctions.CalculatePct(GetTotalAttackPowerValue(WeaponAttackType.BaseAttack), eff.GetAmount()); + DoneAdvertisedBenefit += (int)MathFunctions.CalculatePct(GetTotalAttackPowerValue(WeaponAttackType.BaseAttack), GetTotalAuraModifierByMiscMask(AuraType.ModSpellDamageOfAttackPower, (int)schoolMask)); } return DoneAdvertisedBenefit; @@ -1697,6 +1694,9 @@ namespace Game.Entities if (spellInfo == null) return false; + if (spellInfo.HasAttribute(SpellAttr3.IgnoreHitResult)) + return false; + if (spellInfo.HasAttribute(SpellAttr1.UnaffectedBySchoolImmune) || spellInfo.HasAttribute(SpellAttr2.UnaffectedByAuraSchoolImmune)) return false;