diff options
Diffstat (limited to 'src/net/eathena/beingrecv.cpp')
-rw-r--r-- | src/net/eathena/beingrecv.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/net/eathena/beingrecv.cpp b/src/net/eathena/beingrecv.cpp index 85c276e46..5c5e18ce8 100644 --- a/src/net/eathena/beingrecv.cpp +++ b/src/net/eathena/beingrecv.cpp @@ -597,7 +597,9 @@ void BeingRecv::processBeingMove(Net::MessageIn &msg) dstBeing->setTileCoords(srcX, srcY); if (localPlayer) localPlayer->followMoveTo(dstBeing, srcX, srcY, dstX, dstY); - if (!serverFeatures->haveMove3()) + if (serverFeatures->haveMove3()) + dstBeing->setCachedDestination(dstX, dstY); + else dstBeing->setDestination(dstX, dstY); // because server don't send direction in move packet, we fixing it @@ -956,7 +958,9 @@ void BeingRecv::processBeingMove2(Net::MessageIn &msg) dstBeing->setTileCoords(srcX, srcY); if (localPlayer) localPlayer->followMoveTo(dstBeing, srcX, srcY, dstX, dstY); - if (!serverFeatures->haveMove3()) + if (serverFeatures->haveMove3()) + dstBeing->setCachedDestination(dstX, dstY); + else dstBeing->setDestination(dstX, dstY); if (dstBeing->getType() == ActorType::Player) dstBeing->setMoveTime(); |