From 26c14c26a425f0a4ddad526ebbddf4f3e3ff449d Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Fri, 24 Jun 2016 16:14:23 +0300 Subject: Add packet CMSG_NAVIGATE_TO --- src/net/eathena/beingrecv.cpp | 15 +++++++++++++++ src/net/eathena/beingrecv.h | 1 + src/net/eathena/packetsin.inc | 6 +++++- 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/net/eathena/beingrecv.cpp b/src/net/eathena/beingrecv.cpp index 34475af26..a40639457 100644 --- a/src/net/eathena/beingrecv.cpp +++ b/src/net/eathena/beingrecv.cpp @@ -1954,6 +1954,21 @@ void BeingRecv::processSkillDamage(Net::MessageIn &msg) BLOCK_END("BeingRecv::processSkillDamage") } +void BeingRecv::processNavigateTo(Net::MessageIn &msg) +{ + UNIMPLIMENTEDPACKET; + // 0 position + // 1 no position + // 3 monster + msg.readUInt8("navigate type"); + msg.readUInt8("transportation flag"); + msg.readUInt8("hide window"); + msg.readString(16, "map name"); + msg.readInt16("x"); + msg.readInt16("y"); + msg.readInt16("mob id"); +} + void BeingRecv::applyPlayerAction(Net::MessageIn &msg, Being *const being, const uint8_t type) diff --git a/src/net/eathena/beingrecv.h b/src/net/eathena/beingrecv.h index 692ecb441..4e7d63e9f 100644 --- a/src/net/eathena/beingrecv.h +++ b/src/net/eathena/beingrecv.h @@ -108,6 +108,7 @@ namespace EAthena void processSolveCharName(Net::MessageIn &msg); void processGraffiti(Net::MessageIn &msg); void processSkillDamage(Net::MessageIn &msg); + void processNavigateTo(Net::MessageIn &msg); Being *createBeing2(Net::MessageIn &msg, const BeingId id, const int32_t job, diff --git a/src/net/eathena/packetsin.inc b/src/net/eathena/packetsin.inc index 8bd9143cc..621da23c8 100644 --- a/src/net/eathena/packetsin.inc +++ b/src/net/eathena/packetsin.inc @@ -59,7 +59,8 @@ packet(SMSG_PLAYER_HP, 0x0106, 10, &BeingRecv::processBeing packet(SMSG_PET_STATUS, 0x01a2, 35, &PetRecv::processPetStatus, 1); // fake packets for add packet name -packet(SMSG_SELECT_CART, 0x0000, 0, nullptr, 0); +packet(SMSG_SELECT_CART, 0x0000, 0, nullptr, 0); +packet(CMSG_NAVIGATE_TO, 0x0000, 0, nullptr, 0); // login server, unknown version packet(SMSG_LOGIN_DATA, 0x0069, -1, &Ea::LoginRecv::processLoginData, 0); @@ -671,6 +672,9 @@ if (packetVersion >= 20110718) // 20111005 packet(SMSG_SKILL_SNAP, 0x08d2, 10, &BeingRecv::processBeingSlide, 20111005); +// 20111010 +packet(CMSG_NAVIGATE_TO, 0x08e2, 27, &BeingRecv::processNavigateTo, 20111010); + // 20120000 packet(SMSG_LOGIN_ERROR2, 0x083e, 26, &LoginRecv::processLoginError2, 20120000); -- cgit v1.2.3-70-g09d2