fix(Core/Spells): Beacon of Light should not cause combat. (#7321)

* fix(Core/Spells): Beacon of Light should not cause combat.

Fixed #7276
This commit is contained in:
UltraNix
2021-08-18 00:24:57 +02:00
committed by GitHub
parent 6b5c3ed04f
commit 1e84e062f4
2 changed files with 10 additions and 1 deletions

View File

@@ -2667,8 +2667,11 @@ void Spell::DoAllEffectOnTarget(TargetInfo* target)
}
}
if (missInfo != SPELL_MISS_EVADE && effectUnit != m_caster && m_caster->IsFriendlyTo(effectUnit) && m_spellInfo->IsPositive() && effectUnit->IsInCombat())
if (missInfo != SPELL_MISS_EVADE && effectUnit != m_caster && m_caster->IsFriendlyTo(effectUnit) && m_spellInfo->IsPositive() &&
effectUnit->IsInCombat() && !m_spellInfo->HasAttribute(SPELL_ATTR1_NO_THREAT))
{
m_caster->SetInCombatWith(effectUnit);
}
// Check for SPELL_ATTR7_CAN_CAUSE_INTERRUPT
if (m_spellInfo->HasAttribute(SPELL_ATTR7_CAN_CAUSE_INTERRUPT) && effectUnit->GetTypeId() != TYPEID_PLAYER)

View File

@@ -7271,6 +7271,12 @@ void SpellMgr::LoadDbcDataCorrections()
spellInfo->Speed = 0.0f;
});
// 53651 Light's Beacon
ApplySpellFix({ 53651 }, [](SpellEntry* spellInfo)
{
spellInfo->AttributesEx |= SPELL_ATTR1_NO_THREAT;
});
for (uint32 i = 0; i < sSpellStore.GetNumRows(); ++i)
{
SpellEntry* spellInfo = (SpellEntry*)sSpellStore.LookupEntry(i);