fix(Core/Spells): Devastate vs Glyph of Sunder Armor. (#8705)
Fixes #8506
This commit is contained in:
@@ -3380,17 +3380,14 @@ void Spell::EffectWeaponDmg(SpellEffIndex effIndex)
|
|||||||
// Devastate (player ones)
|
// Devastate (player ones)
|
||||||
if (m_spellInfo->SpellFamilyFlags[1] & 0x40)
|
if (m_spellInfo->SpellFamilyFlags[1] & 0x40)
|
||||||
{
|
{
|
||||||
// Player can apply only 58567 Sunder Armor effect.
|
m_caster->CastSpell(unitTarget, 58567, true);
|
||||||
// Xinef: 7386 triggers 58567
|
|
||||||
bool needCast = !unitTarget->HasAura(58567);
|
|
||||||
if (needCast)
|
|
||||||
m_caster->CastSpell(unitTarget, 7386, true);
|
|
||||||
|
|
||||||
if (Aura* aur = unitTarget->GetAura(58567))
|
if (Aura* aur = unitTarget->GetAura(58567))
|
||||||
{
|
{
|
||||||
// 58388 - Glyph of Devastate dummy aura.
|
// 58388 - Glyph of Devastate dummy aura.
|
||||||
if (int32 num = (needCast ? 0 : 1) + (m_caster->HasAura(58388) ? 1 : 0))
|
if (m_caster->HasAura(58388))
|
||||||
aur->ModStackAmount(num);
|
aur->ModStackAmount(1);
|
||||||
|
|
||||||
spell_bonus += (aur->GetStackAmount() - 1) * CalculateSpellDamage(2, unitTarget);
|
spell_bonus += (aur->GetStackAmount() - 1) * CalculateSpellDamage(2, unitTarget);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4526,13 +4526,6 @@ void SpellMgr::LoadDbcDataCorrections()
|
|||||||
spellInfo->SpellFamilyName = SPELLFAMILY_WARRIOR;
|
spellInfo->SpellFamilyName = SPELLFAMILY_WARRIOR;
|
||||||
});
|
});
|
||||||
|
|
||||||
// Sunder Armor
|
|
||||||
ApplySpellFix({ 58567 }, [](SpellEntry* spellInfo)
|
|
||||||
{
|
|
||||||
// trigger, remove spellfamilyflags because of glyph of sunder armor
|
|
||||||
spellInfo->SpellFamilyFlags = flag96(0x0, 0x0, 0x0);
|
|
||||||
});
|
|
||||||
|
|
||||||
// Sunder Armor - Old Ranks
|
// Sunder Armor - Old Ranks
|
||||||
ApplySpellFix({ 7405, 8380, 11596, 11597, 25225, 47467 }, [](SpellEntry* spellInfo)
|
ApplySpellFix({ 7405, 8380, 11596, 11597, 25225, 47467 }, [](SpellEntry* spellInfo)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user