diff options
author | Aokromes <Aokromes@users.noreply.github.com> | 2015-09-22 18:29:22 +0200 |
---|---|---|
committer | Carbenium <carbenium@outlook.com> | 2015-09-25 00:19:34 +0200 |
commit | 78b1923da20af3bbd3e66632c97e796bf5c92b99 (patch) | |
tree | 920af4289192441d61a7d8d1bf605fabf49afae5 | |
parent | ef5e3fff0465d13d2d93fadd328358abfeb07348 (diff) |
Core/Creature: Fixes Issue with Formations with 2 waypoints
By Malcrom
(cherry picked from commit 75842fb1a5fbae8fead8242656364580c33ead12)
-rw-r--r-- | src/server/game/Entities/Creature/CreatureGroups.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
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; |