diff options
| -rw-r--r-- | src/game/TargetedMovementGenerator.cpp | 10 | 
1 files changed, 6 insertions, 4 deletions
diff --git a/src/game/TargetedMovementGenerator.cpp b/src/game/TargetedMovementGenerator.cpp index 34b0848d2c5..acdf7762b71 100644 --- a/src/game/TargetedMovementGenerator.cpp +++ b/src/game/TargetedMovementGenerator.cpp @@ -53,8 +53,8 @@ TargetedMovementGenerator<T>::_setTargetLocation(T &owner)          return;      // prevent redundant micro-movement for pets, other followers. -    if(i_offset && i_target->IsWithinDistInMap(&owner,2*i_offset)) -        return; +    //if(i_offset && i_target->IsWithinDistInMap(&owner,2*i_offset)) +    //    return;      float x, y, z;      if(!i_offset) @@ -164,12 +164,14 @@ TargetedMovementGenerator<T>::Update(T &owner, const uint32 & time_diff)          if (owner.GetObjectSize())              i_destinationHolder.ResetUpdate(50); -        float dist = owner.GetCombatReach() + i_target.getTarget()->GetCombatReach() + sWorld.getRate(RATE_TARGET_POS_RECALCULATION_RANGE); +        //float dist = owner.GetCombatReach() + i_target.getTarget()->GetCombatReach() + sWorld.getRate(RATE_TARGET_POS_RECALCULATION_RANGE);          //More distance let have better performance, less distance let have more sensitive reaction at target move.          // try to counter precision differences -        if( i_destinationHolder.GetDistance2dFromDestSq(*i_target.getTarget()) >= dist * dist) +        //if( i_destinationHolder.GetDistance2dFromDestSq(*i_target.getTarget()) >= dist * dist) +        if(i_offset ? !i_target->IsWithinDistInMap(&owner,2*i_offset) +            : !i_target->IsWithinMeleeRange(&owner))          {              owner.SetInFront(i_target.getTarget());         // Set new Angle For Map::              _setTargetLocation(owner);                      //Calculate New Dest and Send data To Player  | 
