summaryrefslogtreecommitdiff
path: root/src/gui/selldialog.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2013-06-23 12:21:55 +0300
committerAndrei Karas <akaras@inbox.ru>2013-06-23 17:36:25 +0300
commit4c57a567eec8b3df0b0009b5520d647cccb83338 (patch)
tree6677639ab67b1209532d20d0ebffa52e4227cdc8 /src/gui/selldialog.cpp
parenta685e41954590525f5a9f215dbd37a286ae2bd37 (diff)
downloadplus-4c57a567eec8b3df0b0009b5520d647cccb83338.tar.gz
plus-4c57a567eec8b3df0b0009b5520d647cccb83338.tar.bz2
plus-4c57a567eec8b3df0b0009b5520d647cccb83338.tar.xz
plus-4c57a567eec8b3df0b0009b5520d647cccb83338.zip
Add support for protecting items.
Protected item cant be selled, traded, dropped, used. Protect/unprotect item can be from context menu.
Diffstat (limited to 'src/gui/selldialog.cpp')
-rw-r--r--src/gui/selldialog.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/gui/selldialog.cpp b/src/gui/selldialog.cpp
index 8006355bc..c61dec541 100644
--- a/src/gui/selldialog.cpp
+++ b/src/gui/selldialog.cpp
@@ -22,6 +22,7 @@
#include "gui/selldialog.h"
+#include "playerinfo.h"
#include "shopitem.h"
#include "units.h"
@@ -228,9 +229,11 @@ void SellDialog::action(const gcn::ActionEvent &event)
{
if (mNpcId != -1)
{
+ ShopItem *const item = mShopItems->at(selectedItem);
+ if (PlayerInfo::isItemProtected(item->getId()))
+ return;
if (eventId == "presell")
{
- const ShopItem *const item = mShopItems->at(selectedItem);
const ItemInfo &info = ItemDB::get(item->getId());
if (info.isProtected())
{
@@ -245,7 +248,6 @@ void SellDialog::action(const gcn::ActionEvent &event)
}
}
// Attempt sell
- ShopItem *const item = mShopItems->at(selectedItem);
mPlayerMoney +=
mAmountItems * mShopItems->at(selectedItem)->getPrice();
mMaxItems -= mAmountItems;