diff options
Diffstat (limited to 'src/being.cpp')
-rw-r--r-- | src/being.cpp | 8 |
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 |