[7954] Added support for spellranges at friendly targets.

Signed-off-by: ApoC <apoc@nymfe.net>
This commit is contained in:
pasdVn 2009-05-29 11:45:51 +02:00 committed by ApoC
parent a3fff9b2cb
commit eaad24d8d5
5 changed files with 20 additions and 8 deletions

View file

@ -4740,14 +4740,14 @@ SpellCastResult Spell::CheckRange(bool strict)
range_mod = 6.25;
SpellRangeEntry const* srange = sSpellRangeStore.LookupEntry(m_spellInfo->rangeIndex);
float max_range = GetSpellMaxRange(srange) + range_mod;
float min_range = GetSpellMinRange(srange);
Unit *target = m_targets.getUnitTarget();
bool friendly = target ? target->IsFriendlyTo(m_caster) : false;
float max_range = GetSpellMaxRange(srange, friendly) + range_mod;
float min_range = GetSpellMinRange(srange, friendly);
if(Player* modOwner = m_caster->GetSpellModOwner())
modOwner->ApplySpellMod(m_spellInfo->Id, SPELLMOD_RANGE, max_range, this);
Unit *target = m_targets.getUnitTarget();
if(target && target != m_caster)
{
// distance from target in checks