From d3329d1900d306643706478cb2685dec7a1100e4 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Fri, 11 Aug 2017 17:10:52 +0300 Subject: Add packet CMSG_MAIL2_ADD_ITEM_TO_MAIL 0x0a04. --- src/net/eathena/mail2handler.cpp | 16 ++++++++++++++++ src/net/eathena/mail2handler.h | 3 +++ src/net/eathena/packetsout.inc | 2 ++ 3 files changed, 21 insertions(+) (limited to 'src/net/eathena') diff --git a/src/net/eathena/mail2handler.cpp b/src/net/eathena/mail2handler.cpp index 550d5f6c1..5d7f50ba3 100644 --- a/src/net/eathena/mail2handler.cpp +++ b/src/net/eathena/mail2handler.cpp @@ -20,10 +20,14 @@ #include "net/eathena/mail2handler.h" +#include "const/net/inventory.h" + #include "net/eathena/messageout.h" #include "net/eathena/updateprotocol.h" #include "net/eathena/protocolout.h" +#include "resources/item/item.h" + #include "debug.h" namespace EAthena @@ -45,4 +49,16 @@ void Mail2Handler::openWriteMail(const std::string &receiver) const outMsg.writeString(receiver, 24, "receiver name"); } +void Mail2Handler::addItem(const Item *const item, + const int amount) const +{ + if (item == nullptr) + return; + + createOutPacket(CMSG_MAIL2_ADD_ITEM_TO_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 66bc11c44..f239eff86 100644 --- a/src/net/eathena/mail2handler.h +++ b/src/net/eathena/mail2handler.h @@ -36,6 +36,9 @@ class Mail2Handler final : public Net::Mail2Handler ~Mail2Handler(); void openWriteMail(const std::string &receiver) const override final; + + void addItem(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 3cbc29988..fcb22bcc8 100644 --- a/src/net/eathena/packetsout.inc +++ b/src/net/eathena/packetsout.inc @@ -318,6 +318,7 @@ packet(CMSG_BOOKING_SEARCH_REQ, 0x0000, 0, nullptr); 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); #else // 20040713 if (packetVersion >= 20040713) @@ -1376,6 +1377,7 @@ if (packetVersion == 20140416) packet(CMSG_STORAGE_PASSWORD, 0x095c, 36, clif->pStoragePassword); 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); } // 20140605 -- cgit v1.2.3-70-g09d2