aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorkaelima <kaelima@live.se>2012-04-09 00:32:15 +0200
committerkaelima <kaelima@live.se>2012-04-09 00:32:15 +0200
commita4a1e19f013f01dbbc6e69758e4f9b21463469c6 (patch)
tree536facfb45cd2f686fbfe3612d8bd38b13404d95 /src
parent8358af975995ee77df3338b2c5b7d454f2b991c0 (diff)
Core/Movement: Minor correction for last changeset
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp
index f08281288b0..2dcd9b59741 100755
--- a/src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp
+++ b/src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp
@@ -49,16 +49,13 @@ void ConfusedMovementGenerator<T>::Initialize(T &unit)
float const wanderX = x + (wander_distance * (float)rand_norm() - wander_distance/2);
float const wanderY = y + (wander_distance * (float)rand_norm() - wander_distance/2);
- i_waypoints[idx][0] = wanderX;
- i_waypoints[idx][1] = wanderY;
-
// prevent invalid coordinates generation
- Trinity::NormalizeMapCoord(i_waypoints[idx][0]);
- Trinity::NormalizeMapCoord(i_waypoints[idx][1]);
+ Trinity::NormalizeMapCoord(wanderX);
+ Trinity::NormalizeMapCoord(wanderY);
if (unit.IsWithinLOS(wanderX, wanderY, z))
{
- bool is_water = map->IsInWater(i_waypoints[idx][0], i_waypoints[idx][1], z);
+ bool is_water = map->IsInWater(wanderX, wanderY, z);
if ((is_water && !is_water_ok) || (!is_water && !is_land_ok))
{
@@ -67,7 +64,11 @@ void ConfusedMovementGenerator<T>::Initialize(T &unit)
i_waypoints[idx][1] = idx > 0 ? i_waypoints[idx-1][1] : y;
}
- unit.UpdateAllowedPositionZ(i_waypoints[idx][0], i_waypoints[idx][1], z);
+ unit.UpdateAllowedPositionZ(wanderX, wanderY, z);
+
+ //! Positions are now fine - apply them to this waypoint
+ i_waypoints[idx][0] = wanderX;
+ i_waypoints[idx][1] = wanderY;
i_waypoints[idx][2] = z;
}
else