diff options
Diffstat (limited to 'src/net/eathena/partyrecv.cpp')
-rw-r--r-- | src/net/eathena/partyrecv.cpp | 24 |
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) |