From 0c291817a1e3fb61e229a2aa0037983ab2f0bf07 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 18 Mar 2015 13:22:35 +0300 Subject: eathena: add partial support for packet SMSG_NPC_CASH_SCHEDULE 0x08ca. --- src/net/eathena/cashshophandler.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/net/eathena/cashshophandler.cpp') diff --git a/src/net/eathena/cashshophandler.cpp b/src/net/eathena/cashshophandler.cpp index f4ac1297c..082394b68 100644 --- a/src/net/eathena/cashshophandler.cpp +++ b/src/net/eathena/cashshophandler.cpp @@ -50,6 +50,7 @@ CashShopHandler::CashShopHandler() : SMSG_NPC_CASH_POINTS, SMSG_NPC_CASH_BUY, SMSG_NPC_CASH_TAB_PRICE_LIST, + SMSG_NPC_CASH_SCHEDULE, 0 }; handledMessages = _messages; @@ -81,6 +82,10 @@ void CashShopHandler::handleMessage(Net::MessageIn &msg) processCashShopTabPriceList(msg); break; + case SMSG_NPC_CASH_SCHEDULE: + processCashShopSchedule(msg); + break; + default: break; } @@ -147,6 +152,22 @@ void CashShopHandler::processCashShopTabPriceList(Net::MessageIn &msg) } } +void CashShopHandler::processCashShopSchedule(Net::MessageIn &msg) +{ + UNIMPLIMENTEDPACKET; + const int count = (msg.readInt16("len") - 8) / 6; + const int itemsCount = msg.readInt16("count"); + msg.readInt16("tab"); + if (count != itemsCount) + logger->log("error: wrong list count"); + + for (int f = 0; f < count; f ++) + { + msg.readInt16("item id"); + msg.readInt32("price"); + } +} + void CashShopHandler::buyItem(const int points, const int itemId, const unsigned char color A_UNUSED, -- cgit v1.2.3-60-g2f50