summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/being.cpp14
-rw-r--r--src/localplayer.cpp4
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);
}