diff options
author | David Athay <dathay@mini1.local> | 2011-04-06 19:24:23 -0500 |
---|---|---|
committer | David Athay <dathay@mini1.local> | 2011-04-06 19:24:23 -0500 |
commit | 701a8d8bf4fe2d286c2ffa39efa8b80e6c85ff01 (patch) | |
tree | 4f01225b6a3958ce9361fe60533a19d6d522ed48 /src/localplayer.cpp | |
parent | 66bd56ebec2bff48fb1484603b41643fd89bf4d6 (diff) | |
parent | b6f3db30c595d8e89572c78eb82b9823b8491c54 (diff) | |
download | mana-client-701a8d8bf4fe2d286c2ffa39efa8b80e6c85ff01.tar.gz mana-client-701a8d8bf4fe2d286c2ffa39efa8b80e6c85ff01.tar.bz2 mana-client-701a8d8bf4fe2d286c2ffa39efa8b80e6c85ff01.tar.xz mana-client-701a8d8bf4fe2d286c2ffa39efa8b80e6c85ff01.zip |
Merge branch '0.5' of git://gitorious.org/mana/mana into 0.5
Diffstat (limited to 'src/localplayer.cpp')
-rw-r--r-- | src/localplayer.cpp | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/src/localplayer.cpp b/src/localplayer.cpp index 7826596c..cea27960 100644 --- a/src/localplayer.cpp +++ b/src/localplayer.cpp @@ -1239,13 +1239,32 @@ void LocalPlayer::setMoney(int value) statusWindow->update(StatusWindow::MONEY); } -void LocalPlayer::pickedUp(const ItemInfo &itemInfo, int amount) +void LocalPlayer::pickedUp(const ItemInfo &itemInfo, int amount, + unsigned char fail) { - if (!amount) + if (fail) { + const char* msg; + switch (fail) + { + case PICKUP_BAD_ITEM: + msg = N_("Tried to pick up nonexistent item."); break; + case PICKUP_TOO_HEAVY: msg = N_("Item is too heavy."); break; + case PICKUP_TOO_FAR: msg = N_("Item is too far away"); break; + case PICKUP_INV_FULL: msg = N_("Inventory is full."); break; + case PICKUP_STACK_FULL: msg = N_("Stack is too big."); break; + case PICKUP_DROP_STEAL: + msg = N_("Item belongs to someone else."); break; + default: msg = N_("Unknown problem picking up item."); break; + } if (config.getValue("showpickupchat", 1)) { - localChatTab->chatLog(_("Unable to pick up item."), BY_SERVER); + localChatTab->chatLog(_(msg), BY_SERVER); + } + if (mMap && config.getValue("showpickupparticle", 0)) + { + // Show pickup notification + addMessageToQueue(_(msg), UserPalette::PICKUP_INFO); } } else @@ -1263,7 +1282,11 @@ void LocalPlayer::pickedUp(const ItemInfo &itemInfo, int amount) if (mMap && config.getValue("showpickupparticle", 0)) { // Show pickup notification - addMessageToQueue(itemInfo.getName(), UserPalette::PICKUP_INFO); + std::string msg = ""; + if (amount > 1) + msg = strprintf("%i ", amount); + msg += itemInfo.getName(); + addMessageToQueue(msg, UserPalette::PICKUP_INFO); } } } |