| 752 | } |
| 753 | |
| 754 | int CraftingPane::maxCraft() { |
| 755 | if (m_player->isAdmin()) |
| 756 | return m_maxSpinCount; |
| 757 | auto itemDb = Root::singleton().itemDatabase(); |
| 758 | int res = 0; |
| 759 | if (m_guiList->selectedItem() != NPos && m_guiList->selectedItem() < m_recipes.size()) { |
| 760 | HashMap<ItemDescriptor, uint64_t> normalizedBag = m_player->inventory()->availableItems(); |
| 761 | auto selectedRecipe = recipeFromSelectedWidget(); |
| 762 | res = itemDb->maxCraftableInBag(normalizedBag, m_player->inventory()->availableCurrencies(), selectedRecipe); |
| 763 | res = std::min(res, m_maxSpinCount); |
| 764 | } |
| 765 | return res; |
| 766 | } |
| 767 | |
| 768 | ItemRecipe CraftingPane::recipeFromSelectedWidget() const { |
| 769 | auto pane = m_guiList->selectedWidget(); |
nothing calls this directly
no test coverage detected