aboutsummaryrefslogtreecommitdiff
path: root/src/game/SpellEffects.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2009-01-17 17:46:28 -0600
committermegamage <none@none>2009-01-17 17:46:28 -0600
commit9f1409c557c4ef6edc2bb9b54c6ad0463beb20db (patch)
treeaaa732818364d49fa07769b2c22e54ff37fb6f76 /src/game/SpellEffects.cpp
parentff3157eeb3802e06183edb23c2842d152bf79662 (diff)
*Fix a crash bug caused by motionmaster.
*Fix charge movement. --HG-- branch : trunk
Diffstat (limited to 'src/game/SpellEffects.cpp')
-rw-r--r--src/game/SpellEffects.cpp11
1 files changed, 2 insertions, 9 deletions
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index d1520fd97ea..ab35c5f3d76 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -5739,17 +5739,10 @@ void Spell::EffectCharge(uint32 /*i*/)
float x, y, z;
unitTarget->GetContactPoint(m_caster, x, y, z);
- if(unitTarget->GetTypeId() != TYPEID_PLAYER)
- ((Creature *)unitTarget)->StopMoving();
-
- // Only send MOVEMENTFLAG_WALK_MODE, client has strange issues with other move flags
- m_caster->SendMonsterMove(x, y, z, 0, MOVEMENTFLAG_WALK_MODE, 1);
-
- if(m_caster->GetTypeId() != TYPEID_PLAYER)
- m_caster->GetMap()->CreatureRelocation((Creature*)m_caster,x,y,z,m_caster->GetOrientation());
+ m_caster->GetMotionMaster()->MoveCharge(x, y, z);
// not all charge effects used in negative spells
- if ( !IsPositiveSpell(m_spellInfo->Id))
+ if ( !IsPositiveSpell(m_spellInfo->Id) && m_caster->GetTypeId() == TYPEID_PLAYER)
m_caster->Attack(unitTarget,true);
}