diff options
-rw-r--r-- | src/behaviour_system.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/behaviour_system.cpp b/src/behaviour_system.cpp index 3637b3e..4a194f0 100644 --- a/src/behaviour_system.cpp +++ b/src/behaviour_system.cpp | |||
@@ -156,8 +156,10 @@ void BehaviourSystem::createPath(int spriteId) { | |||
156 | Direction::up, | 156 | Direction::up, |
157 | Direction::right }; | 157 | Direction::right }; |
158 | 158 | ||
159 | const std::vector<Direction>* directionList = sprite.cardinalDirectionsOnly ? &cardinalDirections : &allDirections; | 159 | std::vector<Direction> directionList = sprite.cardinalDirectionsOnly ? cardinalDirections : allDirections; |
160 | for (Direction dir : *directionList) { | 160 | directionList.push_back(nodeInfo.dirFromPreviousPoint); |
161 | |||
162 | for (Direction dir : directionList) { | ||
161 | vec2i newPos = searchNode.point + unitVecInDirection(dir) * sprite.movementSpeed; | 163 | vec2i newPos = searchNode.point + unitVecInDirection(dir) * sprite.movementSpeed; |
162 | 164 | ||
163 | if (newPos.x() < 0 || newPos.y() < 0 || newPos.x() >= mapBounds.w() || newPos.y() >= mapBounds.h()) { | 165 | if (newPos.x() < 0 || newPos.y() < 0 || newPos.x() >= mapBounds.w() || newPos.y() >= mapBounds.h()) { |