*Fix a crash bug caused by motionmaster.

*Fix charge movement.

--HG--
branch : trunk
This commit is contained in:
megamage
2009-01-17 17:46:28 -06:00
parent ff3157eeb3
commit 9f1409c557
12 changed files with 81 additions and 106 deletions

View File

@@ -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);
}