diff --git a/src/game/MotionMaster.cpp b/src/game/MotionMaster.cpp index 1728d1009..58e242564 100644 --- a/src/game/MotionMaster.cpp +++ b/src/game/MotionMaster.cpp @@ -40,8 +40,11 @@ inline bool isStatic(MovementGenerator *mv) void MotionMaster::Initialize() { + // stop current move + if (!i_owner->IsStopped()) + i_owner->StopMoving(); + // clear ALL movement generators (including default) - i_owner->StopMoving(); Clear(false,true); // set new default movement generator diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 4bd300cbf..22d07678a 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -12777,6 +12777,10 @@ void Unit::StopMoving() { clearUnitState(UNIT_STAT_MOVING); + // not need send any packets if not in world + if (!IsInWorld()) + return; + // send explicit stop packet // player expected for correct work SPLINEFLAG_WALKMODE SendMonsterMove(GetPositionX(), GetPositionY(), GetPositionZ(), SPLINETYPE_NORMAL, GetTypeId() == TYPEID_PLAYER ? SPLINEFLAG_WALKMODE : SPLINEFLAG_NONE, 0); diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 41f589ff8..ab25bd094 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "10063" + #define REVISION_NR "10064" #endif // __REVISION_NR_H__