aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/SpellEffects.cpp
diff options
context:
space:
mode:
authorSubv <s.v.h21@hotmail.com>2012-02-11 19:23:18 -0500
committerSubv <s.v.h21@hotmail.com>2012-02-11 19:23:18 -0500
commitff9830c18d86889207198db2658eaa4ac9c119d4 (patch)
tree02986f982b6bed31c05755f42e53e67b555fd770 /src/server/game/Spells/SpellEffects.cpp
parent1fc3470233f0073a7839b6776d77685b96faebb6 (diff)
Core/Spells: Blink wont be able to trespass solid objects anymore (walls/doors)
Refactored some code Signed-off-by: Subv <s.v.h21@hotmail.com>
Diffstat (limited to 'src/server/game/Spells/SpellEffects.cpp')
-rwxr-xr-xsrc/server/game/Spells/SpellEffects.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index 6802cbdd90d..ef5f32b5575 100755
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -6076,7 +6076,10 @@ void Spell::EffectLeap(SpellEffIndex /*effIndex*/)
if (!m_targets.HasDst())
return;
- unitTarget->NearTeleportTo(m_targets.GetDst()->GetPositionX(), m_targets.GetDst()->GetPositionY(), m_targets.GetDst()->GetPositionZ(), m_targets.GetDst()->GetOrientation(), unitTarget == m_caster);
+ Position pos;
+ m_targets.GetDst()->GetPosition(&pos);
+ unitTarget->GetFirstCollisionPosition(pos, unitTarget->GetDistance(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ() + 2.0f), 0.0f);
+ unitTarget->NearTeleportTo(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), pos.GetOrientation(), unitTarget == m_caster);
}
void Spell::EffectReputation(SpellEffIndex effIndex)