Core/Spells: Fix some talents with incorrect target entries in dbcs. This is an alternative fix for #2848. Closes #2846 Closes #2848.
This commit is contained in:
@@ -4752,6 +4752,11 @@ SpellCastResult Spell::CheckCast(bool strict)
|
|||||||
return SPELL_FAILED_DONT_REPORT;
|
return SPELL_FAILED_DONT_REPORT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Don't check explicit target for passive spells (workaround) (check should be skipped only for learn case)
|
||||||
|
// those spells may have incorrect target entries or not filled at all (for example 15332)
|
||||||
|
// such spells when learned are not targeting anyone using targeting system, they should apply directly to caster instead
|
||||||
|
// also, such casts shouldn't be sent to client
|
||||||
|
if (!((m_spellInfo->Attributes & SPELL_ATTR0_PASSIVE) && !m_targets.GetUnitTarget() || m_targets.GetUnitTarget() == m_caster))
|
||||||
{
|
{
|
||||||
// Check explicit target for m_originalCaster - todo: get rid of such workarounds
|
// Check explicit target for m_originalCaster - todo: get rid of such workarounds
|
||||||
SpellCastResult castResult = m_spellInfo->CheckExplicitTarget(m_originalCaster ? m_originalCaster : m_caster, m_targets.GetObjectTarget(), m_targets.GetItemTarget());
|
SpellCastResult castResult = m_spellInfo->CheckExplicitTarget(m_originalCaster ? m_originalCaster : m_caster, m_targets.GetObjectTarget(), m_targets.GetItemTarget());
|
||||||
|
|||||||
Reference in New Issue
Block a user