From 314607e54726b3a2b79c6fef0dbd507f4e92898f Mon Sep 17 00:00:00 2001 From: hondacrx Date: Tue, 22 Jun 2021 20:46:24 -0400 Subject: [PATCH] Core/Unit: fix mess-up with CalcArmorReducedDamage parameter order Port From (https://github.com/TrinityCore/TrinityCore/commit/bf4330bfb58d5c23b651bc8397a15b10f33672b8) --- Source/Game/Entities/Unit/Unit.cs | 2 +- Source/Game/Spells/Auras/AuraEffect.cs | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Source/Game/Entities/Unit/Unit.cs b/Source/Game/Entities/Unit/Unit.cs index 3ad23f708..8d747fc9b 100644 --- a/Source/Game/Entities/Unit/Unit.cs +++ b/Source/Game/Entities/Unit/Unit.cs @@ -3403,7 +3403,7 @@ namespace Game.Entities // Spells with melee and magic school mask, decide whether resistance or armor absorb is higher if (spellInfo != null && spellInfo.HasAttribute(SpellCustomAttributes.SchoolmaskNormalWithMagic)) { - uint damageAfterArmor = CalcArmorReducedDamage(attacker, victim, damage, spellInfo, WeaponAttackType.BaseAttack); + uint damageAfterArmor = CalcArmorReducedDamage(attacker, victim, damage, spellInfo, spellInfo.GetAttackType()); float armorReduction = damage - damageAfterArmor; // pick the lower one, the weakest resistance counts diff --git a/Source/Game/Spells/Auras/AuraEffect.cs b/Source/Game/Spells/Auras/AuraEffect.cs index 1693542c9..11f59bf04 100644 --- a/Source/Game/Spells/Auras/AuraEffect.cs +++ b/Source/Game/Spells/Auras/AuraEffect.cs @@ -4982,9 +4982,9 @@ namespace Game.Spells // Calculate armor mitigation if (Unit.IsDamageReducedByArmor(GetSpellInfo().GetSchoolMask(), GetSpellInfo(), (sbyte)GetEffIndex())) { - uint damageReductedArmor = Unit.CalcArmorReducedDamage(caster, target, damage, GetSpellInfo(), GetSpellInfo().GetAttackType(), GetBase().GetCasterLevel()); - cleanDamage.mitigated_damage += damage - damageReductedArmor; - damage = damageReductedArmor; + uint damageReducedArmor = Unit.CalcArmorReducedDamage(caster, target, damage, GetSpellInfo(), GetSpellInfo().GetAttackType(), GetBase().GetCasterLevel()); + cleanDamage.mitigated_damage += damage - damageReducedArmor; + damage = damageReducedArmor; } if (!GetSpellInfo().HasAttribute(SpellAttr4.FixedDamage)) @@ -5047,7 +5047,7 @@ namespace Game.Spells caster.SpellHitResult(target, GetSpellInfo(), false) != SpellMissInfo.None) return; - CleanDamage cleanDamage = new(0, 0, WeaponAttackType.BaseAttack, MeleeHitOutcome.Normal); + CleanDamage cleanDamage = new(0, 0, GetSpellInfo().GetAttackType(), MeleeHitOutcome.Normal); uint stackAmountForBonuses = !GetSpellEffectInfo().EffectAttributes.HasFlag(SpellEffectAttributes.NoScaleWithStack) ? GetBase().GetStackAmount() : 1u; @@ -5066,9 +5066,9 @@ namespace Game.Spells // Calculate armor mitigation if (Unit.IsDamageReducedByArmor(GetSpellInfo().GetSchoolMask(), GetSpellInfo(), (sbyte)GetEffIndex())) { - uint damageReductedArmor = Unit.CalcArmorReducedDamage(caster, target, damage, GetSpellInfo(), GetSpellInfo().GetAttackType(), GetBase().GetCasterLevel()); - cleanDamage.mitigated_damage += damage - damageReductedArmor; - damage = damageReductedArmor; + uint damageReducedArmor = Unit.CalcArmorReducedDamage(caster, target, damage, GetSpellInfo(), GetSpellInfo().GetAttackType(), GetBase().GetCasterLevel()); + cleanDamage.mitigated_damage += damage - damageReducedArmor; + damage = damageReducedArmor; } if (!GetSpellInfo().HasAttribute(SpellAttr4.FixedDamage)) @@ -5083,7 +5083,7 @@ namespace Game.Spells damage = (uint)dmg; - DamageInfo damageInfo = new(caster, target, damage, GetSpellInfo(), GetSpellInfo().GetSchoolMask(), DamageEffectType.DOT, WeaponAttackType.BaseAttack); + DamageInfo damageInfo = new(caster, target, damage, GetSpellInfo(), GetSpellInfo().GetSchoolMask(), DamageEffectType.DOT, GetSpellInfo().GetAttackType()); Unit.CalcAbsorbResist(damageInfo); uint absorb = damageInfo.GetAbsorb();