diff options
Diffstat (limited to 'src/net/eathena')
-rw-r--r-- | src/net/eathena/cashshophandler.cpp | 14 | ||||
-rw-r--r-- | src/net/eathena/cashshophandler.h | 5 | ||||
-rw-r--r-- | src/net/eathena/protocol.h | 1 |
3 files changed, 20 insertions, 0 deletions
diff --git a/src/net/eathena/cashshophandler.cpp b/src/net/eathena/cashshophandler.cpp index 39db23b04..56e7bac25 100644 --- a/src/net/eathena/cashshophandler.cpp +++ b/src/net/eathena/cashshophandler.cpp @@ -20,6 +20,7 @@ #include "net/eathena/cashshophandler.h" +#include "net/eathena/messageout.h" #include "net/eathena/protocol.h" #include "debug.h" @@ -68,4 +69,17 @@ void CashShopHandler::processCashShopOpen(Net::MessageIn &msg) } } +void CashShopHandler::buy(const int points, + const int itemId, + const unsigned char color A_UNUSED, + const int amount) const +{ + createOutPacket(CMSG_NPC_CASH_SHOP_BUY); + outMsg.writeInt16(10 + 4, "len"); + outMsg.writeInt32(points, "points"); + outMsg.writeInt16(1, "count"); + outMsg.writeInt16(amount, "amount"); + outMsg.writeInt16(itemId, "item id"); +} + } // namespace EAthena diff --git a/src/net/eathena/cashshophandler.h b/src/net/eathena/cashshophandler.h index d0e42cc63..fa781f74a 100644 --- a/src/net/eathena/cashshophandler.h +++ b/src/net/eathena/cashshophandler.h @@ -37,6 +37,11 @@ class CashShopHandler final : public MessageHandler, void handleMessage(Net::MessageIn &msg) override final; + void buy(const int points, + const int itemId, + const unsigned char color, + const int amount) const override final; + protected: static void processCashShopOpen(Net::MessageIn &msg); }; diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h index 45c8e4d6e..53214e876 100644 --- a/src/net/eathena/protocol.h +++ b/src/net/eathena/protocol.h @@ -386,6 +386,7 @@ #define CMSG_NPC_SELL_REQUEST 0x00c9 #define CMSG_NPC_MARKET_CLOSE 0x09d8 #define CMSG_NPC_MARKET_BUY 0x09d6 +#define CMSG_NPC_CASH_SHOP_BUY 0x0288 #define CMSG_TRADE_REQUEST 0x00e4 #define CMSG_TRADE_RESPONSE 0x00e6 |