From 64ed5cd18dca0d5eb08302d552a09f03d9ceeb10 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 7 Jan 2015 15:34:58 +0300 Subject: eathena: add packet CMSG_VENDING_BUY2 0x0801. --- src/net/eathena/protocol.h | 1 + src/net/eathena/vendinghandler.cpp | 16 ++++++++++++++++ src/net/eathena/vendinghandler.h | 5 +++++ src/net/tmwa/vendinghandler.cpp | 7 +++++++ src/net/tmwa/vendinghandler.h | 5 +++++ src/net/vendinghandler.h | 5 +++++ 6 files changed, 39 insertions(+) diff --git a/src/net/eathena/protocol.h b/src/net/eathena/protocol.h index f10ec6163..61c8661ad 100644 --- a/src/net/eathena/protocol.h +++ b/src/net/eathena/protocol.h @@ -536,5 +536,6 @@ #define CMSG_VENDING_CLOSE 0x012e #define CMSG_VENDING_LIST_REQ 0x0130 #define CMSG_VENDING_BUY 0x0134 +#define CMSG_VENDING_BUY2 0x0801 #endif // NET_EATHENA_PROTOCOL_H diff --git a/src/net/eathena/vendinghandler.cpp b/src/net/eathena/vendinghandler.cpp index e16e26fd8..e01040055 100644 --- a/src/net/eathena/vendinghandler.cpp +++ b/src/net/eathena/vendinghandler.cpp @@ -182,4 +182,20 @@ void VendingHandler::buy(const Being *const being, outMsg.writeInt16(index, "index"); } +void VendingHandler::buy2(const Being *const being, + const int vendId, + const int index, + const int amount) const +{ + if (!being) + return; + + createOutPacket(CMSG_VENDING_BUY2); + outMsg.writeInt16(16, "len"); + outMsg.writeInt32(being->getId(), "account id"); + outMsg.writeInt32(vendId, "vend id"); + outMsg.writeInt16(amount, "amount"); + outMsg.writeInt16(index, "index"); +} + } // namespace EAthena diff --git a/src/net/eathena/vendinghandler.h b/src/net/eathena/vendinghandler.h index ef18f4ce2..e14ca0596 100644 --- a/src/net/eathena/vendinghandler.h +++ b/src/net/eathena/vendinghandler.h @@ -45,6 +45,11 @@ class VendingHandler final : public MessageHandler, const int index, const int amount) const override final; + void buy2(const Being *const being, + const int vendId, + const int index, + const int amount) const override final; + protected: static void processOpenReq(Net::MessageIn &msg); diff --git a/src/net/tmwa/vendinghandler.cpp b/src/net/tmwa/vendinghandler.cpp index b638ba6ee..deff011ca 100644 --- a/src/net/tmwa/vendinghandler.cpp +++ b/src/net/tmwa/vendinghandler.cpp @@ -56,4 +56,11 @@ void VendingHandler::buy(const Being *const being A_UNUSED, { } +void VendingHandler::buy2(const Being *const being A_UNUSED, + const int vendId A_UNUSED, + const int index A_UNUSED, + const int amount A_UNUSED) const +{ +} + } // namespace TmwAthena diff --git a/src/net/tmwa/vendinghandler.h b/src/net/tmwa/vendinghandler.h index fee23c0be..f23e8276c 100644 --- a/src/net/tmwa/vendinghandler.h +++ b/src/net/tmwa/vendinghandler.h @@ -45,6 +45,11 @@ class VendingHandler final : public MessageHandler, void buy(const Being *const being, const int index, const int amount) const override final; + + void buy2(const Being *const being, + const int vendId, + const int index, + const int amount) const override final; }; } // namespace TmwAthena diff --git a/src/net/vendinghandler.h b/src/net/vendinghandler.h index af8f39acc..c8eed3bd3 100644 --- a/src/net/vendinghandler.h +++ b/src/net/vendinghandler.h @@ -43,6 +43,11 @@ class VendingHandler notfinal virtual void buy(const Being *const being, const int index, const int amount) const = 0; + + virtual void buy2(const Being *const being, + const int vendId, + const int index, + const int amount) const = 0; }; } // namespace Net -- cgit v1.2.3-60-g2f50