From 4c57a567eec8b3df0b0009b5520d647cccb83338 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 23 Jun 2013 12:21:55 +0300 Subject: Add support for protecting items. Protected item cant be selled, traded, dropped, used. Protect/unprotect item can be from context menu. --- src/gui/inventorywindow.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/gui/inventorywindow.cpp') diff --git a/src/gui/inventorywindow.cpp b/src/gui/inventorywindow.cpp index f659b8693..553313289 100644 --- a/src/gui/inventorywindow.cpp +++ b/src/gui/inventorywindow.cpp @@ -360,6 +360,8 @@ void InventoryWindow::action(const gcn::ActionEvent &event) } else { + if (PlayerInfo::isItemProtected(item->getId())) + return; Net::getInventoryHandler()->useItem(item); } } @@ -374,11 +376,16 @@ void InventoryWindow::action(const gcn::ActionEvent &event) } else { + if (PlayerInfo::isItemProtected(item->getId())) + return; Net::getInventoryHandler()->useItem(item); } } else if (eventId == "drop") { + if (PlayerInfo::isItemProtected(item->getId())) + return; + if (isStorageActive()) { Net::getInventoryHandler()->moveItem2(Inventory::INVENTORY, @@ -503,6 +510,8 @@ void InventoryWindow::mouseClicked(gcn::MouseEvent &event) } else if (mod2 && mInventory->isMainInventory()) { + if (PlayerInfo::isItemProtected(item->getId())) + return; if (event.getButton() == gcn::MouseEvent::RIGHT) { ItemAmountWindow::showWindow(ItemAmountWindow::TradeAdd, @@ -525,6 +534,8 @@ void InventoryWindow::mouseClicked(gcn::MouseEvent &event) } else if (tradeWindow && tradeWindow->isWindowVisible()) { + if (PlayerInfo::isItemProtected(item->getId())) + return; ItemAmountWindow::showWindow(ItemAmountWindow::TradeAdd, tradeWindow, item); } @@ -539,6 +550,8 @@ void InventoryWindow::mouseClicked(gcn::MouseEvent &event) } else { + if (PlayerInfo::isItemProtected(item->getId())) + return; Net::getInventoryHandler()->useItem(item); } } -- cgit v1.2.3-70-g09d2