File Details
ItemRack Anniversary v4.33
- R
- Mar 20, 2026
- 144.95 KB
- 35.7K
- 2.5.5+1
- Classic + 1
File Name
ItemRack-bcc-anniversary-4.33.zip
Supported Versions
- 2.5.5
- 1.15.8
[4.33] - 2026-03-20
Bug Fixes
- Weapons Stuck on Cursor in Combat:
MoveItemnow verifies cursor state after each swap attempt. If the game blocksPickupInventoryItem(e.g. during combat lockdown), the item is immediately returned viaClearCursor()instead of being left stuck on the cursor. Prevents the "Swap stopped. Something is on the cursor." spam. - Failed Swaps Losing Items:
IterateSwapListno longer removes items from the swap list whenMoveItemfails. Failed items now stay in the swap list and properly fall through to the CombatQueue fallback instead of being silently dropped. - Stale Pending Swap Indicator: Fixed the pending swap overlay icon persisting after gear had already been swapped:
AddToCombatQueuenow checksSameIDagainst the currently equipped item, preventing items that are already equipped from being queued.UpdateCombatQueuesweeps stale entries (where queued item matches equipped) before rendering overlays.ProcessCombatQueuenow always refreshes overlay indicators at the end, even when the queue was already processed by a different path.OnUnitInventoryChangedsweeps the CombatQueue after every gear change, clearing entries where the queued item matches what's actually equipped.
- Combat API Race Condition:
EquipSetandEquipItemByIDusedUnitAffectingCombat()to decide whether to queue swaps, butProcessCombatQueueusedInCombatLockdown()to decide when to process them. Both now consistently useInCombatLockdown(). - Partial Swap Cursor Cleanup:
IterateSwapListnow callsClearCursor()after the swap loop if an item is stuck on the cursor from a partial swap. Additionally, if swaps fail during combat, remaining items are moved to CombatQueue instead of entering theSetSwappingwait state.
Improvements
- CombatQueue Debug Tag: Added
CombatQueueto the debug tag system for diagnosing swap queue issues. Enable with/script ItemRack.DebugTags.CombatQueue = true.