diff --git a/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp index 73ee0b5c3..dd6a387aa 100644 --- a/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp @@ -134,6 +134,11 @@ void RandomMovementGenerator::_setRandomLocation(Creature* creature) } else // ground { + if (!_pathGenerator) + _pathGenerator = new PathGenerator(creature); + else + _pathGenerator->Clear(); + bool result = _pathGenerator->CalculatePath(x, y, levelZ, false); if (result && !(_pathGenerator->GetPathType() & PATHFIND_NOPATH)) { @@ -252,8 +257,6 @@ void RandomMovementGenerator::DoInitialize(Creature* creature) } } - if (!_pathGenerator) - _pathGenerator = new PathGenerator(creature); creature->AddUnitState(UNIT_STATE_ROAMING | UNIT_STATE_ROAMING_MOVE); }