summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-06-24 16:14:23 +0300
committerAndrei Karas <akaras@inbox.ru>2016-06-24 16:14:23 +0300
commit26c14c26a425f0a4ddad526ebbddf4f3e3ff449d (patch)
treeb85eedcd796a7a137140a844caabc81ab2fd15ff
parent8db46ea7b77a193d0b79b38d1eba753a4d3f0748 (diff)
downloadmanaverse-26c14c26a425f0a4ddad526ebbddf4f3e3ff449d.tar.gz
manaverse-26c14c26a425f0a4ddad526ebbddf4f3e3ff449d.tar.bz2
manaverse-26c14c26a425f0a4ddad526ebbddf4f3e3ff449d.tar.xz
manaverse-26c14c26a425f0a4ddad526ebbddf4f3e3ff449d.zip
Add packet CMSG_NAVIGATE_TO
-rw-r--r--src/net/eathena/beingrecv.cpp15
-rw-r--r--src/net/eathena/beingrecv.h1
-rw-r--r--src/net/eathena/packetsin.inc6
3 files changed, 21 insertions, 1 deletions
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);