Core/Unit: fix mess-up with CalcArmorReducedDamage parameter order

Port From (https://github.com/TrinityCore/TrinityCore/commit/bf4330bfb58d5c23b651bc8397a15b10f33672b8)
This commit is contained in:
hondacrx
2021-06-22 20:46:24 -04:00
parent aae86fe4d1
commit 314607e547
2 changed files with 9 additions and 9 deletions
+1 -1
View File
@@ -3403,7 +3403,7 @@ namespace Game.Entities
// Spells with melee and magic school mask, decide whether resistance or armor absorb is higher // Spells with melee and magic school mask, decide whether resistance or armor absorb is higher
if (spellInfo != null && spellInfo.HasAttribute(SpellCustomAttributes.SchoolmaskNormalWithMagic)) 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; float armorReduction = damage - damageAfterArmor;
// pick the lower one, the weakest resistance counts // pick the lower one, the weakest resistance counts
+8 -8
View File
@@ -4982,9 +4982,9 @@ namespace Game.Spells
// Calculate armor mitigation // Calculate armor mitigation
if (Unit.IsDamageReducedByArmor(GetSpellInfo().GetSchoolMask(), GetSpellInfo(), (sbyte)GetEffIndex())) if (Unit.IsDamageReducedByArmor(GetSpellInfo().GetSchoolMask(), GetSpellInfo(), (sbyte)GetEffIndex()))
{ {
uint damageReductedArmor = Unit.CalcArmorReducedDamage(caster, target, damage, GetSpellInfo(), GetSpellInfo().GetAttackType(), GetBase().GetCasterLevel()); uint damageReducedArmor = Unit.CalcArmorReducedDamage(caster, target, damage, GetSpellInfo(), GetSpellInfo().GetAttackType(), GetBase().GetCasterLevel());
cleanDamage.mitigated_damage += damage - damageReductedArmor; cleanDamage.mitigated_damage += damage - damageReducedArmor;
damage = damageReductedArmor; damage = damageReducedArmor;
} }
if (!GetSpellInfo().HasAttribute(SpellAttr4.FixedDamage)) if (!GetSpellInfo().HasAttribute(SpellAttr4.FixedDamage))
@@ -5047,7 +5047,7 @@ namespace Game.Spells
caster.SpellHitResult(target, GetSpellInfo(), false) != SpellMissInfo.None) caster.SpellHitResult(target, GetSpellInfo(), false) != SpellMissInfo.None)
return; 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; uint stackAmountForBonuses = !GetSpellEffectInfo().EffectAttributes.HasFlag(SpellEffectAttributes.NoScaleWithStack) ? GetBase().GetStackAmount() : 1u;
@@ -5066,9 +5066,9 @@ namespace Game.Spells
// Calculate armor mitigation // Calculate armor mitigation
if (Unit.IsDamageReducedByArmor(GetSpellInfo().GetSchoolMask(), GetSpellInfo(), (sbyte)GetEffIndex())) if (Unit.IsDamageReducedByArmor(GetSpellInfo().GetSchoolMask(), GetSpellInfo(), (sbyte)GetEffIndex()))
{ {
uint damageReductedArmor = Unit.CalcArmorReducedDamage(caster, target, damage, GetSpellInfo(), GetSpellInfo().GetAttackType(), GetBase().GetCasterLevel()); uint damageReducedArmor = Unit.CalcArmorReducedDamage(caster, target, damage, GetSpellInfo(), GetSpellInfo().GetAttackType(), GetBase().GetCasterLevel());
cleanDamage.mitigated_damage += damage - damageReductedArmor; cleanDamage.mitigated_damage += damage - damageReducedArmor;
damage = damageReductedArmor; damage = damageReducedArmor;
} }
if (!GetSpellInfo().HasAttribute(SpellAttr4.FixedDamage)) if (!GetSpellInfo().HasAttribute(SpellAttr4.FixedDamage))
@@ -5083,7 +5083,7 @@ namespace Game.Spells
damage = (uint)dmg; 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); Unit.CalcAbsorbResist(damageInfo);
uint absorb = damageInfo.GetAbsorb(); uint absorb = damageInfo.GetAbsorb();