aboutsummaryrefslogtreecommitdiff
path: root/src/game/TargetedMovementGenerator.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2009-02-18 18:40:59 -0600
committermegamage <none@none>2009-02-18 18:40:59 -0600
commit0a0992506128f285df506a8170ba6158c31ef51b (patch)
tree85cd8f000deaf7c7d42552ee79ebea163f8f80aa /src/game/TargetedMovementGenerator.cpp
parent0ff7fbcd7f48df126e9a190b815ab2f101f91d86 (diff)
*Fix the bug that creatures do not react to player's micro move and stop chasing players.
--HG-- branch : trunk
Diffstat (limited to 'src/game/TargetedMovementGenerator.cpp')
-rw-r--r--src/game/TargetedMovementGenerator.cpp10
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