summaryrefslogtreecommitdiff
path: root/src/net/eathena
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/eathena')
-rw-r--r--src/net/eathena/mail2handler.cpp16
-rw-r--r--src/net/eathena/mail2handler.h3
-rw-r--r--src/net/eathena/packetsout.inc2
3 files changed, 21 insertions, 0 deletions
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