aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-02-10 18:52:18 +0100
committerShauren <shauren.trinity@gmail.com>2025-02-10 18:52:18 +0100
commit1f62d3caaac234bca14929ec2397befe69b85900 (patch)
tree6f3a1e20d7ac32ad0c7922b364528072023512a3
parent5ace4d04e5a95463ae3212a569f5b55a00fb6b2c (diff)
Core/Movement: Fixed formation movement resetting state on every waypoint of its leader
Closes #29950
-rw-r--r--src/server/game/Entities/Creature/CreatureGroups.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/server/game/Entities/Creature/CreatureGroups.cpp b/src/server/game/Entities/Creature/CreatureGroups.cpp
index da6c4ba208a..97e64340f3c 100644
--- a/src/server/game/Entities/Creature/CreatureGroups.cpp
+++ b/src/server/game/Entities/Creature/CreatureGroups.cpp
@@ -291,7 +291,7 @@ void CreatureGroup::LeaderStartedMoving()
float angle = formationInfo->FollowAngle + float(M_PI); // for some reason, someone thought it was a great idea to invert relativ angles...
float dist = formationInfo->FollowDist;
- if (!member->HasUnitState(UNIT_STATE_FOLLOW_FORMATION))
+ if (member->GetMotionMaster()->GetCurrentMovementGeneratorType(MOTION_SLOT_DEFAULT) != FORMATION_MOTION_TYPE)
member->GetMotionMaster()->MoveFormation(_leader, dist, angle, formationInfo->LeaderWaypointIDs[0], formationInfo->LeaderWaypointIDs[1]);
}
}