diff options
Diffstat (limited to 'src/net/tradehandler.cpp')
-rw-r--r-- | src/net/tradehandler.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/net/tradehandler.cpp b/src/net/tradehandler.cpp index b659f8a4..d75350bc 100644 --- a/src/net/tradehandler.cpp +++ b/src/net/tradehandler.cpp @@ -55,7 +55,8 @@ namespace { } listener; } -TradeHandler::TradeHandler() +TradeHandler::TradeHandler(): + mAcceptTradeRequests(true) { static const Uint16 _messages[] = { GPMSG_TRADE_REQUEST, @@ -70,6 +71,16 @@ TradeHandler::TradeHandler() handledMessages = _messages; } +void TradeHandler::setAcceptTradeRequests(bool acceptTradeRequests) +{ + mAcceptTradeRequests = acceptTradeRequests; + if (mAcceptTradeRequests) { + chatWindow->chatLog("Accepting incoming trade requests", BY_SERVER); + } else { + chatWindow->chatLog("Ignoring incoming trade requests", BY_SERVER); + } +} + void TradeHandler::handleMessage(MessageIn &msg) { switch (msg.getId()) @@ -77,7 +88,7 @@ void TradeHandler::handleMessage(MessageIn &msg) case GPMSG_TRADE_REQUEST: { Being *being = beingManager->findBeing(msg.readInt16()); - if (!being) + if (!being || !mAcceptTradeRequests) { Net::GameServer::Player::acceptTrade(false); break; |