#include "Item.h" #include Item::Item(int itemTypeId, const char* name) : ReferenceCounter(), itemTypeId(itemTypeId), blockTypeId(0), hp(1), maxHp(1), durability(1), maxDurability(1), eatable(0), placeable(0), equippable(0), solid(1), usable(0), maxStackSize(50), name(name) {} void Item::setHp(float hp) { this->hp = hp; } void Item::tick() {} const ItemType* Item::zItemType() const { return StaticRegistry::INSTANCE.zElement(itemTypeId); } int Item::getTypeId() const { return itemTypeId; } const BlockType* Item::zPlacedBlockType() const { return StaticRegistry::INSTANCE.zElement(blockTypeId); } float Item::getHp() const { return hp; } float Item::getDurability() const { return durability; } bool Item::isUsable() const { return usable; } bool Item::isEatable() const { return eatable; } bool Item::isPlaceable() const { return placeable; } bool Item::isEquippable() const { return equippable; } bool Item::isSolid() const { return solid; } float Item::getMaxDurability() const { return maxDurability; } int Item::getMaxStackSize() const { return maxStackSize; } float Item::getMaxHp() const { return maxHp; } bool Item::canBeStackedWith(const Item* zItem) const { return itemTypeId == zItem->itemTypeId && durability == maxDurability && zItem->durability == zItem->maxDurability && maxHp == zItem->maxHp && eatable == zItem->eatable && placeable == zItem->placeable && equippable == zItem->eatable && solid == zItem->solid && usable == zItem->usable && maxStackSize == zItem->maxStackSize && name.istGleich(zItem->name); } void Item::onPlaced() { hp = 0; } Framework::Text Item::getTooltipUIML() const { return Framework::Text("") + name + ""; } void Item::applyInventoryEffects(Entity* zTarget) {} void Item::removeInventoryEffects(Entity* zTarget) {} void Item::applyEquippedEffects(Entity* zTarget) {} void Item::removeEquippedEffects(Entity* zTarget) {} void Item::applyFoodEffects(Entity* zTarget) {}