summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-10-29 23:56:26 +0300
committerAndrei Karas <akaras@inbox.ru>2015-10-29 23:56:26 +0300
commit598de45a1e77e5f10c69694f607941336163673f (patch)
treeab0082f18939c41c402e90d99fbaa298aa21a3c9 /src/gui
parentb0cddefee60e56525fe4da0404f18af71c14acaf (diff)
downloadmanaverse-598de45a1e77e5f10c69694f607941336163673f.tar.gz
manaverse-598de45a1e77e5f10c69694f607941336163673f.tar.bz2
manaverse-598de45a1e77e5f10c69694f607941336163673f.tar.xz
manaverse-598de45a1e77e5f10c69694f607941336163673f.zip
Dont allow add same item twice into npc inventory.
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/widgets/itemcontainer.cpp19
-rw-r--r--src/gui/windows/npcdialog.cpp20
2 files changed, 3 insertions, 36 deletions
diff --git a/src/gui/widgets/itemcontainer.cpp b/src/gui/widgets/itemcontainer.cpp
index 773f43ff7..8fc8b09e4 100644
--- a/src/gui/widgets/itemcontainer.cpp
+++ b/src/gui/widgets/itemcontainer.cpp
@@ -631,23 +631,8 @@ void ItemContainer::mouseReleased(MouseEvent &event)
inventory = PlayerInfo::getInventory();
if (inventory)
{
- const Item *const item = inventory->getItem(dragDrop.getTag());
- if (item && !PlayerInfo::isItemProtected(item->getId()))
- {
- const int index = mInventory->addItem(item->getId(),
- item->getType(),
- 1,
- 1,
- item->getColor(),
- item->getIdentified(),
- item->getDamaged(),
- item->getFavorite(),
- Equipm_false,
- Equipped_false);
- Item *const item2 = mInventory->getItem(index);
- if (item2)
- item2->setTag(item->getInvIndex());
- }
+ mInventory->addVirtualItem(inventory->getItem(
+ dragDrop.getTag()));
}
return;
}
diff --git a/src/gui/windows/npcdialog.cpp b/src/gui/windows/npcdialog.cpp
index 51edbaf3b..5cc538e34 100644
--- a/src/gui/windows/npcdialog.cpp
+++ b/src/gui/windows/npcdialog.cpp
@@ -542,25 +542,7 @@ void NpcDialog::action(const ActionEvent &event)
else if (eventId == "add")
{
if (inventoryWindow)
- {
- const Item *const item = inventoryWindow->getSelectedItem();
- if (item)
- {
- const int index = mInventory->addItem(item->getId(),
- item->getType(),
- 1,
- 1,
- item->getColor(),
- item->getIdentified(),
- item->getDamaged(),
- item->getFavorite(),
- Equipm_false,
- Equipped_false);
- Item *const item2 = mInventory->getItem(index);
- if (item2)
- item2->setTag(item->getInvIndex());
- }
- }
+ mInventory->addVirtualItem(inventoryWindow->getSelectedItem());
}
else if (eventId.find("skin_") == 0)
{