From 78b1923da20af3bbd3e66632c97e796bf5c92b99 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Tue, 22 Sep 2015 18:29:22 +0200 Subject: Core/Creature: Fixes Issue with Formations with 2 waypoints By Malcrom (cherry picked from commit 75842fb1a5fbae8fead8242656364580c33ead12) --- src/server/game/Entities/Creature/CreatureGroups.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/server/game/Entities/Creature/CreatureGroups.cpp b/src/server/game/Entities/Creature/CreatureGroups.cpp index b94c91265ef..1e76e4a26f4 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; -- cgit v1.2.3