diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-11-09 18:14:04 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-11-09 18:14:04 +0300 |
commit | befd082d67e8b36402accdfdb2d47a8c287165ac (patch) | |
tree | 21f5aa64bf8d1cc95ee37c3f25e8fbcef38cb7be | |
parent | 59b7218021ab3456fc899ba0efffea35a6643de6 (diff) | |
download | manaplus-befd082d67e8b36402accdfdb2d47a8c287165ac.tar.gz manaplus-befd082d67e8b36402accdfdb2d47a8c287165ac.tar.bz2 manaplus-befd082d67e8b36402accdfdb2d47a8c287165ac.tar.xz manaplus-befd082d67e8b36402accdfdb2d47a8c287165ac.zip |
Impliment packet SMSG_BEING_SLIDE.
-rw-r--r-- | src/net/eathena/beingrecv.cpp | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/net/eathena/beingrecv.cpp b/src/net/eathena/beingrecv.cpp index a17a58e75..5a3ba81f6 100644 --- a/src/net/eathena/beingrecv.cpp +++ b/src/net/eathena/beingrecv.cpp @@ -1460,11 +1460,21 @@ void BeingRecv::processWddingEffect(Net::MessageIn &msg) void BeingRecv::processBeingSlide(Net::MessageIn &msg) { - UNIMPLIMENTEDPACKET; + Being *const dstBeing = actorManager->findBeing( + msg.readBeingId("being id")); + const int x = msg.readInt16("x"); + const int y = msg.readInt16("y"); + if (!dstBeing) + return; + if (localPlayer == dstBeing) + { + localPlayer->stopAttack(); + localPlayer->navigateClean(); + } - msg.readBeingId("being id"); - msg.readInt16("x"); - msg.readInt16("y"); + dstBeing->setAction(BeingAction::STAND, 0); + dstBeing->setTileCoords(x, y); + dstBeing->updatePets(); } void BeingRecv::processStarsKill(Net::MessageIn &msg) |