Skip to content

Commit

Permalink
Fix move item callback (#4238)
Browse files Browse the repository at this point in the history
Closes #4193
  • Loading branch information
MillhioreBT committed Nov 4, 2022
1 parent 8a0fe3f commit bef1137
Showing 1 changed file with 13 additions and 2 deletions.
15 changes: 13 additions & 2 deletions src/game.cpp
Expand Up @@ -1851,11 +1851,22 @@ void Game::playerEquipItem(uint32_t playerId, uint16_t spriteId)

Item* slotItem = player->getInventoryItem(slot);
Item* equipItem = searchForItem(backpack, it.id);
Position fromPos, toPos;
uint8_t fromStackPos, toStackPos;
if (slotItem) {
internalGetPosition(slotItem, toPos, toStackPos);
}

if (equipItem) {
internalGetPosition(equipItem, fromPos, fromStackPos);
}

if (slotItem && slotItem->getID() == it.id && (!it.stackable || slotItem->getItemCount() == 100 || !equipItem)) {
internalMoveItem(slotItem->getParent(), player, CONST_SLOT_WHEREEVER, slotItem, slotItem->getItemCount(),
nullptr);
nullptr, 0, player, nullptr, &fromPos, &toPos);
} else if (equipItem) {
internalMoveItem(equipItem->getParent(), player, slot, equipItem, equipItem->getItemCount(), nullptr);
internalMoveItem(equipItem->getParent(), player, slot, equipItem, equipItem->getItemCount(), nullptr, 0, player,
nullptr, &fromPos, &toPos);
}
}

Expand Down

0 comments on commit bef1137

Please sign in to comment.