diff options
Diffstat (limited to 'src/net')
-rw-r--r-- | src/net/eathena/mail2recv.cpp | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/src/net/eathena/mail2recv.cpp b/src/net/eathena/mail2recv.cpp index 1cb2a7f58..392e679d6 100644 --- a/src/net/eathena/mail2recv.cpp +++ b/src/net/eathena/mail2recv.cpp @@ -467,10 +467,31 @@ void Mail2Recv::processRequestMoney(Net::MessageIn &msg) void Mail2Recv::processRequestItems(Net::MessageIn &msg) { - UNIMPLEMENTEDPACKET; - msg.readInt64("mail id"); + const int64_t mailId = msg.readInt64("mail id"); msg.readUInt8("open type"); - msg.readUInt8("result"); + const int res = msg.readUInt8("result"); + switch (res) + { + case 0: + NotifyManager::notify( + NotifyTypes::MAIL_GET_ATTACH_OK); + if (mailViewWindow) + mailViewWindow->removeItems(mailId); + break; + case 1: + NotifyManager::notify( + NotifyTypes::MAIL_GET_ATTACH_ERROR); + break; + case 2: + NotifyManager::notify( + NotifyTypes::MAIL_GET_ATTACH_FULL_ERROR); + break; + default: + UNIMPLEMENTEDPACKETFIELD(res); + NotifyManager::notify( + NotifyTypes::MAIL_GET_ATTACH_ERROR); + break; + } } } // namespace EAthena |