0b4b3ddc2c
Item locks came from pending-op bookkeeping, so unlocks reached the wrong items or none. Now a lock is a bit per item guid, set by LockItem (0x4953e0) and lifted by UnlockItem (0x495420) at the client's own sites: - pickups, places, swaps, the delete and the wrap; - UseContainerItem's arms, taken in the call in 0x4fa0e0's order (bank, deposit, sell, equip, open); - the watchers: a seat's guid changing, an arrival, a restack; - the inventory and sell refusals, loot closes, the bind-confirm cancel, the revive. Readers refuse a locked item where the client does (0x4f9e76, 0x5d8d32, 0x4fa1cd, 0x4fa4bf). Ammo equips by class and unlocks. A /reload carries the locks and the cursor, minus what the sweep's loot, mail and auction legs unlock. A despawned item loses its lock. Tests cover each site, reader, watcher and the reload. Fixes #1033 Fixes #242 Fixes #228 Fixes #354 Fixes #227 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>