diff options
-rw-r--r-- | src/net/eathena/packetsout.inc | 8 | ||||
-rw-r--r-- | src/net/eathena/partyhandler.cpp | 28 |
2 files changed, 30 insertions, 6 deletions
diff --git a/src/net/eathena/packetsout.inc b/src/net/eathena/packetsout.inc index a9c803e48..b1f8458d7 100644 --- a/src/net/eathena/packetsout.inc +++ b/src/net/eathena/packetsout.inc @@ -285,11 +285,19 @@ if (packetVersion >= 20041108) packet(CMSG_ALCHEMIST_RANKS, 0x0218, 2, clif->pAlchemist); packet(CMSG_BLACKSMITH_RANKS, 0x0217, 2, clif->pBlacksmith); } + // 20050530 if (packetVersion >= 20050530) { packet(CMSG_PK_RANKS, 0x0237, 2, clif->pRankingPk); } + +// 20090603 +if (packetVersion >= 20090603) +{ + packet(CMSG_PARTY_SETTINGS, 0x07d7, 8, clif->pPartyChangeOption); +} + // 20150513 if (packetVersion >= 20150513) { diff --git a/src/net/eathena/partyhandler.cpp b/src/net/eathena/partyhandler.cpp index 3aa26b1b5..67a86c14c 100644 --- a/src/net/eathena/partyhandler.cpp +++ b/src/net/eathena/partyhandler.cpp @@ -37,6 +37,7 @@ #include "debug.h" extern Net::PartyHandler *partyHandler; +extern int packetVersion; namespace EAthena { @@ -137,9 +138,16 @@ void PartyHandler::setShareExperience(const PartyShareT share) const return; createOutPacket(CMSG_PARTY_SETTINGS); - outMsg.writeInt16(CAST_S16(share), "share exp"); - outMsg.writeInt16(CAST_S16(Ea::PartyRecv::mShareItems), - "share items"); + if (packetVersion >= 20090603) + { + outMsg.writeInt32(CAST_S32(share), "share exp"); + outMsg.writeInt16(CAST_S16(Ea::PartyRecv::mShareItems), + "share items"); + } + else + { + outMsg.writeInt32(CAST_S32(share), "share exp"); + } } // +++ must be 3 types item, exp, pickup @@ -149,9 +157,17 @@ void PartyHandler::setShareItems(const PartyShareT share) const return; createOutPacket(CMSG_PARTY_SETTINGS); - outMsg.writeInt16(CAST_S16(Ea::PartyRecv::mShareExp), - "share exp"); - outMsg.writeInt16(CAST_S16(share), "share items"); + if (packetVersion >= 20090603) + { + outMsg.writeInt32(CAST_S32(Ea::PartyRecv::mShareExp), + "share exp"); + outMsg.writeInt16(CAST_S16(share), "share items"); + } + else + { +// outMsg.writeInt32(CAST_S16(Ea::PartyRecv::mShareExp), +// "share exp"); + } } void PartyHandler::changeLeader(const std::string &name) const |