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
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
+8 -8
View File
@@ -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();