Core/Spells: all bleed effects should ignore armor
This commit is contained in:
1 parent
f6bb4241f6
commit
3a3e70f2b6
4 files changed
+18
-32
No files matched your search
@@ -1518,27 +1518,13 @@ void Unit::HandleEmoteCommand(uint32 anim_id)
|
||||
SendMessageToSet(&data, true);
|
||||
}
|
||||
|
||||
/*static*/ bool Unit::IsDamageReducedByArmor(SpellSchoolMask schoolMask, SpellInfo const* spellInfo /*= nullptr*/, int8 effIndex /*= -1*/)
|
||||
/*static*/ bool Unit::IsDamageReducedByArmor(SpellSchoolMask schoolMask, SpellInfo const* spellInfo /*= nullptr*/)
|
||||
{
|
||||
// only physical spells damage gets reduced by armor
|
||||
if ((schoolMask & SPELL_SCHOOL_MASK_NORMAL) == 0)
|
||||
return false;
|
||||
if (spellInfo)
|
||||
{
|
||||
// there are spells with no specific attribute but they have "ignores armor" in tooltip
|
||||
if (spellInfo->HasAttribute(SPELL_ATTR0_CU_IGNORE_ARMOR))
|
||||
return false;
|
||||
|
||||
// bleeding effects are not reduced by armor
|
||||
if (effIndex != -1)
|
||||
{
|
||||
if (spellInfo->Effects[effIndex].ApplyAuraName == SPELL_AURA_PERIODIC_DAMAGE ||
|
||||
spellInfo->Effects[effIndex].Effect == SPELL_EFFECT_SCHOOL_DAMAGE)
|
||||
if (spellInfo->GetEffectMechanicMask(effIndex) & (1<<MECHANIC_BLEED))
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
return !spellInfo || !spellInfo->HasAttribute(SPELL_ATTR0_CU_IGNORE_ARMOR);
|
||||
}
|
||||
|
||||
// Calculation taken from Paperdollframe.lua (15595)
|
||||
|
||||
Reference in new issue
Block a user