From 75842fb1a5fbae8fead8242656364580c33ead12 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Tue, 22 Sep 2015 18:29:22 +0200 Subject: [PATCH] Core/Creature: Fixes Issue with Formations with 2 waypoints By Malcrom --- src/server/game/Entities/Creature/CreatureGroups.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/server/game/Entities/Creature/CreatureGroups.cpp b/src/server/game/Entities/Creature/CreatureGroups.cpp index 505d41f63e7..9d0149a24a5 100644 --- a/src/server/game/Entities/Creature/CreatureGroups.cpp +++ b/src/server/game/Entities/Creature/CreatureGroups.cpp @@ -228,11 +228,13 @@ void CreatureGroup::LeaderMoveTo(float x, float y, float z) if (itr->second->point_1) { - if (m_leader->GetCurrentWaypointID() == itr->second->point_1 - 1) - itr->second->follow_angle = (2 * float(M_PI)) - itr->second->follow_angle; - - if (m_leader->GetCurrentWaypointID() == itr->second->point_2 - 1) - itr->second->follow_angle = (float(M_PI)) + itr->second->follow_angle; + if (m_leader->GetCurrentWaypointID() == itr->second->point_1 - 1 || m_leader->GetCurrentWaypointID() == itr->second->point_2 - 1) + { + if (itr->second->follow_angle > float(M_PI)) + itr->second->follow_angle = itr->second->follow_angle - float(M_PI); + else + itr->second->follow_angle = itr->second->follow_angle + float(M_PI); + } } float angle = itr->second->follow_angle;