diff options
Diffstat (limited to 'src/net')
-rw-r--r-- | src/net/eathena/beingrecv.cpp | 5 | ||||
-rw-r--r-- | src/net/tmwa/beingrecv.cpp | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/net/eathena/beingrecv.cpp b/src/net/eathena/beingrecv.cpp index a40639457..aac0dd914 100644 --- a/src/net/eathena/beingrecv.cpp +++ b/src/net/eathena/beingrecv.cpp @@ -971,9 +971,12 @@ void BeingRecv::processBeingStatusChange(Net::MessageIn &msg) msg.readInt32("val3"); } + IsStart start = msg.getVersion() == 20090121 ? + IsStart_false : IsStart_true; + Being *const dstBeing = actorManager->findBeing(id); if (dstBeing) - dstBeing->setStatusEffect(status, flag); + dstBeing->setStatusEffect(status, flag, start); BLOCK_END("BeingRecv::processBeingStatusChange") } diff --git a/src/net/tmwa/beingrecv.cpp b/src/net/tmwa/beingrecv.cpp index a489d4179..843e10f1d 100644 --- a/src/net/tmwa/beingrecv.cpp +++ b/src/net/tmwa/beingrecv.cpp @@ -1137,7 +1137,11 @@ void BeingRecv::processBeingStatusChange(Net::MessageIn &msg) Being *const dstBeing = actorManager->findBeing(id); if (dstBeing) - dstBeing->setStatusEffect(status, flag); + { + // dont know on legacy servers is effect really started + // or not. Because this always sending IsStart_true + dstBeing->setStatusEffect(status, flag, IsStart_true); + } BLOCK_END("BeingRecv::processBeingStatusChange") } |