From bfb373ef22ba69b61caf174ec2c987d403ca805f Mon Sep 17 00:00:00 2001 From: jackpoz Date: Sat, 8 Aug 2015 21:11:55 +0200 Subject: Merge pull request #15119 from robinsch/grounding Core/Spells: Grounding totem fix Fixes #15108 (cherry picked from commit 3f3ff8b36b0537d07bf8222226ab88346c689e4b) --- src/server/game/Entities/Unit/Unit.cpp | 3 +-- src/server/game/Spells/Spell.cpp | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 5bfbf189d25..30b0be54b25 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -7918,7 +7918,6 @@ Unit* Unit::GetMagicHitRedirectTarget(Unit* victim, SpellInfo const* spellInfo) { if (Unit* magnet = (*itr)->GetBase()->GetCaster()) if (spellInfo->CheckExplicitTarget(this, magnet) == SPELL_CAST_OK - && spellInfo->CheckTarget(this, magnet, false) == SPELL_CAST_OK && _IsValidAttackTarget(magnet, spellInfo)) { /// @todo handle this charge drop by proc in cast phase on explicit target @@ -7927,7 +7926,7 @@ Unit* Unit::GetMagicHitRedirectTarget(Unit* victim, SpellInfo const* spellInfo) // Set up missile speed based delay uint32 delay = uint32(std::floor(std::max(victim->GetDistance(this), 5.0f) / spellInfo->Speed * 1000.0f)); // Schedule charge drop - (*itr)->GetBase()->DropChargeDelayed(delay,AURA_REMOVE_BY_EXPIRE); + (*itr)->GetBase()->DropChargeDelayed(delay, AURA_REMOVE_BY_EXPIRE); } else (*itr)->GetBase()->DropCharge(AURA_REMOVE_BY_EXPIRE); diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 7bdd33a74b2..fac8a5aa670 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -721,7 +721,7 @@ void Spell::SelectExplicitTargets() { // check for explicit target redirection, for Grounding Totem for example if (m_spellInfo->GetExplicitTargetMask() & TARGET_FLAG_UNIT_ENEMY - || (m_spellInfo->GetExplicitTargetMask() & TARGET_FLAG_UNIT && !m_spellInfo->IsPositive())) + || (m_spellInfo->GetExplicitTargetMask() & TARGET_FLAG_UNIT && !m_caster->IsFriendlyTo(target))) { Unit* redirect; switch (m_spellInfo->DmgClass) -- cgit v1.2.3