diff options
Diffstat (limited to 'src/resources/inventory/complexinventory.cpp')
-rw-r--r-- | src/resources/inventory/complexinventory.cpp | 170 |
1 files changed, 0 insertions, 170 deletions
diff --git a/src/resources/inventory/complexinventory.cpp b/src/resources/inventory/complexinventory.cpp deleted file mode 100644 index c6037fe38..000000000 --- a/src/resources/inventory/complexinventory.cpp +++ /dev/null @@ -1,170 +0,0 @@ -/* - * The ManaPlus Client - * Copyright (C) 2004-2009 The Mana World Development Team - * Copyright (C) 2009-2010 The Mana Developers - * Copyright (C) 2011-2017 The ManaPlus Developers - * - * This file is part of The ManaPlus Client. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#include "resources/inventory/complexinventory.h" - -#include "logger.h" - -#include "being/playerinfo.h" - -#include "utils/cast.h" - -#include "resources/item/complexitem.h" - -#include "debug.h" - -ComplexInventory::ComplexInventory(const InventoryTypeT type, - const int size1) : - Inventory(type, size1) -{ -} - -ComplexInventory::~ComplexInventory() -{ -} - -bool ComplexInventory::addVirtualItem(const Item *const item, - int index, - const int amount) -{ - if ((item == nullptr) || PlayerInfo::isItemProtected(item->getId())) - return false; - - if (index >= 0 && index < CAST_S32(mSize)) - { - ComplexItem *citem = nullptr; - if (mItems[index] != nullptr) - { - const Item *const item2 = mItems[index]; - if (item->getId() != item2->getId() || - item->getColor() != item2->getColor()) - { // not same id or color - return false; - } - citem = dynamic_cast<ComplexItem*>(mItems[index]); - if (citem == nullptr) - { // if in inventory not complex item, converting it to complex - citem = new ComplexItem(item2->getId(), - item2->getType(), - item2->getQuantity(), - item2->getRefine(), - item2->getColor(), - item2->getIdentified(), - item2->getDamaged(), - item2->getFavorite(), - Equipm_false, - Equipped_false); - citem->setTag(item2->getTag()); - delete mItems[index]; - mItems[index] = citem; - } - } - else - { - citem = new ComplexItem(item->getId(), - item->getType(), - 0, - item->getRefine(), - item->getColor(), - item->getIdentified(), - item->getDamaged(), - item->getFavorite(), - Equipm_false, - Equipped_false); - mItems[index] = citem; - } - citem->addChild(item, amount); - } - else - { - index = addItem(item->getId(), - item->getType(), - 1, - 1, - item->getColor(), - item->getIdentified(), - item->getDamaged(), - item->getFavorite(), - Equipm_false, - Equipped_false); - } - if (index == -1) - return false; - - Item *const item2 = getItem(index); - if (item2 != nullptr) - item2->setTag(item->getInvIndex()); - return true; -} - -void ComplexInventory::setItem(const int index, - const int id, - const ItemTypeT type, - const int quantity, - const uint8_t refine, - const ItemColor color, - const Identified identified, - const Damaged damaged, - const Favorite favorite, - const Equipm equipment, - const Equipped equipped) -{ - if (index < 0 || index >= CAST_S32(mSize)) - { - logger->log("Warning: invalid inventory index: %d", index); - return; - } - - const Item *const item1 = mItems[index]; - if ((item1 == nullptr) && id > 0) - { - ComplexItem *const item = new ComplexItem(id, - type, - quantity, - refine, - color, - identified, - damaged, - favorite, - equipment, - equipped); - item->setInvIndex(index); - - Item *const item2 = new Item(id, - type, - quantity, - refine, - color, - identified, - damaged, - favorite, - equipment, - equipped); - item2->setInvIndex(index); - item->addChild(item2, quantity); - delete item2; - - mItems[index] = item; - mUsed ++; - distributeSlotsChangedEvent(); - } -} |