summaryrefslogtreecommitdiff
path: root/src/being.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/being.cpp')
-rw-r--r--src/being.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/being.cpp b/src/being.cpp
index d133225f..69e01dba 100644
--- a/src/being.cpp
+++ b/src/being.cpp
@@ -575,7 +575,13 @@ void Being::logic()
// Update the player sprite direction
int direction = 0;
const float dx = std::abs(dir.x);
- const float dy = std::abs(dir.y);
+ float dy = std::abs(dir.y);
+
+ // When not using mouse for the player, we slightly prefer
+ // UP and DOWN position, especially when walking diagonally.
+ if (this == player_node && !player_node->isPathSetByMouse())
+ dy = dy + 2;
+
if (dx > dy)
direction |= (dir.x > 0) ? RIGHT : LEFT;
else