Core/Unit: fix mess-up with CalcArmorReducedDamage parameter order
Port From (https://github.com/TrinityCore/TrinityCore/commit/bf4330bfb58d5c23b651bc8397a15b10f33672b8)
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user