GetContainerItemInfo() reports charged items (Wizard Oil, wands...) with
a negative count, so ProcessMoveQueueBatched() treated the slot as empty
and dropped the move. Use the item link to decide whether the source has
an item, and move charged items as a stack of 1. This left one item in a
bank bag being swapped, so the new bag couldn't be placed.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019W3rwt5PZSpEDkXYzRuRhH