aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Movement/MotionMaster.cpp
diff options
context:
space:
mode:
authorccrs <ccrs@users.noreply.github.com>2025-10-14 11:49:07 +0200
committerccrs <ccrs@users.noreply.github.com>2025-10-14 11:52:13 +0200
commit8562ef1dfd5183f52f6f1a61d6443be5ea49d159 (patch)
treef012a3ccf545869275d3c53f34b77ff256ad6a5f /src/server/game/Movement/MotionMaster.cpp
parent4a7fcfe354db808360a66dbb2fdf79a0c9257091 (diff)
Core/Movement: implement a parameter override to force 2D wandering
MovePositionToFirstCollision implementation can cause Z coordinate modification, making flying units wander up and down unintentionally
Diffstat (limited to 'src/server/game/Movement/MotionMaster.cpp')
-rw-r--r--src/server/game/Movement/MotionMaster.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/server/game/Movement/MotionMaster.cpp b/src/server/game/Movement/MotionMaster.cpp
index 4fdae221e41..74feedb2740 100644
--- a/src/server/game/Movement/MotionMaster.cpp
+++ b/src/server/game/Movement/MotionMaster.cpp
@@ -594,12 +594,12 @@ void MotionMaster::MoveTargetedHome()
}
}
-void MotionMaster::MoveRandom(float wanderDistance)
+void MotionMaster::MoveRandom(float wanderDistance/* = 0.0f*/, bool force2DPositionRelocation/* = false*/)
{
if (_owner->GetTypeId() == TYPEID_UNIT)
{
TC_LOG_DEBUG("movement.motionmaster", "MotionMaster::MoveRandom: '{}', started random movement (spawnDist: {})", _owner->GetGUID().ToString(), wanderDistance);
- Add(new RandomMovementGenerator<Creature>(wanderDistance), MOTION_SLOT_DEFAULT);
+ Add(new RandomMovementGenerator<Creature>(wanderDistance, force2DPositionRelocation), MOTION_SLOT_DEFAULT);
}
}