From 4d94a44a3acf77653b4e4782009a49293b96c35d Mon Sep 17 00:00:00 2001
From: Andrei Karas <akaras@inbox.ru>
Date: Wed, 28 Jun 2017 00:37:59 +0300
Subject: Add packet SMSG_PARTY_MEMBER_INFO 0x0a43.

---
 src/net/eathena/packetsin.inc | 6 ++++++
 src/net/eathena/partyrecv.cpp | 8 ++++++++
 2 files changed, 14 insertions(+)

(limited to 'src')

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);
     }
 }
 
-- 
cgit v1.2.3-70-g09d2