diff options
author | Andrei Karas <akaras@inbox.ru> | 2017-08-10 04:48:56 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2017-08-10 04:48:56 +0300 |
commit | bddc79db0e77399f5915729a7050f6e1c6b07ce4 (patch) | |
tree | 42df26cc38869a49c1ac3d4dd46f77809acb9cbf /src/net | |
parent | 7942effd7a11d3a43adb64b5a3e1dfb687f9fd75 (diff) | |
download | mv-bddc79db0e77399f5915729a7050f6e1c6b07ce4.tar.gz mv-bddc79db0e77399f5915729a7050f6e1c6b07ce4.tar.bz2 mv-bddc79db0e77399f5915729a7050f6e1c6b07ce4.tar.xz mv-bddc79db0e77399f5915729a7050f6e1c6b07ce4.zip |
Read whole packet in processPlayerStatusChange if being not found.
Diffstat (limited to 'src/net')
-rw-r--r-- | src/net/eathena/beingrecv.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/net/eathena/beingrecv.cpp b/src/net/eathena/beingrecv.cpp index c7c0c801c..95cb677bd 100644 --- a/src/net/eathena/beingrecv.cpp +++ b/src/net/eathena/beingrecv.cpp @@ -1528,7 +1528,16 @@ void BeingRecv::processPlayerStatusChange(Net::MessageIn &msg) const BeingId id = msg.readBeingId("account id"); Being *const dstBeing = actorManager->findBeing(id); if (dstBeing == nullptr) + { + msg.readInt16("opt1"); + msg.readInt16("opt2"); + if (msg.getVersion() >= 7) + msg.readInt32("option"); + else + msg.readInt16("option"); + msg.readUInt8("karma"); return; + } const uint32_t opt1 = msg.readInt16("opt1"); const uint32_t opt2 = msg.readInt16("opt2"); |