ItemStack PlayerSAO::getWieldedItem() const { const Inventory *inv = getInventory(); ItemStack ret; const InventoryList *mlist = inv->getList(getWieldList()); if (mlist && getWieldIndex() < (s32)mlist->getSize()) ret = mlist->getItem(getWieldIndex()); return ret; }
bool ServerActiveObject::setWieldedItem(const ItemStack &item) { if(Inventory *inv = getInventory()) { if (InventoryList *list = inv->getList(getWieldList())) { list->changeItem(getWieldIndex(), item); return true; } } return false; }
ItemStack ServerActiveObject::getWieldedItem() const { const Inventory *inv = getInventory(); if(inv) { const InventoryList *list = inv->getList(getWieldList()); if(list && (getWieldIndex() < (s32)list->getSize())) return list->getItem(getWieldIndex()); } return ItemStack(); }
bool PlayerSAO::setWieldedItem(const ItemStack &item) { Inventory *inv = getInventory(); if (inv) { InventoryList *mlist = inv->getList(getWieldList()); if (mlist) { mlist->changeItem(getWieldIndex(), item); return true; } } return false; }
ItemStack PlayerSAO::getWieldedItemOrHand() const { const Inventory *inv = getInventory(); ItemStack ret; const InventoryList *mlist = inv->getList(getWieldList()); if (mlist && getWieldIndex() < (s32)mlist->getSize()) ret = mlist->getItem(getWieldIndex()); if (ret.name.empty()) { const InventoryList *hlist = inv->getList("hand"); if (hlist) ret = hlist->getItem(0); } return ret; }
bool PlayerSAO::setWieldedItem(const ItemStack &item) { Inventory *inv = getInventory(); if (inv) { InventoryList *mlist = inv->getList(getWieldList()); if (mlist) { ItemStack olditem = mlist->getItem(getWieldIndex()); if (olditem.name.empty()) { InventoryList *hlist = inv->getList("hand"); if (hlist) { hlist->changeItem(0, item); return true; } } mlist->changeItem(getWieldIndex(), item); return true; } } return false; }