[9461] Some another cases when movegen can be lost while updating.

This commit is contained in:
VladimirMangos 2010-02-27 01:20:15 +03:00
parent 01e05f5d7e
commit c179c45087
5 changed files with 16 additions and 3 deletions

View file

@ -71,7 +71,11 @@ bool PointMovementGenerator<T>::Update(T &unit, const uint32 &diff)
unit.addUnitState(UNIT_STAT_ROAMING_MOVE);
Traveller<T> traveller(unit);
i_destinationHolder.UpdateTraveller(traveller, diff, false);
if (i_destinationHolder.UpdateTraveller(traveller, diff, false))
{
if (!IsActive(unit)) // force stop processing (movement can move out active zone with cleanup movegens list)
return true; // not expire now, but already lost
}
if(i_destinationHolder.HasArrived())
{