diff options
author | Andrei Karas <akaras@inbox.ru> | 2017-06-28 00:37:59 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2017-06-28 01:59:05 +0300 |
commit | 4d94a44a3acf77653b4e4782009a49293b96c35d (patch) | |
tree | 3afea714b1941e9db8ab7a536b6b8875365dee97 | |
parent | e1be87443d6d7c463f1751678fe1c556d1ba9092 (diff) | |
download | plus-4d94a44a3acf77653b4e4782009a49293b96c35d.tar.gz plus-4d94a44a3acf77653b4e4782009a49293b96c35d.tar.bz2 plus-4d94a44a3acf77653b4e4782009a49293b96c35d.tar.xz plus-4d94a44a3acf77653b4e4782009a49293b96c35d.zip |
Add packet SMSG_PARTY_MEMBER_INFO 0x0a43.
-rw-r--r-- | src/net/eathena/packetsin.inc | 6 | ||||
-rw-r--r-- | src/net/eathena/partyrecv.cpp | 8 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/net/eathena/packetsin.inc b/src/net/eathena/packetsin.inc index 11276f899..0c2695589 100644 --- a/src/net/eathena/packetsin.inc +++ b/src/net/eathena/packetsin.inc @@ -906,6 +906,12 @@ if (packetVersion >= 20170329) packet(SMSG_CHAR_MAP_INFO, 0x0ac5, 156, &CharServerRecv::processCharMapInfo, 20170329); } +// 20170502 +if (packetVersion >= 20170502) +{ + packet(SMSG_PARTY_MEMBER_INFO, 0x0a43, 85, &PartyRecv::processPartyMemberInfo, 20170502); +} + // 0 // evol always packets packet(SMSG_SERVER_VERSION_RESPONSE, 0x7531, -1, &LoginRecv::processServerVersion, 0); diff --git a/src/net/eathena/partyrecv.cpp b/src/net/eathena/partyrecv.cpp index 0947a525e..a7d25ef32 100644 --- a/src/net/eathena/partyrecv.cpp +++ b/src/net/eathena/partyrecv.cpp @@ -57,6 +57,12 @@ void PartyRecv::processPartyMemberInfo(Net::MessageIn &msg) { const BeingId id = msg.readBeingId("account id"); const bool leader = msg.readInt32("leader") == 0U; + int level = 0; + if (msg.getVersion() >= 20170502) + { + msg.readInt16("class"); + level = msg.readInt16("level"); + } const int x = msg.readInt16("x"); const int y = msg.readInt16("y"); const bool online = msg.readInt8("online") == 0U; @@ -79,6 +85,8 @@ void PartyRecv::processPartyMemberInfo(Net::MessageIn &msg) member->setMap(map); member->setX(x); member->setY(y); + if (level != 0) + member->setLevel(level); } } |