diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index ed547cf7d..bd6a9cb2f 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -5742,8 +5742,13 @@ SpellCastResult Spell::CheckRange(bool strict) if (target == m_caster) return SPELL_CAST_OK; + float range_mod = strict ? 0.0f : 5.0f; + float base = ATTACK_DISTANCE; + if (Player* modOwner = m_caster->GetSpellModOwner()) + range_mod += modOwner->ApplySpellMod(m_spellInfo->Id, SPELLMOD_RANGE, base, this); + // with additional 5 dist for non stricted case (some melee spells have delay in apply - return m_caster->CanReachWithMeleeAttack(target, strict ? 0.0f : 5.0f) ? SPELL_CAST_OK : SPELL_FAILED_OUT_OF_RANGE; + return m_caster->CanReachWithMeleeAttack(target, range_mod) ? SPELL_CAST_OK : SPELL_FAILED_OUT_OF_RANGE; } break; // let continue in generic way for no target } diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 767507fd9..a74562e64 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "11140" + #define REVISION_NR "11141" #endif // __REVISION_NR_H__