diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/being.cpp | 14 | ||||
-rw-r--r-- | src/localplayer.cpp | 4 |
2 files changed, 8 insertions, 10 deletions
diff --git a/src/being.cpp b/src/being.cpp index 69057c09..8a55f2e2 100644 --- a/src/being.cpp +++ b/src/being.cpp @@ -230,7 +230,7 @@ Being::setAction(Action action) void Being::setDirection(Uint8 direction) { - mDirection |= direction; + mDirection = direction; std::string dir; if (direction & UP) @@ -268,15 +268,17 @@ Being::nextStep() PATH_NODE node = mPath.front(); mPath.pop_front(); - mDirection = 0; + int dir = 0; if (node.x > mX) - setDirection(RIGHT); + dir |= RIGHT; else if (node.x < mX) - setDirection(LEFT); + dir |= LEFT; if (node.y > mY) - setDirection(DOWN); + dir |= DOWN; else if (node.y < mY) - setDirection(UP); + dir |= UP; + + setDirection(dir); mX = node.x; mY = node.y; diff --git a/src/localplayer.cpp b/src/localplayer.cpp index 8b601326..802da92f 100644 --- a/src/localplayer.cpp +++ b/src/localplayer.cpp @@ -212,7 +212,6 @@ void LocalPlayer::walk(unsigned char dir) // Warning: Not communicated to the server yet // If the being can't move, just change direction - mDirection = dir; setDirection(dir); } } @@ -347,10 +346,7 @@ void LocalPlayer::attack(Being *target, bool keep) if (abs(dist_y) >= abs(dist_x)) { if (dist_y > 0) - { setDirection(DOWN); - printf("DOWN\n"); - } else setDirection(UP); } |