From 8562ef1dfd5183f52f6f1a61d6443be5ea49d159 Mon Sep 17 00:00:00 2001 From: ccrs Date: Tue, 14 Oct 2025 11:49:07 +0200 Subject: 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 --- src/server/game/Movement/MotionMaster.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/server/game/Movement/MotionMaster.cpp') 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(wanderDistance), MOTION_SLOT_DEFAULT); + Add(new RandomMovementGenerator(wanderDistance, force2DPositionRelocation), MOTION_SLOT_DEFAULT); } } -- cgit v1.2.3