diff options
author | Andrei Karas <akaras@inbox.ru> | 2017-08-11 17:21:30 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2017-08-11 17:21:30 +0300 |
commit | 1a43a25be73ab9ed464903edef65486e54699437 (patch) | |
tree | baa8a39f2c15e08f582014fbba0e5c8060a71f3f | |
parent | d3329d1900d306643706478cb2685dec7a1100e4 (diff) | |
download | mv-1a43a25be73ab9ed464903edef65486e54699437.tar.gz mv-1a43a25be73ab9ed464903edef65486e54699437.tar.bz2 mv-1a43a25be73ab9ed464903edef65486e54699437.tar.xz mv-1a43a25be73ab9ed464903edef65486e54699437.zip |
Add packet CMSG_MAIL2_REMOVE_ITEM_MAIL 0x0a06.
-rw-r--r-- | src/net/eathena/mail2handler.cpp | 12 | ||||
-rw-r--r-- | src/net/eathena/mail2handler.h | 3 | ||||
-rw-r--r-- | src/net/eathena/packetsout.inc | 2 | ||||
-rw-r--r-- | src/net/mail2handler.h | 3 | ||||
-rw-r--r-- | src/net/tmwa/mail2handler.cpp | 5 | ||||
-rw-r--r-- | src/net/tmwa/mail2handler.h | 3 |
6 files changed, 28 insertions, 0 deletions
diff --git a/src/net/eathena/mail2handler.cpp b/src/net/eathena/mail2handler.cpp index 5d7f50ba3..58acd7feb 100644 --- a/src/net/eathena/mail2handler.cpp +++ b/src/net/eathena/mail2handler.cpp @@ -61,4 +61,16 @@ void Mail2Handler::addItem(const Item *const item, outMsg.writeInt16(CAST_S16(amount), "amount"); } +void Mail2Handler::removeItem(const Item *const item, + const int amount) const +{ + if (item == nullptr) + return; + + createOutPacket(CMSG_MAIL2_REMOVE_ITEM_MAIL); + outMsg.writeInt16(CAST_S16( + item->getInvIndex() + INVENTORY_OFFSET), "index"); + outMsg.writeInt16(CAST_S16(amount), "amount"); +} + } // namespace EAthena diff --git a/src/net/eathena/mail2handler.h b/src/net/eathena/mail2handler.h index f239eff86..b71b8a59b 100644 --- a/src/net/eathena/mail2handler.h +++ b/src/net/eathena/mail2handler.h @@ -39,6 +39,9 @@ class Mail2Handler final : public Net::Mail2Handler void addItem(const Item *const item, const int amount) const override final; + + void removeItem(const Item *const item, + const int amount) const override final; }; } // namespace EAthena diff --git a/src/net/eathena/packetsout.inc b/src/net/eathena/packetsout.inc index fcb22bcc8..446d95144 100644 --- a/src/net/eathena/packetsout.inc +++ b/src/net/eathena/packetsout.inc @@ -319,6 +319,7 @@ packet(CMSG_BOOKING_DELETE_REQ, 0x0000, 0, nullptr); packet(CMSG_BOOKING_UPDATE_REQ, 0x0000, 0, nullptr); packet(CMSG_MAIL2_OPEN_WRITE_MAIL, 0x0000, 0, nullptr); packet(CMSG_MAIL2_ADD_ITEM_TO_MAIL, 0x0000, 0, nullptr); +packet(CMSG_MAIL2_REMOVE_ITEM_MAIL, 0x0000, 0, nullptr); #else // 20040713 if (packetVersion >= 20040713) @@ -1378,6 +1379,7 @@ if (packetVersion == 20140416) packet(CMSG_NAME_REQUEST, 0x096a, 6, clif->pGetCharNameRequest); packet(CMSG_MAIL2_OPEN_WRITE_MAIL, 0x0a08, 26, clif->pRodexOpenWriteMail); packet(CMSG_MAIL2_ADD_ITEM_TO_MAIL, 0x0a04, 6, clif->pRodexAddItem); + packet(CMSG_MAIL2_REMOVE_ITEM_MAIL, 0x0a06, 6, clif->pRodexRemoveItem); } // 20140605 diff --git a/src/net/mail2handler.h b/src/net/mail2handler.h index f53d17a98..a2e3e9b94 100644 --- a/src/net/mail2handler.h +++ b/src/net/mail2handler.h @@ -45,6 +45,9 @@ class Mail2Handler notfinal virtual void addItem(const Item *const item, const int amount) const = 0; + + virtual void removeItem(const Item *const item, + const int amount) const = 0; }; } // namespace Net diff --git a/src/net/tmwa/mail2handler.cpp b/src/net/tmwa/mail2handler.cpp index 9f07f2585..daf874448 100644 --- a/src/net/tmwa/mail2handler.cpp +++ b/src/net/tmwa/mail2handler.cpp @@ -44,4 +44,9 @@ void Mail2Handler::addItem(const Item *const item A_UNUSED, { } +void Mail2Handler::removeItem(const Item *const item A_UNUSED, + const int amount A_UNUSED) const +{ +} + } // namespace TmwAthena diff --git a/src/net/tmwa/mail2handler.h b/src/net/tmwa/mail2handler.h index a8cceb0cb..c0780e128 100644 --- a/src/net/tmwa/mail2handler.h +++ b/src/net/tmwa/mail2handler.h @@ -39,6 +39,9 @@ class Mail2Handler final : public Net::Mail2Handler void addItem(const Item *const item, const int amount) const override final; + + void removeItem(const Item *const item, + const int amount) const override final; }; } // namespace TmwAthena |