fbc4711d1f
Three fixes for timing and unusual input. - **NPC windows.** Seven NPC windows could fire their show before the `npc` token was set: gossip, quest, bank, taxi, stable, tabard and registrar. In 1.12.1 the packet handler sets `[0xb4e2d0]` before the show (`0x4e1fa0` → `0x4930d0`, then `0x4e27df`), so a show never draws the book icon with an empty name. All eleven latched window feeds now run after the unit feed, and a schedule test names any that do not. - **Faction slot.** The faction slot pick shifts a race or class byte as `dec ecx; shl` does (`0x4d5512`): 0 tests bit 31, 33 tests bit 0, and nothing panics. - **Pet clock.** The pet bar and pet book read cooldowns at the frame clock, so their expiry tests step time instead of sleeping. Three wrong comments are fixed. Fixes #2278 Fixes #2048 Fixes #2275 Fixes #1479 Fixes #1227 Fixes #2144 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>