Код:
*************** SpellCastResult Spell::CheckCast(bool strict)
*** 4212,4218 ****
if(bg->GetStatus() == STATUS_WAIT_LEAVE)
return SPELL_FAILED_DONT_REPORT;
- if (m_caster->isInCombat() && IsNonCombatSpell(m_spellInfo))
return m_triggeredByAuraSpell ? SPELL_FAILED_DONT_REPORT : SPELL_FAILED_AFFECTING_COMBAT;
--- 4212,4224 ----
if(bg->GetStatus() == STATUS_WAIT_LEAVE)
return SPELL_FAILED_DONT_REPORT;
+ bool bNonCombatSpell = IsNonCombatSpell(m_spellInfo);
+
+ // Warbringer
+ if (m_spellInfo->SpellFamilyName == SPELLFAMILY_WARRIOR && m_spellInfo->Category == 1219 && m_spellInfo->SpellIconID == 457 && (m_caster->HasAura(57499) || m_caster->HasAura(64976)))
+ bNonCombatSpell = false;
+
+ if (m_caster->isInCombat() && bNonCombatSpell)
return m_triggeredByAuraSpell ? SPELL_FAILED_DONT_REPORT : SPELL_FAILED_AFFECTING_COMBAT;
Сам патч
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index 5e1e430..0b6fee5 100644
--- a/src/game/Spell.cpp
+++ b/src/game/Spell.cpp
@@ -4212,7 +4212,13 @@ SpellCastResult Spell::CheckCast(bool strict)
if(bg->GetStatus() == STATUS_WAIT_LEAVE)
return SPELL_FAILED_DONT_REPORT;
- if (m_caster->isInCombat() && IsNonCombatSpell(m_spellInfo))
+ bool bNonCombatSpell = IsNonCombatSpell(m_spellInfo);
+
+ // Warbringer
+ if (m_spellInfo->SpellFamilyName == SPELLFAMILY_WARRIOR && m_spellInfo->Category == 1219 && m_spellInfo->SpellIconID == 457 && (m_caster->HasAura(57499) || m_caster->HasAura(64976)))
+ bNonCombatSpell = false;
+
+ if (m_caster->isInCombat() && bNonCombatSpell)
return m_triggeredByAuraSpell ? SPELL_FAILED_DONT_REPORT : SPELL_FAILED_AFFECTING_COMBAT;
if (m_caster->GetTypeId() == TYPEID_PLAYER && !((Player*)m_caster)->isGameMaster() &&
Помогите пожалуйста, человеку который плохо разбираеться в cи, как правильно изменить строку в Spell.cpp