diff options
Diffstat (limited to 'src/net/tmwa')
-rw-r--r-- | src/net/tmwa/buysellhandler.cpp | 18 | ||||
-rw-r--r-- | src/net/tmwa/buysellhandler.h | 4 |
2 files changed, 22 insertions, 0 deletions
diff --git a/src/net/tmwa/buysellhandler.cpp b/src/net/tmwa/buysellhandler.cpp index 2e5f79127..7a8165c89 100644 --- a/src/net/tmwa/buysellhandler.cpp +++ b/src/net/tmwa/buysellhandler.cpp @@ -180,4 +180,22 @@ void BuySellHandler::requestBuyList(const std::string &nick) const } } +void BuySellHandler::sendBuyRequest(const std::string &nick, + const ShopItem *const item, + const int amount) const +{ + if (!chatWindow || nick.empty() || !item || + amount < 1 || amount > item->getQuantity()) + { + return; + } + const std::string data = strprintf("!buyitem %d %d %d", + item->getId(), item->getPrice(), amount); + + if (config.getBoolValue("hideShopMessages")) + chatHandler->privateMessage(nick, data); + else + chatWindow->addWhisper(nick, data, ChatMsgType::BY_PLAYER); +} + } // namespace TmwAthena diff --git a/src/net/tmwa/buysellhandler.h b/src/net/tmwa/buysellhandler.h index 01137e5f8..f32d85669 100644 --- a/src/net/tmwa/buysellhandler.h +++ b/src/net/tmwa/buysellhandler.h @@ -45,6 +45,10 @@ class BuySellHandler final : public MessageHandler, public Ea::BuySellHandler void requestBuyList(const std::string &nick) const override final; + void sendBuyRequest(const std::string &nick, + const ShopItem *const item, + const int amount) const override final; + protected: static void processNpcBuy(Net::MessageIn &msg); |