Core/Spells: Add range checks to GameObject targets

Close #23062
Patch by robinsch

(cherry picked from commit 76cc94f325)
This commit is contained in:
jackpoz
2019-02-23 18:34:31 +01:00
committed by Shauren
parent 35074d0b42
commit abb36a1e5b

View File

@@ -6512,6 +6512,15 @@ SpellCastResult Spell::CheckRange(bool strict) const
return SPELL_FAILED_UNIT_NOT_INFRONT;
}
if (GameObject* goTarget = m_targets.GetGOTarget())
{
if (m_caster->GetExactDistSq(goTarget) > maxRange)
return SPELL_FAILED_OUT_OF_RANGE;
if (minRange > 0.0f && m_caster->GetExactDistSq(goTarget) < minRange)
return SPELL_FAILED_OUT_OF_RANGE;
}
if (m_targets.HasDst() && !m_targets.HasTraj())
{
if (m_caster->GetExactDistSq(m_targets.GetDstPos()) > maxRange)