Merge branch 'master' of https://github.com/TrinityCore/TrinityCore
This commit is contained in:
@@ -10683,7 +10683,7 @@ uint32 Unit::SpellDamageBonusTaken(Unit* caster, SpellInfo const* spellProto, ui
|
|||||||
for (AuraEffectList::const_iterator i = IgnoreResistAuras.begin(); i != IgnoreResistAuras.end(); ++i)
|
for (AuraEffectList::const_iterator i = IgnoreResistAuras.begin(); i != IgnoreResistAuras.end(); ++i)
|
||||||
{
|
{
|
||||||
if ((*i)->GetMiscValue() & spellProto->GetSchoolMask())
|
if ((*i)->GetMiscValue() & spellProto->GetSchoolMask())
|
||||||
TakenTotalCasterMod += ((*i)->GetBaseAmount()/100);
|
TakenTotalCasterMod += (float((*i)->GetAmount())/100);
|
||||||
}
|
}
|
||||||
|
|
||||||
// from positive and negative SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN
|
// from positive and negative SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN
|
||||||
@@ -10754,12 +10754,13 @@ uint32 Unit::SpellDamageBonusTaken(Unit* caster, SpellInfo const* spellProto, ui
|
|||||||
if (TakenTotalCasterMod)
|
if (TakenTotalCasterMod)
|
||||||
{
|
{
|
||||||
if (TakenTotal < 0)
|
if (TakenTotal < 0)
|
||||||
|
{
|
||||||
if (TakenTotalMod < 1)
|
if (TakenTotalMod < 1)
|
||||||
tmpDamage = ((float(CalculatePctF(pdamage, TakenTotalCasterMod) + TakenTotal) * TakenTotalMod) + CalculatePctF(pdamage, TakenTotalCasterMod));
|
tmpDamage = ((float(CalculatePctF(pdamage, TakenTotalCasterMod) + TakenTotal) * TakenTotalMod) + CalculatePctF(pdamage, TakenTotalCasterMod));
|
||||||
else
|
else
|
||||||
tmpDamage = ((float(CalculatePctF(pdamage, TakenTotalCasterMod) + TakenTotal) + CalculatePctF(pdamage, TakenTotalCasterMod)) * TakenTotalMod);
|
tmpDamage = ((float(CalculatePctF(pdamage, TakenTotalCasterMod) + TakenTotal) + CalculatePctF(pdamage, TakenTotalCasterMod)) * TakenTotalMod);
|
||||||
else
|
}
|
||||||
if (TakenTotalMod < 1)
|
else if (TakenTotalMod < 1)
|
||||||
tmpDamage = ((CalculatePctF(float(pdamage) + TakenTotal, TakenTotalCasterMod) * TakenTotalMod) + CalculatePctF(float(pdamage) + TakenTotal, TakenTotalCasterMod));
|
tmpDamage = ((CalculatePctF(float(pdamage) + TakenTotal, TakenTotalCasterMod) * TakenTotalMod) + CalculatePctF(float(pdamage) + TakenTotal, TakenTotalCasterMod));
|
||||||
}
|
}
|
||||||
if (!tmpDamage)
|
if (!tmpDamage)
|
||||||
@@ -11722,7 +11723,7 @@ uint32 Unit::MeleeDamageBonusTaken(Unit* attacker, uint32 pdamage, WeaponAttackT
|
|||||||
for (AuraEffectList::const_iterator i = IgnoreResistAuras.begin(); i != IgnoreResistAuras.end(); ++i)
|
for (AuraEffectList::const_iterator i = IgnoreResistAuras.begin(); i != IgnoreResistAuras.end(); ++i)
|
||||||
{
|
{
|
||||||
if ((*i)->GetMiscValue() & spellProto->GetSchoolMask())
|
if ((*i)->GetMiscValue() & spellProto->GetSchoolMask())
|
||||||
TakenTotalCasterMod += ((*i)->GetBaseAmount()/100);
|
TakenTotalCasterMod += (float((*i)->GetAmount())/100);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ..taken
|
// ..taken
|
||||||
@@ -11813,12 +11814,13 @@ uint32 Unit::MeleeDamageBonusTaken(Unit* attacker, uint32 pdamage, WeaponAttackT
|
|||||||
if (TakenTotalCasterMod)
|
if (TakenTotalCasterMod)
|
||||||
{
|
{
|
||||||
if (TakenFlatBenefit < 0)
|
if (TakenFlatBenefit < 0)
|
||||||
|
{
|
||||||
if (TakenTotalMod < 1)
|
if (TakenTotalMod < 1)
|
||||||
tmpDamage = ((float(CalculatePctF(pdamage, TakenTotalCasterMod) + TakenFlatBenefit) * TakenTotalMod) + CalculatePctF(pdamage, TakenTotalCasterMod));
|
tmpDamage = ((float(CalculatePctF(pdamage, TakenTotalCasterMod) + TakenFlatBenefit) * TakenTotalMod) + CalculatePctF(pdamage, TakenTotalCasterMod));
|
||||||
else
|
else
|
||||||
tmpDamage = ((float(CalculatePctF(pdamage, TakenTotalCasterMod) + TakenFlatBenefit) + CalculatePctF(pdamage, TakenTotalCasterMod)) * TakenTotalMod);
|
tmpDamage = ((float(CalculatePctF(pdamage, TakenTotalCasterMod) + TakenFlatBenefit) + CalculatePctF(pdamage, TakenTotalCasterMod)) * TakenTotalMod);
|
||||||
else
|
}
|
||||||
if (TakenTotalMod < 1)
|
else if (TakenTotalMod < 1)
|
||||||
tmpDamage = ((CalculatePctF(float(pdamage) + TakenFlatBenefit, TakenTotalCasterMod) * TakenTotalMod) + CalculatePctF(float(pdamage) + TakenFlatBenefit, TakenTotalCasterMod));
|
tmpDamage = ((CalculatePctF(float(pdamage) + TakenFlatBenefit, TakenTotalCasterMod) * TakenTotalMod) + CalculatePctF(float(pdamage) + TakenFlatBenefit, TakenTotalCasterMod));
|
||||||
}
|
}
|
||||||
if (!tmpDamage)
|
if (!tmpDamage)
|
||||||
|
|||||||
Reference in New Issue
Block a user