diff options
author | Andrei Karas <akaras@inbox.ru> | 2016-07-21 20:25:56 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2016-07-21 20:25:56 +0300 |
commit | bde5efd020baf48312eb093f120d2b9094d2f994 (patch) | |
tree | aae42f2c5e85f59b0b704a99520bff5b3d9ba7a4 /src/net/eathena | |
parent | 70b8dc1a827e878ef899cf9824362706e86f30e5 (diff) | |
download | manaplus-bde5efd020baf48312eb093f120d2b9094d2f994.tar.gz manaplus-bde5efd020baf48312eb093f120d2b9094d2f994.tar.bz2 manaplus-bde5efd020baf48312eb093f120d2b9094d2f994.tar.xz manaplus-bde5efd020baf48312eb093f120d2b9094d2f994.zip |
Add packet SMSG_WALK_ERROR 0x0b21.
Diffstat (limited to 'src/net/eathena')
-rw-r--r-- | src/net/eathena/packetsin.inc | 1 | ||||
-rw-r--r-- | src/net/eathena/playerrecv.cpp | 9 | ||||
-rw-r--r-- | src/net/eathena/playerrecv.h | 1 |
3 files changed, 11 insertions, 0 deletions
diff --git a/src/net/eathena/packetsin.inc b/src/net/eathena/packetsin.inc index 8e847a1cd..49d5a3e5d 100644 --- a/src/net/eathena/packetsin.inc +++ b/src/net/eathena/packetsin.inc @@ -808,6 +808,7 @@ if (serverVersion > 0) packet(SMSG_SKILL_CASTING2, 0x0b1e, -1, &BeingRecv::processSkillCasting2, 0); packet(SMSG_PLAYER_ADD_SKILL2, 0x0b1f, -1, &SkillRecv::processSkillAdd2, 0); packet(SMSG_PLAYER_UPDATE_SKILL2, 0x0b20, -1, &SkillRecv::processSkillUpdate2, 0); + packet(SMSG_WALK_ERROR, 0x0b21, 10, &PlayerRecv::processWalkError, 0); // char server packet(SMSG_CHAR_PASSWORD_RESPONSE, 0x0062, 3, &LoginRecv::processCharPasswordResponse, 0); diff --git a/src/net/eathena/playerrecv.cpp b/src/net/eathena/playerrecv.cpp index eb958a764..6f9f5a43c 100644 --- a/src/net/eathena/playerrecv.cpp +++ b/src/net/eathena/playerrecv.cpp @@ -220,6 +220,15 @@ void PlayerRecv::processWalkResponse(Net::MessageIn &msg) BLOCK_END("PlayerRecv::processWalkResponse") } +void PlayerRecv::processWalkError(Net::MessageIn &msg) +{ + msg.readInt32("tick"); + const int x = msg.readInt16("x"); + const int y = msg.readInt16("y"); + if (localPlayer) + localPlayer->failMove(x, y); +} + void PlayerRecv::processPvpInfo(Net::MessageIn &msg) { UNIMPLIMENTEDPACKET; diff --git a/src/net/eathena/playerrecv.h b/src/net/eathena/playerrecv.h index b768edd0d..d0ce72b74 100644 --- a/src/net/eathena/playerrecv.h +++ b/src/net/eathena/playerrecv.h @@ -40,6 +40,7 @@ namespace EAthena void processPlayerHeal(Net::MessageIn &msg); void processPlayerSkillMessage(Net::MessageIn &msg); void processWalkResponse(Net::MessageIn &msg); + void processWalkError(Net::MessageIn &msg); void processNotifyMapInfo(Net::MessageIn &msg); void processPlayerFameBlacksmith(Net::MessageIn &msg); void processPlayerFameAlchemist(Net::MessageIn &msg); |