summaryrefslogtreecommitdiff
path: root/src/net/eathena/partyrecv.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/eathena/partyrecv.cpp')
-rw-r--r--src/net/eathena/partyrecv.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/net/eathena/partyrecv.cpp b/src/net/eathena/partyrecv.cpp
index c3cbd102c..e820a0eac 100644
--- a/src/net/eathena/partyrecv.cpp
+++ b/src/net/eathena/partyrecv.cpp
@@ -37,6 +37,8 @@
#include "net/ea/partyrecv.h"
+#include "utils/checkutils.h"
+
#include "debug.h"
namespace EAthena
@@ -90,6 +92,28 @@ void PartyRecv::processPartyMemberInfo(Net::MessageIn &msg)
}
}
+void PartyRecv::processPartyMemberJobLevel(Net::MessageIn &msg)
+{
+ const BeingId id = msg.readBeingId("account id");
+ msg.readInt16("class");
+ const int level = msg.readInt16("level");
+
+ if (Ea::taParty == nullptr)
+ return;
+
+ PartyMember *const member = Ea::taParty->getMember(id);
+ if (member != nullptr)
+ {
+ member->setOnline(true);
+ if (level != 0)
+ member->setLevel(level);
+ }
+ else
+ {
+ reportAlways("processPartyMemberJobLevel: party member not exists.");
+ }
+}
+
void PartyRecv::processPartySettings(Net::MessageIn &msg)
{
if (partyTab == nullptr)