summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/net/eathena/mail2handler.cpp10
-rw-r--r--src/net/eathena/mail2handler.h2
-rw-r--r--src/net/eathena/packetsout.inc7
-rw-r--r--src/net/mail2handler.h2
-rw-r--r--src/net/tmwa/mail2handler.cpp4
-rw-r--r--src/net/tmwa/mail2handler.h2
6 files changed, 27 insertions, 0 deletions
diff --git a/src/net/eathena/mail2handler.cpp b/src/net/eathena/mail2handler.cpp
index b4b6de984..4797eaf82 100644
--- a/src/net/eathena/mail2handler.cpp
+++ b/src/net/eathena/mail2handler.cpp
@@ -216,4 +216,14 @@ void Mail2Handler::openMailBox(const int openType) const
outMsg.writeInt64(0, "mail id");
}
+void Mail2Handler::closeMailBox() const
+{
+ if (packetVersion < 20131211 ||
+ serverVersion < 19)
+ {
+ return;
+ }
+ createOutPacket(CMSG_MAIL2_CLOSE_MAILBOX);
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/mail2handler.h b/src/net/eathena/mail2handler.h
index 4ad44870b..acd32dfd6 100644
--- a/src/net/eathena/mail2handler.h
+++ b/src/net/eathena/mail2handler.h
@@ -67,6 +67,8 @@ class Mail2Handler final : public Net::Mail2Handler
const int64_t mailId) const override final;
void openMailBox(const int openType) const override final;
+
+ void closeMailBox() const override final;
};
} // namespace EAthena
diff --git a/src/net/eathena/packetsout.inc b/src/net/eathena/packetsout.inc
index dfe9808a2..136d3f20d 100644
--- a/src/net/eathena/packetsout.inc
+++ b/src/net/eathena/packetsout.inc
@@ -329,6 +329,7 @@ packet(CMSG_MAIL2_REQUEST_MONEY, 0x0000, 0, nullptr);
packet(CMSG_MAIL2_REQUEST_ITEMS, 0x0000, 0, nullptr);
packet(CMSG_MAIL2_REFRESH_MAIL_LIST, 0x0000, 0, nullptr);
packet(CMSG_MAIL2_OPEN_MAILBOX, 0x0000, 0, nullptr);
+packet(CMSG_MAIL2_CLOSE_MAILBOX, 0x0000, 0, nullptr);
#else
// 20040713
if (packetVersion >= 20040713)
@@ -1138,6 +1139,12 @@ if (packetVersion >= 20130814)
packet(CMSG_ADMIN_MONSTER_ITEM, 0x09ce, 102, clif->pGM_Monster_Item);
}
+// 20131211
+if (packetVersion >= 20131211)
+{
+ packet(CMSG_MAIL2_CLOSE_MAILBOX, 0x09e9, 2, clif->pRodexCloseMailbox);
+}
+
// 20131218
if (packetVersion >= 20131218)
{
diff --git a/src/net/mail2handler.h b/src/net/mail2handler.h
index b8a5301b1..d8d3570be 100644
--- a/src/net/mail2handler.h
+++ b/src/net/mail2handler.h
@@ -73,6 +73,8 @@ class Mail2Handler notfinal
const int64_t mailId) const = 0;
virtual void openMailBox(const int openType) const = 0;
+
+ virtual void closeMailBox() const = 0;
};
} // namespace Net
diff --git a/src/net/tmwa/mail2handler.cpp b/src/net/tmwa/mail2handler.cpp
index 3d4af2ab9..c4b41dcd1 100644
--- a/src/net/tmwa/mail2handler.cpp
+++ b/src/net/tmwa/mail2handler.cpp
@@ -90,4 +90,8 @@ void Mail2Handler::openMailBox(const int openType A_UNUSED) const
{
}
+void Mail2Handler::closeMailBox() const
+{
+}
+
} // namespace TmwAthena
diff --git a/src/net/tmwa/mail2handler.h b/src/net/tmwa/mail2handler.h
index 2bc7a6dec..ea93b859c 100644
--- a/src/net/tmwa/mail2handler.h
+++ b/src/net/tmwa/mail2handler.h
@@ -67,6 +67,8 @@ class Mail2Handler final : public Net::Mail2Handler
const int64_t mailId) const override final;
void openMailBox(const int openType) const override final;
+
+ void closeMailBox() const override final;
};
} // namespace TmwAthena