diff --git a/Source/Framework/Constants/Spells/SpellAuraConst.cs b/Source/Framework/Constants/Spells/SpellAuraConst.cs index 861e0b27e..34f678449 100644 --- a/Source/Framework/Constants/Spells/SpellAuraConst.cs +++ b/Source/Framework/Constants/Spells/SpellAuraConst.cs @@ -256,7 +256,7 @@ namespace Framework.Constants ModAuraDurationByDispelNotStack = 246, CloneCaster = 247, ModCombatResultChance = 248, - ConvertRune = 249, + ModDamagePercentDoneByTargetAuraMechanic = 249, ModIncreaseHealth2 = 250, ModEnemyDodge = 251, ModSpeedSlowAll = 252, diff --git a/Source/Game/Entities/Unit/Unit.Spells.cs b/Source/Game/Entities/Unit/Unit.Spells.cs index 636377257..d45fada80 100644 --- a/Source/Game/Entities/Unit/Unit.Spells.cs +++ b/Source/Game/Entities/Unit/Unit.Spells.cs @@ -200,6 +200,14 @@ namespace Game.Entities return false; }); + // bonus against target aura mechanic + DoneTotalMod *= GetTotalAuraMultiplier(AuraType.ModDamagePercentDoneByTargetAuraMechanic, aurEff => + { + if (victim.HasAuraWithMechanic(1ul << aurEff.GetMiscValue())) + return true; + return false; + }); + // Add SPELL_AURA_MOD_DAMAGE_DONE_FOR_MECHANIC percent bonus if (spellEffectInfo.Mechanic != 0) MathFunctions.AddPct(ref DoneTotalMod, GetTotalAuraModifierByMiscValue(AuraType.ModDamageDoneForMechanic, (int)spellEffectInfo.Mechanic)); diff --git a/Source/Game/Entities/Unit/Unit.cs b/Source/Game/Entities/Unit/Unit.cs index b98b40dc2..d69bc666e 100644 --- a/Source/Game/Entities/Unit/Unit.cs +++ b/Source/Game/Entities/Unit/Unit.cs @@ -3966,6 +3966,14 @@ namespace Game.Entities return false; }); + // bonus against target aura mechanic + DoneTotalMod *= GetTotalAuraMultiplier(AuraType.ModDamagePercentDoneByTargetAuraMechanic, aurEff => + { + if (victim.HasAuraWithMechanic(1ul << aurEff.GetMiscValue())) + return true; + return false; + }); + // Add SPELL_AURA_MOD_DAMAGE_DONE_FOR_MECHANIC percent bonus if (spellEffectInfo != null && spellEffectInfo.Mechanic != 0) MathFunctions.AddPct(ref DoneTotalMod, GetTotalAuraModifierByMiscValue(AuraType.ModDamageDoneForMechanic, (int)spellEffectInfo.Mechanic));