summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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);