summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/net/eathena/mail2recv.cpp31
-rw-r--r--src/net/eathena/mail2recv.h1
-rw-r--r--src/net/eathena/packetsin.inc3
3 files changed, 35 insertions, 0 deletions
diff --git a/src/net/eathena/mail2recv.cpp b/src/net/eathena/mail2recv.cpp
index 1cc66e0de..3f2049d18 100644
--- a/src/net/eathena/mail2recv.cpp
+++ b/src/net/eathena/mail2recv.cpp
@@ -115,4 +115,35 @@ void Mail2Recv::processMailListPage(Net::MessageIn &msg)
}
}
+void Mail2Recv::processReadMail(Net::MessageIn &msg)
+{
+ UNIMPLEMENTEDPACKET;
+ msg.readInt16("len");
+ msg.readUInt8("open type");
+ msg.readInt64("mail id");
+ const int textLen = msg.readInt16("text len");
+ msg.readInt64("money");
+ const int itemsCount = msg.readUInt8("item count");
+ msg.readString(textLen, "text message");
+ for (int f = 0; f < itemsCount; f ++)
+ {
+ msg.readInt16("amount");
+ msg.readInt16("item id");
+ msg.readUInt8("identify");
+ msg.readUInt8("damaged");
+ msg.readUInt8("refine");
+ for (int d = 0; d < maxCards; d ++)
+ msg.readUInt16("card");
+ msg.readInt32("unknown");
+ msg.readUInt8("type");
+ msg.readInt32("unknown");
+ for (int d = 0; d < 5; d ++)
+ {
+ msg.readInt16("option index");
+ msg.readInt16("option value");
+ msg.readUInt8("option param");
+ }
+ }
+}
+
} // namespace EAthena
diff --git a/src/net/eathena/mail2recv.h b/src/net/eathena/mail2recv.h
index 73b141e6b..0202c6586 100644
--- a/src/net/eathena/mail2recv.h
+++ b/src/net/eathena/mail2recv.h
@@ -37,6 +37,7 @@ namespace EAthena
void processCheckNameResult(Net::MessageIn &msg);
void processSendResult(Net::MessageIn &msg);
void processMailListPage(Net::MessageIn &msg);
+ void processReadMail(Net::MessageIn &msg);
} // namespace MailRecv
} // namespace EAthena
diff --git a/src/net/eathena/packetsin.inc b/src/net/eathena/packetsin.inc
index 669d574a4..17226fdf5 100644
--- a/src/net/eathena/packetsin.inc
+++ b/src/net/eathena/packetsin.inc
@@ -794,6 +794,9 @@ if (packetVersion >= 20131223)
// 20131230
packet(SMSG_RODEX_SEND_RESULT, 0x09ed, 3, &Mail2Recv::processSendResult, 20131230);
+// 20140115
+packet(SMSG_RODEX_READ_MAIL, 0x09eb, -1, &Mail2Recv::processReadMail, 20140115);
+
// 20140416
packet(SMSG_RODEX_OPEN_NEW_MAIL_WINDOW, 0x0a12, 27, &Mail2Recv::processOpenNewMailWindow, 20140416);