d9039e6db9
Aura and pet state reached the interface from per-frame feeds, so a listener at one packet read the frame's final state. In 1.12.1 each is written where its packet or call makes it. - **Pet GCD.** A pet cast's global cooldown is armed in the pet bar at the send (`0x6e58fb`), inside the cast. - **Happiness.** `UNIT_HAPPINESS` fires from the field watch (`0x515e7a`) inside its packet. - **Unit auras.** The aura getters read the unit's store live. - **Dispel list.** It is kept from the learn (`0x4b26a2`-`0x4b26ee`), so an unlearn leaves it. - **World entry.** The cascade rebuilds the buff cache at `0x490983`, so `PLAYER_AURAS_CHANGED` follows `PLAYER_ENTERING_WORLD` and comes ahead of the bag updates. Each fix has a test that fails without it. Part of #2168 and #2217. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>