Этот вариант работает правильно:
Код:
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index 4161aa2..5b0f0ab 100644
--- a/src/game/Spell.cpp
+++ b/src/game/Spell.cpp
@@ -3005,6 +3005,18 @@ void Spell::cast(bool skipCheck)
if (m_caster->HasAura(58375)) // Glyph of Blocking
AddTriggeredSpell(58374); // Glyph of Blocking
}
+ // Sunder Armor
+ else if (m_spellInfo->Id == 7386)
+ {
+ if (m_caster->HasAura(58387)) // Glyph of Sunder Armor
+ {
+ if (Unit* target = m_targets.getUnitTarget())
+ {
+ target = m_caster->SelectRandomUnfriendlyTarget(m_targets.getUnitTarget());
+ m_caster->CastSpell(target, 58567, true);
+ }
+ }
+ }
// Bloodsurge (triggered), Sudden Death (triggered)
else if (m_spellInfo->Id == 46916 || m_spellInfo->Id == 52437)
// Item - Warrior T10 Melee 4P Bonus
diff --git a/src/game/UnitAuraProcHandler.cpp b/src/game/UnitAuraProcHandler.cpp