6115f6bb20
The pet bar, pet unit, portrait, cooldowns and stable follow 1.12.1, and the pet and stable verbs send inside their call (Part of #2202). - Pet cooldowns from `SMSG_PET_SPELLS` start back-dated through `0x6e2c60`, with only bit 31 masked (`0x4bdaab`). - Feeding casts first and binds the food only on success (`0x6ea266`); `DropItemOnUnit` takes any token naming the pet (`0x48da6c`). - `CastPetAction` presses empty slots, drops a held action and plays its sound (`0x4be330`). - A pet with no object exists, unseen, with an empty portrait (`0x4e80cb`, `0x51a0ce`). - `UNIT_COMBAT` fires once per token naming the unit (`0x494600`). - A pet rename evicts the name cache by pet number (`0x604ac6`). - `UnstablePet` and the stable drops send to the stored master, as `0x4caf20` does. Tests pin each address. Built on macOS. Fixes #2161 Fixes #1598 Fixes #298 Fixes #180 Fixes #2006 Fixes #340 Fixes #187 Fixes #1414 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>