From 13c4a1131854887ac9ec83f80c7964f6b2949c87 Mon Sep 17 00:00:00 2001 From: Stefan Dombrowski Date: Mon, 11 Apr 2011 21:07:32 +0200 Subject: Removing annoying NPC trade messages from chat The thanks messages got removed, because they are useless and when selling many items they completely trashed the chat. The pick-up information for money now respects the configuration. Reviewed-by: thorbjorn --- src/net/tmwa/buysellhandler.cpp | 11 ++--------- src/net/tmwa/playerhandler.cpp | 19 +++++++++++++------ 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/net/tmwa/buysellhandler.cpp b/src/net/tmwa/buysellhandler.cpp index 209f034d..fae63c67 100644 --- a/src/net/tmwa/buysellhandler.cpp +++ b/src/net/tmwa/buysellhandler.cpp @@ -112,11 +112,7 @@ void BuySellHandler::handleMessage(Net::MessageIn &msg) break; case SMSG_NPC_BUY_RESPONSE: - if (msg.readInt8() == 0) - { - localChatTab->chatLog(_("Thanks for buying."), BY_SERVER); - } - else + if (msg.readInt8() != 0) { // Reset player money since buy dialog already assumed purchase // would go fine @@ -126,11 +122,8 @@ void BuySellHandler::handleMessage(Net::MessageIn &msg) break; case SMSG_NPC_SELL_RESPONSE: - if (msg.readInt8() == 0) - localChatTab->chatLog(_("Thanks for selling."), BY_SERVER); - else + if (msg.readInt8() != 0) localChatTab->chatLog(_("Unable to sell."), BY_SERVER); - break; } } diff --git a/src/net/tmwa/playerhandler.cpp b/src/net/tmwa/playerhandler.cpp index 48e7f4b3..a4cd7b15 100644 --- a/src/net/tmwa/playerhandler.cpp +++ b/src/net/tmwa/playerhandler.cpp @@ -21,6 +21,7 @@ #include "net/tmwa/playerhandler.h" +#include "configuration.h" #include "game.h" #include "localplayer.h" #include "log.h" @@ -337,14 +338,20 @@ void PlayerHandler::handleMessage(Net::MessageIn &msg) player_node->setExperience(JOB, msg.readInt32(), player_node->getExperience(JOB).second); break; - case 0x0014: { - int curGp = player_node->getMoney(); + case 0x0014: + { + const int curGp = player_node->getMoney(); player_node->setMoney(msg.readInt32()); - if (player_node->getMoney() > curGp) + if (player_node->getMoney() <= curGp) + break; + std::string money = Units::formatCurrency( + player_node->getMoney() - curGp); + if (config.getValue("showpickupchat", 1)) localChatTab->chatLog(strprintf(_("You picked up " - "%s."), - Units::formatCurrency(player_node->getMoney() - - curGp).c_str()), BY_SERVER); + "%s."), money.c_str()), BY_SERVER); + if (config.getValue("showpickupparticle", 1)) + player_node->addMessageToQueue(money, + UserPalette::PICKUP_INFO); } break; case 0x0016: -- cgit v1.2.3-70-g09d2