diff options
author | Andrei Karas <akaras@inbox.ru> | 2016-04-06 20:41:09 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2016-04-06 21:29:13 +0300 |
commit | c41c0f6b4f1e848c202c378810c73fdb25dfe8ae (patch) | |
tree | 7558f1688f06d2594fba8e73b05351cb770edeff | |
parent | 3a3b35a15867bd56f6bcbe245282cd36d86678c3 (diff) | |
download | manaplus-c41c0f6b4f1e848c202c378810c73fdb25dfe8ae.tar.gz manaplus-c41c0f6b4f1e848c202c378810c73fdb25dfe8ae.tar.bz2 manaplus-c41c0f6b4f1e848c202c378810c73fdb25dfe8ae.tar.xz manaplus-c41c0f6b4f1e848c202c378810c73fdb25dfe8ae.zip |
Add packet CMSG_PARTY_SETTINGS 0x07d7.
-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 |